QTRANS.EXE can transfer files to diskimage and write diskimage to floppy disk.
QTRANS [/diskformat] [/fileformat] [source] destination
These switches can be used with file structure, that doesn't force disk format. Possible disk formats:
Default disk format is used, when none is specified. Possible file formats:
destination | ||||
---|---|---|---|---|
drive | directory | diskimage | ||
source | none | formats floppy disk (if possible) | creates diskimage of the same name | creates empty diskimage if not exists unpacks existing diskimage |
drive | no action | copies files | creates diskimage | |
directory | copies files | no action | packs files into diskimage | |
diskimage | copies diskimage | unpacks files from diskimage | defragments files |
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.