Reference cards
File formats |
DI File Format Description
Programs
Used by disk drive emulators on STs.
Conventions
BEWORD - 16bit unsigned short (big endian)
BYTE - 8bit unsigned char
BYTE - 8bit unsigned char
Header
Type | Name | Description |
---|---|---|
BYTE | btMagic1 | 'D' |
BYTE | btMagic2 | 'I' |
BYTE | btVerLo (?) | 0x20 |
BYTE | btVerHi (?) | 0x02 |
CHAR[] | szCreator | ascii string of creating program |
BYTE | ? | ? |
BYTE | btTracks | tracks |
BEWORD | wSecPerTrack | sectors per track |
BEWORD | ? | flags? |
BEWORD | wSecSize | sector size |
BYTE | ? | ? |
Sector table
Then there is bytes table which is long (tracks * sec per track).
In every byte is stored checksum of corresponding sector.
Body
Then there are continuous sectors. If the sector is empty, it's not stored
in file. Upon reading, if the checksum byte is 0, corresponding sector is not
read.
Algorithm is simple - adding the bytes together with the carry. (0xFF + 0x01 = 0x01)
First three sectors of DD disk have only 0x80 bytes stored.
Algorithm is simple - adding the bytes together with the carry. (0xFF + 0x01 = 0x01)
First three sectors of DD disk have only 0x80 bytes stored.
(c) 1998-2004 Jindroush