#TITLE "TURBODOS OPERATING SYSTEM DRIVE SPECIFICATION TABLES" #SUBTTL "COPYRIGHT 1984, SOFTWARE 2000, INC." ; ; COPYRIGHT 1984, SOFTWARE 2000, INC. ; ; VERSION: 01/03/84 ; MODULE "DSKFMT" ;MODULE NAME ; #INCLUDE "DREQUATE" ;DRIVER SYMBOLIC EQUIVALENCES ; TSD == BYTE 1<<2 ;TWO-SIDED DISK BIT (TYPE CODE) DDD == BYTE 1<<3 ;DOUBLE DENSITY DISK BIT (TYPE CODE) MINI == BYTE 1<<4 ;MINI-FLOPPY DISK BIT (TYPE CODE) TPI96 == BYTE 1<<5 ;96-TPI DISK BIT (TYPE CODE) ; LOC Data# ;LOCATE IN DATA SEGMENT ; ; 1024 BYTE SECTOR, DOUBLE-DENSITY, TWO-SIDED ; DSTBLS::WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 4 ;BLOCK SIZE WORD (77*(16*(1<<3)))/(1<<4) ;NUMBER OF BLOCKS BYTE 4 ;NUMBER OF DIRECTORY BLOCKS BYTE 3 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 16 ;PHYSICAL SECTORS PER TRACK WORD 77 ;PHYSICAL TRACKS PER DISK WORD 0 ;NUMBER OF RESERVED TRACKS WORD 0 ;TRANSLATION TABLE ADDRESS BYTE DDD|TSD|3 ;DISK TYPE CODE BYTE 0x35 ;GAP LENGTH ; ; 1024 BYTE SECTOR, DOUBLE-DENSITY, TWO-SIDED, 96-TPI (MINI) ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 4 ;BLOCK SIZE WORD (80*(10*(1<<3)))/(1<<4) ;NUMBER OF BLOCKS BYTE 4 ;NUMBER OF DIRECTORY BLOCKS BYTE 3 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 10 ;PHYSICAL SECTORS PER TRACK WORD 80 ;PHYSICAL TRACKS PER DISK WORD 0 ;NUMBER OF RESERVED TRACKS WORD 0 ;TRANSLATION TABLE ADDRESS BYTE TPI96|MINI|DDD|TSD|3 ;DISK TYPE CODE BYTE 0x35 ;GAP LENGTH ; ; 1024 BYTE SECTOR, DOUBLE-DENSITY, TWO-SIDED (MINI) ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 4 ;BLOCK SIZE WORD (40*(10*(1<<3)))/(1<<4) ;NUMBER OF BLOCKS BYTE 2 ;NUMBER OF DIRECTORY BLOCKS BYTE 3 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 10 ;PHYSICAL SECTORS PER TRACK WORD 40 ;PHYSICAL TRACKS PER DISK WORD 0 ;NUMBER OF RESERVED TRACKS WORD 0 ;TRANSLATION TABLE ADDRESS BYTE MINI|DDD|TSD|3 ;DISK TYPE CODE BYTE 0x35 ;GAP LENGTH ; ; 1024 BYTE SECTOR, DOUBLE-DENSITY, ONE-SIDED ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 4 ;BLOCK SIZE WORD (77*(8*(1<<3)))/(1<<4) ;NUMBER OF BLOCKS BYTE 3 ;NUMBER OF DIRECTORY BLOCKS BYTE 3 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 8 ;PHYSICAL SECTORS PER TRACK WORD 77 ;PHYSICAL TRACKS PER DISK WORD 0 ;RESERVED TRACKS WORD 0 ;TRANSLATION TABLE ADDRESS BYTE DDD|3 ;DISK TYPE CODE BYTE 0x35 ;GAP LENGTH ; ; 1024 BYTE SECTOR, DOUBLE-DENSITY, ONE-SIDED, 96-TPI (MINI) ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 4 ;BLOCK SIZE WORD (80*(5*(1<<3)))/(1<<4) ;NUMBER OF BLOCKS BYTE 2 ;NUMBER OF DIRECTORY BLOCKS BYTE 3 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 5 ;PHYSICAL SECTORS PER TRACK WORD 80 ;PHYSICAL TRACKS PER DISK WORD 0 ;RESERVED TRACKS WORD 0 ;TRANSLATION TABLE ADDRESS BYTE TPI96|MINI|DDD|3 ;DISK TYPE CODE BYTE 0x35 ;GAP LENGTH ; ; 1024 BYTE SECTOR, DOUBLE-DENSITY, ONE-SIDED (MINI) ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 3 ;BLOCK SIZE WORD (40*(5*(1<<3)))/(1<<3) ;NUMBER OF BLOCKS BYTE 2 ;NUMBER OF DIRECTORY BLOCKS BYTE 3 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 5 ;PHYSICAL SECTORS PER TRACK WORD 40 ;PHYSICAL TRACKS PER DISK WORD 0 ;RESERVED TRACKS WORD 0 ;TRANSLATION TABLE ADDRESS BYTE MINI|DDD|3 ;DISK TYPE CODE BYTE 0x35 ;GAP LENGTH ; ; 512 BYTE SECTOR, DOUBLE-DENSITY, TWO-SIDED ; ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER ; BYTE 4 ;BLOCK SIZE ; WORD (77*(30*(1<<2)))/(1<<4) ;NUMBER OF BLOCKS ; BYTE 4 ;NUMBER OF DIRECTORY BLOCKS ; BYTE 2 ;PHYSICAL SECTOR SIZE (2^N*128) ; WORD 30 ;PHYSICAL SECTORS PER TRACK ; WORD 77 ;PHYSICAL TRACKS PER DISK ; WORD 0 ;RESERVED TRACKS ; WORD 0 ;TRANSLATION TABLE ADDRESS ; BYTE DDD|TSD|2 ;DISK TYPE CODE ; BYTE 0x1B ;GAP LENGTH ; ; 512 BYTE SECTOR, DOUBLE-DENSITY, ONE-SIDED ; ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER ; BYTE 4 ;BLOCK SIZE ; WORD (77*(15*(1<<2)))/(1<<4) ;NUMBER OF BLOCKS ; BYTE 3 ;NUMBER OF DIRECTORY BLOCKS ; BYTE 2 ;PHYSICAL SECTOR SIZE (2^N*128) ; WORD 15 ;PHYSICAL SECTORS PER TRACK ; WORD 77 ;PHYSICAL TRACKS PER DISK ; WORD 0 ;RESERVED TRACKS ; WORD 0 ;TRANSLATION TABLE ADDRESS ; BYTE DDD|2 ;DISK TYPE CODE ; BYTE 0x1B ;GAP LENGTH ; ; 512 BYTE SECTOR, SINGLE-DENSITY, TWO-SIDED ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 4 ;BLOCK SIZE WORD (77*(16*(1<<2)))/(1<<4) ;NUMBER OF BLOCKS BYTE 3 ;NUMBER OF DIRECTORY BLOCKS BYTE 2 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 16 ;PHYSICAL SECTORS PER TRACK WORD 77 ;PHYSICAL TRACKS PER DISK WORD 0 ;RESERVED TRACKS WORD 0 ;TRANSLATION TABLE ADDRESS BYTE TSD|2 ;DISK TYPE CODE BYTE 0x1B ;GAP LENGTH ; ; 512 BYTE SECTOR, SINGLE-DENSITY, ONE-SIDED ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 4 ;BLOCK SIZE WORD (77*(8*(1<<2)))/(1<<4) ;NUMBER OF BLOCKS BYTE 2 ;NUMBER OF DIRECTORY BLOCKS BYTE 2 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 8 ;PHYSICAL SECTORS PER TRACK WORD 77 ;PHYSICAL TRACKS PER DISK WORD 0 ;RESERVED TRACKS WORD 0 ;TRANSLATION TABLE ADDRESS BYTE 2 ;DISK TYPE CODE BYTE 0x1B ;GAP LENGTH ; ; 512 BYTE SECTOR, DOUBLE-DENSITY, TWO-SIDED (MINI) ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 4 ;BLOCK SIZE WORD (40*(16*(1<<2)))/(1<<4) ;NUMBER OF BLOCKS BYTE 2 ;NUMBER OF DIRECTORY BLOCKS BYTE 2 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 1 ;PHYSICAL SECTORS PER TRACK WORD 40*8*2 ;PHYSICAL TRACKS PER DISK WORD 1 ;RESERVED TRACKS WORD 0 ;TRANSLATION TABLE ADDRESS BYTE MINI|DDD|TSD|2 ;DISK TYPE CODE BYTE 0x1B ;GAP LENGTH ; ; 512 BYTE SECTOR, DOUBLE-DENSITY, ONE-SIDED (MINI) ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 3 ;BLOCK SIZE WORD (40*(8*(1<<2)))/(1<<3) ;NUMBER OF BLOCKS BYTE 2 ;NUMBER OF DIRECTORY BLOCKS BYTE 2 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 1 ;PHYSICAL SECTORS PER TRACK WORD 40*8 ;PHYSICAL TRACKS PER DISK WORD 1 ;RESERVED TRACKS WORD 0 ;TRANSLATION TABLE ADDRESS BYTE MINI|DDD|2 ;DISK TYPE CODE BYTE 0x1B ;GAP LENGTH ; ; 256 BYTE SECTOR, DOUBLE-DENSITY, TWO-SIDED ; ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER ; BYTE 4 ;BLOCK SHZET ; WORD (77*(52*(1<<1)))/(1<<4) ;NUMBER OF BLOCKS ; BYTE 4 ;NUMBER OF DIRECTORY BLOCKS ; BYTE 1 ;PHYSICAL SECTOR SIZE (2^N*128) ; WORD 52 ;PHYSICAL SECTORS PER TRACK ; WORD 77 ;PHYSICAL TRACKS PER DISK ; WORD 0 ;RESERVED TRACKS ; WORD 0 ;TRANSLATION TABLE ADDRESS ; BYTE DDD|TSD|1 ;DISK TYPE CODE ; BYTE 0x0E ;GAP LENGTH ; ; 256 BYTE SECTOR, DOUBLE-DENSITY, TWO-SIDED (NEC-APC COMPATABLE) ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER BYTE 4 ;BLOCK SHZET WORD (76*(52*(1<<1)))/(1<<4) ;NUMBER OF BLOCKS BYTE 4 ;NUMBER OF DIRECTORY BLOCKS BYTE 1 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 52 ;PHYSICAL SECTORS PER TRACK WORD 77 ;PHYSICAL TRACKS PER DISK WORD 1 ;RESERVED TRACKS WORD XLTAPC2D;TRANSLATION TABLE ADDRESS BYTE DDD|TSD|1 ;DISK TYPE CODE BYTE 0x0E ;GAP LENGTH ; ; 256 BYTE SECTOR, DOUBLE-DENSITY, ONE-SIDED ; ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER ; BYTE 4 ;BLOCK SIZE ; WORD (77*(26*(1<<1)))/(1<<4) ;NUMBER OF BLOCKS ; BYTE 2 ;NUMBER OF DIRECTORY BLOCKS ; BYTE 1 ;PHYSICAL SECTOR SIZE (2^N*128) ; WORD 26 ;PHYSICAL SECTORS PER TRACK ; WORD 77 ;PHYSICAL TRACKS PER DISK ; WORD 0 ;RESERVED TRACKS ; WORD 0 ;TRANSLATION TABLE ADDRESS ; BYTE DDD|1 ;DISK TYPE CODE ; BYTE 0x0E ;GAP LENGTH ; ; 256 BYTE SECTOR, SINGLE-DENSITY, TWO-SIDED ; ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER ; BYTE 4 ;BLOCK SIZE ; WORD (77*(30*(1<<1)))/(1<<4) ;NUMBER OF BLOCKS ; BYTE 3 ;NUMBER OF DIRECTORY BLOCKS ; BYTE 1 ;PHYSICAL SECTOR SIZE (2^N*128) ; WORD 30 ;PHYSICAL SECTORS PER TRACK ; WORD 77 ;PHYSICAL TRACKS PER DISK ; WORD 0 ;RESERVED TRACKS ; WORD 0 ;TRANSLATION TABLE ADDRESS ; BYTE TSD|1 ;DISK TYPE CODE ; BYTE 0x0E ;GAP LENGTH ; ; 256 BYTE SECTOR, SINGLE-DENSITY, ONE-SIDED ; ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER ; BYTE 4 ;BLOCK SIZE ; WORD (77*(15*(1<<1)))/(1<<4) ;NUMBER OF BLOCKS ; BYTE 2 ;NUMBER OF DIRECTORY BLOCKS ; BYTE 1 ;PHYSICAL SECTOR SIZE (2^N*128) ; WORD 15 ;PHYSICAL SECTORS PER TRACK ; WORD 77 ;PHYSICAL TRACKS PER DISK ; WORD 0 ;RESERVED TRACKS ; WORD 0 ;TRANSLATION TABLE ADDRESS ; BYTE 1 ;DISK TYPE CODE ; BYTE 0x0E ;GAP LENGTH ; ; 128 BYTE SECTOR, SINGLE-DENSITY, TWO-SIDED (OLD) ; ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER ; BYTE 4 ;BLOCK SIZE ; WORD (76*(52*(1<<0)))/(1<<4) ;NUMBER OF BLOCKS ; BYTE 2 ;NUMBER OF DIRECTORY BLOCKS ; BYTE 0 ;PHYSICAL SECTOR SIZE (2^N*128) ; WORD 52 ;PHYSICAL SECTORS PER TRACK ; WORD 77 ;PHYSICAL TRACKS PER DISK ; WORD 1 ;RESERVED TRACKS ; WORD 0 ;TRANSLATION TABLE ADDRESS ; BYTE TSD ;DISK TYPE CODE ; BYTE 7 ;GAP LENGTH ; ; 128 BYTE SECTOR, SINGLE-DENSITY, TWO-SIDED ; ; WORD .+DSTL ;DISK SPEC TABLE LINK POINTER ; BYTE 4 ;BLOCK SIZE ; WORD (77*(52*(1<<0)))/(1<<4) ;NUMBER OF BLOCKS ; BYTE 2 ;NUMBER OF DIRECTORY BLOCKS ; BYTE 0 ;PHYSICAL SECTOR SIZE (2^N*128) ; WORD 52 ;PHYSICAL SECTORS PER TRACK ; WORD 77 ;PHYSICAL TRACKS PER DISK ; WORD 0 ;RESERVED TRACKS ; WORD 0 ;TRANSLATION TABLE ADDRESS ; BYTE TSD ;DISK TYPE CODE ; BYTE 7 ;GAP LENGTH ; ; 128 BYTE SECTOR, SINGLE-DENSITY, ONE-SIDED ; DSTA: WORD 0 ;DISK SPEC TABLE LINK POINTER DSTB: BYTE 3 ;BLOCK SIZE WORD (75*(26*(1<<0)))/(1<<3) ;NUMBER OF BLOCKS BYTE 2 ;NUMBER OF DIRECTORY BLOCKS BYTE 0 ;PHYSICAL SECTOR SIZE (2^N*128) WORD 26 ;PHYSICAL SECTORS PER TRACK WORD 77 ;PHYSICAL TRACKS PER DISK WORD 2 ;RESERVED TRACKS ; XLTBL ==: .-DSTB ;TRANSLATION TABLE ADDRESS OFFSET ; WORD &TRTBL ;TRANSLATION TABLE ADDRESS ; DTCO ==: .-DSTA ;DISK TYPE CODE OFFSET TYPCOD ==: .-DSTB ;DISK TYPE CODE OFFSET ; BYTE 0 ;DISK TYPE CODE ; GAPLEN ==: .-DSTB ;GAP LENGTH OFFSET ; BYTE 7 ;GAP LENGTH ; DSTL == .-DSTA ;DISK SPEC TABLE LENGTH ; ; SINGLE-DENSITY/SINGLE-SIDED SECTOR TRANSLATION TABLE ; TRTBL: BYTE 0,6,12,18,24,4,10,16,22 BYTE 2,8,14,20,1,7,13,19,25 BYTE 5,11,17,23,3,9,15,21 ; ; NEC-APC 2D FORMAT TYPE TRANSLATION TABLE ; XLTAPC2D: BYTE 0,3,6,9,12,15,18,21,24 BYTE 1,4,7,10,13,16,19,22,25 BYTE 2,5,8,11,14,17,20,23 BYTE 26,29,32,35,38,41,44,47,50 BYTE 27,30,33,36,39,42,45,48,51 BYTE 28,31,34,37,40,43,46,49 ; END