Hi!
My qestions are:
1. Does SAM emulators support the "MV - CPC" format
for "*.DSK" files? (Used e.g. to store ZX+3 disks.)
2. What will happen when I "insert" a 720kB raw ".DSK"
diskimage? (I would like it to be seen as 2 sides of 80
tracks of 9 sectors [1..9] of 512 bytes.)
BTW I've made a MS-DOS tool that makes QED820 disk ".DSK"
diskimage (CP/M format, 820kB with boot sectors) from
MS-DOS files and also initializes boot sector when
"CPM22SAM.SYS" file is present.
--
Yarek.
Cuted from "READ_E.ME" file of CPCEMU v1.4 emulator by Marco Vieth (1996).
7.7.1 Disc Images
------------------
Disc image files consist of a 0x100-byte disc info block and for
each track a 0x100-byte track info block, followed by the data for
every sector in that track.
The new extended disk format is intended for some copy protected disks.
Parts which are new in the extended format are marked with *E*
(from our Extended DISK Format Proposal, Rev.5).
The Disc Information block
--------------------------
Byte (hex): Meaning:
00 - 21 "MV - CPCEMU Disk-File\r\nDisk-Info\r\n"
("MV - CPC" is characteristic)
*E* "EXTENDED CPC DSK File\r\n\Disk-Info\r\n"
*E* ("EXTENDED" is characteristic)
22 - 2F unused (0)
*E* DSK creator (name of the utility) (no ending \0 needed!)
30 number of tracks (40, 42, maybe 80)
31 number of heads (1 or 2)
32 - 33 size of one track (including 0x100-byte track info)
With 9 sectors * 0x200 bytes + 0x100 byte track
info = 0x1300.
*E* unused (0)
34 - FF unused (0)
*E* high bytes of track sizes for all tracks
(computed in the same way as 32-33 for the normal format).
For single sided formats the table contains track sizes
of just one side, otherwise for two alternating sides.
A size of value 0 indicates an unformatted track.
Actual track data length = table value * 256
Keep in mind that the image contains additional 256 bytes
for each track info.
The Track Information block (for every track)
---------------------------------------------
Byte (hex): Meaning:
00 - 0C Track-Info\r\n
0D - 0F unused (0)
10 track number (0 to number of tracks-1)
11 head number (0 or 1)
12 - 13 unused (0)
Format track parameters:
14 BPS (bytes per sector) (2 for 0x200 bytes)
15 SPT (sectors per track) (9, at the most 18)
16 GAP#3 format (gap for formatting; 0x4E)
17 Filling byte (filling byte for formatting; 0xE5)
Sector info (for every sector at a time):
18+i track number \
19+i head number | sector ID information
1A+i Sector number |
1B+i BPS /
1C+i state 1 error code (0)
1D+i State 2 error code (0)
1E+i,1F+i unused (0)
*E* sector data length in bytes (little endian notation)
This allows different sector sizes in a track.
It is computed as (0x0080 << real_BPS).
Annotations:
The sector data must follow the track information block in the
order of the sector IDs. No track or sector may be omitted.
With double sided formats, the tracks are alternating,
e.g. track 0 head 0, track 0 head 1, track 1 ...
Use CPCTRANS to copy CPC discs into this format.