|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 27264 (0x6a80) Types: TextFile Names: »WDRIVES.ASM«
└─⟦a844860b7⟧ Bits:30002858 CP/M Plus (tm) Version 3.0 for JET80 └─ ⟦this⟧ »WDRIVES.ASM« └─⟦c10cc8855⟧ Bits:30002859 CP/M Plus med Hit & Dit filoverførsel for JET80 └─ ⟦this⟧ »WDRIVES.ASM«
TITLE 'WDRIVES.ASM TABLES FOR DISKETTE AND WINCHESTER' ;************************************************************** ;* * ;* MODULE FOR DEFINING THE FLOPPY- AND WINCHER- * ;* UNITS IN THE SYSTEM. * ;* * ;************************************************************** ; LATEST CHANGE: 1985-01-21. PSW ; BIOSREVISION D. ; FOR THE RMAC ASSEMBLER TRUE EQU 0FFH FALSE EQU 0 PAGE 60 ;****************************************************************** ; What kind of floppy do You want ? VERIFY EQU TRUE ; Verify after write. M8 EQU FALSE ; A: 8" 2x77x8x1024, 256 ent. UNIT0 ; D: 8" 1x77x26x128, 64 ent. UNIT0 M5 EQU FALSE ; A: 5" 2x77x8x1024, 256 ent. UNIT0 ; D: 8" 1x77x26x128, 64 ent. UNIT0 MIN96 EQU TRUE ; A: 5" 2x80x5x1024, 128 ent. UNIT0 ; D: 8" 1x77x26x128, 64 ent. UNIT0 ; MARK CORRECT FLOPPPY TYPE WITH TRUE. NOTE ONLY ONE TRUE. ;****************************************************************** ;****************************************************************** ; What kind of winchester do You want ? ; Note: All drives have the innermost cylinder reserved for ; parking zone. RO104 EQU FALSE ; Rodime 104 512-1024 ent./ 2K block size RO201 EQU FALSE ; Rodime 201 512-1024 ent./ 2K block size RO204 EQU FALSE ; Rodime 204 1024 ent./ 2K block size RO204E EQU FALSE ; Rodime 204 E 2048 ent./ 4K block size RO352 EQU TRUE ; Rodime 352 512-1024 ent./ 2K block size XT1065 EQU FALSE ; Maxtor XT-1065 2048 ent./ 4K block size XT1085 EQU FALSE ; Maxtor XT-1085 2048 ent./ 4K block size CDC36 EQU FALSE ; CDC 9415-36 2048 ent./ 4K block size CDC86 EQU FALSE ; CDC 9415-86 2048 ent./ 4K block size ; And how many ? One or two ? TWOWINS EQU FALSE ;****************************************************************** ; Diskdrive size and number of directory entries. E512 EQU TRUE ; 512 ENTRIES E1024 EQU FALSE ; 1024 ENTRIES REDUCE EQU 44 ; # of kBytes to reduce from second ; winchester unit. ;NOTE. The size of this reduce factor is depending on how many bad ; tracks the formatter utility has found on the disk. ; If the formatter tells You that it has reduced more kBytes ; than this factor, You must change this factor immediatly ; and generate a new operating system before copying any files ; to the winchester. ;***************************************************************** ;****************************************************************** ; Consult the XEBEC-manual for the two following constants: ; XEBEC 1410A Controller: ; 1xxxxxxx ; No retry ; 0xxxxxxx ; Retry 4 times ; x1xxxxxx ; No retry a read of sector that contains ; a data error before error correction. ; x0xxxxxx ; Reread before error correction ; xxx1xxxx ; Disk has servo information. ; xxx0xxxx ; No servo information. ; xxxx0000 ; 3 msec step rate ; xxxx0001 ; reserved (for servo) ; xxxx0010 ; -"- ; xxxx0011 ; -"- ; xxxx0100 ; 200 usec buffered step ; xxxx0101 ; 70 usec buffered step ; xxxx0110 ; 30 usec buffered step ; xxxx0111 ; 15 usec buffered step IF RO104 LEAV EQU 7 ; INTERLEAV FACTOR used at formatting. RESTEP EQU 00000100B ; RETRY & BUFF STEP OPTION. ENDIF IF RO201 LEAV EQU 7 ; INTERLEAV FACTOR used at formatting. RESTEP EQU 00000100B ; RETRY & BUFF STEP OPTION. ENDIF IF RO204 LEAV EQU 7 ; INTERLEAV FACTOR used at formatting. RESTEP EQU 00000100B ; RETRY & BUFF STEP OPTION. ENDIF IF RO204E LEAV EQU 7 ; INTERLEAV FACTOR used at formatting. RESTEP EQU 00000100B ; RETRY & BUFF STEP OPTION. ENDIF IF RO352 LEAV EQU 7 ; INTERLEAV FACTOR used at formatting. RESTEP EQU 00000100B ; RETRY & BUFF STEP OPTION. ENDIF IF XT1065 LEAV EQU 7 ; INTERLEAV FACTOR used at formatting. RESTEP EQU 00010111B ; RETRY & BUFF STEP OPTION. ENDIF IF XT1085 LEAV EQU 7 ; INTERLEAV FACTOR used at formatting. RESTEP EQU 00010111B ; RETRY & BUFF STEP OPTION. ENDIF IF CDC36 LEAV EQU 7 ; INTERLEAV FACTOR used at formatting. RESTEP EQU 00010111B ; RETRY & BUFF STEP OPTION. ENDIF IF CDC86 LEAV EQU 7 ; INTERLEAV FACTOR used at formatting. RESTEP EQU 00010111B ; RETRY & BUFF STEP OPTION. ENDIF PAGE ; CONSTANTS: RATE0 EQU 00000000B ; Floppy step rate 3ms/6ms RATE1 EQU 00000001B ; Floppy step rate 6ms/12ms RATE2 EQU 00000010B ; Floppy step rate 10ms/20ms RATE3 EQU 00000011B ; Floppy step rate 15ms/30ms UNIT0 EQU 00000000B ; Floppy phys. unit 0 UNIT1 EQU 00000001B ; Floppy phys. unit 1 UNIT2 EQU 00000010B ; Floppy phys. unit 2 UNIT3 EQU 00000011B ; Floppy phys. unit 3 WUNIT0 EQU 00000000B ; Winchester phys. unit 0 WUNIT1 EQU 00100000B ; Winchester phys. unit 1 INCH5 EQU 00001000B ; 5"-FLOPPY INCH8 EQU 11010100B ; 8"-FLOPPY DOUBLD EQU 00000000B ; DOUBLE DENSITY SINGLD EQU 00100000B ; SINGLE DENSITY COMM EQU 0BCH ; COMMON PAGE IN SYSTEM IF E512 ENT EQU 512 AL1 EQU 0 ELSE ENT EQU 1024 AL1 EQU 0FFH ENDIF IF M8 SIGN EQU '8' ELSE SIGN EQU '5' ENDIF PAGE EXTRN FDREAD,FDWRIT,FDLGIN,FDINIT EXTRN WREAD,WWRIT,WINIT,WINITD,WLGIN PUBLIC @DTBL,?TITEL PUBLIC @COMMO CSEG @DTBL: DW FLA,WINA,WINB,FLD ; This order must not be changed. ; Check boot-routine in ; BIOSKRNL.Z80 IF TWOWINS DW WINC,WIND SIGN0 EQU '2' ELSE DW 0,0 SIGN0 EQU '1' ENDIF DW 0,0 DW 0,0,0,0▶8a◀ DW 0,0,0,0 @COMMO: DB COMM PAGE DSEG ; Define WINCHESTER UNIT 0. DW WWRIT DW WREAD DW WLGIN DW WINIT DB WUNIT0 ; PHYSICAL UNIT FOR XEBEC.▶8a◀ DB 0 WINA: DW 0 ; NO TRANS TABLE DB 0,0,0,0,0,0,0,0,0 DB 0 ; MEDIAFLAGG DW WIN0 ; ADDRESS TO DPB DW 0 ; NO CHECKSUM VECTOR DW 0FFFEH ; ALLOC VECTOR GEN. BY GENCPM DW 0FFFEH,0FFFEH ; LET GENCPM CALC DW 0FFFEH ; DIRBCB, DTABCB, HASH DB 0 ; HASH BANK. ; Define WINCHESTER UNIT 1. DW WWRIT DW WREAD DW WLGIN DW WINITD DB WUNIT0 ; PHYSICAL UNIT FOR XEBEC. DB 0 WINB: DW 0 ; NO TRANS TABLE DB 0,0,0,0,0,0,0,0,0 DB 0 ; MEDIAFLAGG DW WIN1 ; ADDRESS TO DPB DW 0 ; NO CHECKSUM VECTOR DW 0FFFEH ; ALLOC VECTOR GEN. BY GENCPM DW 0FFFEH,0FFFEH ; LET GENCPM CALC DW 0FFFEH ; DIRBCB, DTABCB, HASH DB 0 ; HASH BANK. IF TWOWINS ; Define WINCHESTER UNIT 0. DW WWRIT DW WREAD DW WLGIN DW WINITD DB WUNIT1 ; PHYSICAL UNIT FOR XEBEC.▶8a◀ DB 0 WINC: DW 0 ; NO TRANS TABLE DB 0,0,0,0,0,0,0,0,0 DB 0 ; MEDIAFLAGG DW WIN0 ; ADDRESS TO DPB DW 0 ; NO CHECKSUM VECTOR DW 0FFFEH ; ALLOC VECTOR GEN. BY GENCPM DW 0FFFEH,0FFFEH ; LET GENCPM CALC DW 0FFFEH ; DIRBCB, DTABCB, HASH DB 0 ; HASH BANK. ; Define WINCHESTER UNIT 1. DW WWRIT DW WREAD DW WLGIN DW WINITD DB WUNIT1 ; PHYSICAL UNIT FOR XEBEC. DB 0 WIND: DW 0 ; NO TRANS TABLE DB 0,0,0,0,0,0,0,0,0 DB 0 ; MEDIAFLAGG DW WIN1 ; ADDRESS TO DPB DW 0 ; NO CHECKSUM VECTOR DW 0FFFEH ; ALLOC VECTOR GEN. BY GENCPM DW 0FFFEH,0FFFEH ; LET GENCPM CALC DW 0FFFEH ; DIRBCB, DTABCB, HASH DB 0 ; HASH BANK. ENDIF IF M8 ; Define 8" 2x77x8x1024, 256 entries. UNIT A: DW FDWRIT DW FDREAD DW FDLGIN DW FDINIT DB INCH8+UNIT0+DOUBLD ; $FDXSL DB 0 ; FLA: DW 0 ; NO TRANS TABLE DB 0,0,0,0,0,0,0,0,0 DB 0 ; MEDIAFLAGG DW F8D ; ADDRESS TO DPB DW 0FFFEH ; CHECKSUM VECTOR GEN. BY GENCPM DW 0FFFEH ; ALLOC VECTOR GEN. BY GENCPM DW 0FFFEH,0FFFEH ; LET GENCPM CALC DW 0FFFEH ; DIRBCB, DTABCB, HASH DB 0 ; HASH BANK. ENDIF IF M5 ; Define 5.25" 2x77x8x1024, 256 entries. UNIT A: DW FDWRIT DW FDREAD DW FDLGIN DW FDINIT DB INCH5+UNIT0+DOUBLD+11000000B ; $FDXSL 2 MHz 8" Mode DB 0 ; FLA: DW 0 ; NO TRANS TABLE DB 0,0,0,0,0,0,0,0,0 DB 0 ; MEDIAFLAGG DW F5MAX ; ADDRESS TO DPB DW 0FFFEH ; CHECKSUM VECTOR GEN BY GENCPM DW 0FFFEH ; ALLOC VECTOR GEN BY GENCPM DW 0FFFEH,0FFFEH ; LET GENCPM CALC DW 0FFFEH ; DIRBCB, DTABCB, HASH DB 0 ; HASH BANK. ENDIF IF MIN96 ; Define 5.25" 2x80x5x1024, 128 entries. UNIT A: DW FDWRIT DW FDREAD DW FDLGIN DW FDINIT DB INCH5+UNIT0+DOUBLD ; $FDXSL DB 0 ; FLA: DW 0 ; NO TRANS TABLE DB 0,0,0,0,0,0,0,0,0 DB 0 ; MEDIAFLAGG DW F596D ; ADDRESS TO DPB DW 0FFFEH ; CHECKSUM VECTOR GEN BY GENCPM DW 0FFFEH ; ALLOC VECTOR GEN BY GENCPM DW 0FFFEH,0FFFEH ; LET GENCPM CALC DW 0FFFEH ; DIRBCB, DTABCB, HASH DB 0 ; HASH BANK. ENDIF ; Define 8" 1x77x26x128, 64 entries (IBM). UNIT D: DW FDWRIT DW FDREAD DW FDLGIN DW FDINIT DB INCH8+UNIT0+SINGLD ; $FDXSL DB 0 ; FLD: DW TRANS ; TRANS TABLE DB 0,0,0,0,0,0,0,0,0 DB 0 ; MEDIAFLAGG DW F8S ; ADDRESS TO DPB DW 0FFFEH ; CHECKSUM VECTOR GEN. BY GENCPM DW 0FFFEH ; ALLOC VECTOR GEN. BY GENCPM DW 0FFFEH,0FFFEH ; LET GENCPM CALC DW 0FFFEH ; DIRBCB, DTABCB, HASH DB 0 ; HASH BANK. CSEG ; DPB for 8" 2x77x8x1024, 256 entries. F8D: DW 64 ; Number of logical sect/track DB 4,0FH ; BLOCK SKIFT and MASK DB 0 ; EXTENT MASK DW 607 ; MAX BLOCKNUMBER DW 256-1 ; 256 DIR. ENTRIES DB 0F0H,0 ; ALLOC VECTOR TO DIR DW 256/4 ; CHECKSUMMA SIZE DW 2 ; NUMBER OF OFFSET TRACKS DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT-MASK DB 0 ; Floppy DB 8 ; No. of log.sec./phys. sec. DB 22 ; Read time out DB 19 ; Write time out DB 0FFH ; Double sided DB VERIFY ; Verify after write DB RATE0 ; Step rate DB INCH8+DOUBLD ; Boot select DB 0,0,0,0,0,0 ; Dummies ; DPB for 8" 1x77x26x128, 64 entries. (IBM) F8S: DW 26 ; No. of logical sectors/track. DB 3,7 ; BLOCK SKIFT AND MASK DB 0 ; EXTENT MASK DW 242 ; MAX BLOCKNUMBER DW 64-1 ; 64 DIR. ENTRIES DB 0C0H,0 ; ALLOC VECTOR TO DIR DW 64/4 ; CHECKSUM SIZE DW 2 ; OFFSET TRACK DB 0 ; PHYS.SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT-MASK DB 0 ; Floppy DB 1 ; No. of logical sectors/phys. sector. DB 22 ; Read time out DB 19 ; Write time out DB 0 ; Single sided DB VERIFY ; Verify after write DB RATE0 ; Step rate DB INCH8+SINGLD ; Boot select DB 0,0,0,0,0,0 ; Dummies ; DPB for 5.25" 2x77x8x1024, 256 entries. F5MAX: DW 64 ; No. of logical sectors/track. DB 4,0FH ; BLOCK SKIFT AND MASK DB 0 ; EXTENT MASK DW 607 ; MAX BLOCKNUMBER DW 256-1 ; 256 DIR. ENTRIES DB 0F0H,0 ; ALLOC VECTOR TO DIR DW 256/4 ; CHECKSUM SIZE DW 2 ; OFFSET TRACKS DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT-MASK DB 0 ; Floppy DB 8 ; No. of logical sectors/phys. sector. DB 22 ; Read time out DB 19 ; Write time out DB 0FFH ; Double sided DB VERIFY ; Verify after write DB RATE0 ; Step rate DB INCH5+DOUBLD+11000000B ; Boot select DB 0,0,0,0,0,0 ; Dummies ; DPB for 5.25" 2x80x5x1024, 128 entries. F596D: DW 40 ; No. of logical sectors/track. DB 4,0FH ; BLOCK SKIFT AND MASK DB 0 ; EXTENT MASK DW 394 ; MAX BLOCKNUMBER DW 128-1 ; 128 DIR. ENTRIES DB 0C0H,0 ; ALLOC VECTOR TO DIR DW 128/4 ; CHECKSUM SIZE DW 2 ; OFFSET TRACKS DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT-MASK DB 0 ; Floppy DB 8 ; No. of logical sectors/phys. sector. DB 22 ; Read time out DB 19 ; Write time out DB 0FFH ; Double sided DB VERIFY ; Verify after write DB RATE0 ; Step rate DB INCH5+DOUBLD ; Boot select DB 0,0,0,0,0,0 ; Dummies ; Winchester: Rodime 104 IF RO104 SIGN1 EQU '1' SIGN2 EQU '3' WIN0: DW 68 ; No of logical sectors/track. DB 4,0FH ; BLOCK SHIFT AND MASK (size = 2K)▶8a◀ DB 0 ; EXTENT MASK DW 3229 ; MAX BLOCKNUMMER DW ENT-1 ; DIR. ENTRIES DB 0FFH,AL1 ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1 ; OFFSET TRACKS DB 0 ; Phys. sector size DB 0 ; Phys. sector shift mask. DB 1 ; Winchester 1st. part. DB 4 ; No. of logical sector/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-0 ; No of cylinders Hbyte DB 255-192 ; - " - Lbyte DB 255-8 ; No of heads. DB 255-0 ; Red. write cyl Hbyte DB 255-96 ; - " - Lbyte DB 255-0 ; Write precomp. cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-11 ; ECC WIN1: DW 68 ; No. of logical sectors/track. DB 4,0FH ; BLOCK SKIFT AND MASK (size = 2K) DB 0 ; EXTENT MASK DW 3258-(REDUCE/2) ; MAX BLOCKNUMBER DW ENT-1 ; DIR. ENTRIES DB 0FFH,AL1 ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 761 ; OFFSET TRACK DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT MASK DB 2 ; Winchester 2nd part. DB 4 ; No of logical sectors/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-0 ; No of cylinders Hbyte DB 255-192 ; - " - Lbyte DB 255-8 ; No. of heads. DB 255-0 ; Red. write cyl Hbyte DB 255-96 ; - " - Lbyte DB 255-0 ; Write precomp. cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-11 ; ECC ENDIF ; Winchester: Rodime 201 IF RO201 SIGN1 EQU ' ' SIGN2 EQU '5' WIN0: DW 68 ; No of logical sectors/track. DB 4,0FH ; BLOCK SHIFT AND MASK (size = 2K)▶8a◀ DB 0 ; EXTENT MASK DW 1350 ; MAX BLOCKNUMMER DW ENT-1 ; DIR. ENTRIES DB 0FFH,AL1 ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1 ; OFFSET TRACKS DB 0 ; Phys. sector size DB 0 ; Phys. sector shift mask. DB 1 ; Winchester 1st. part. DB 4 ; No. of logical sector/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-1 ; No of cylinders Hbyte DB 255-65 ; - " - Lbyte DB 255-2 ; No of heads. DB 255-0 ; Red. write cyl Hbyte DB 255-132 ; - " - Lbyte DB 255-0 ; Write precomp. cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-11 ; ECC WIN1: DW 68 ; No. of logical sectors/track. DB 4,0FH ; BLOCK SKIFT AND MASK (size = 2K) DB 0 ; EXTENT MASK DW 1363-(REDUCE/2) ; MAX BLOCKNUMBER DW ENT-1 ; DIR. ENTRIES DB 0FFH,AL1 ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 319 ; OFFSET TRACK DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT MASK DB 2 ; Winchester 2nd part. DB 4 ; No of logical sectors/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-1 ; No of cylinders Hbyte DB 255-65 ; - " - Lbyte DB 255-2 ; No. of heads. DB 255-0 ; Red. write cyl Hbyte DB 255-132 ; - " - Lbyte DB 255-0 ; Write precomp. cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-11 ; ECC ENDIF ; Winchester: Rodime 204 IF RO204 SIGN1 EQU '2' SIGN2 EQU '1' WIN0: DW 68 ; No of logical sectors/track. DB 4,0FH ; BLOCK SHIFT AND MASK (size = 2K)▶8a◀ DB 0 ; EXTENT MASK DW 5396 ; MAX BLOCKNUMMER DW 1024-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1 ; OFFSET TRACKS DB 0 ; Phys. sector size DB 0 ; Phys. sector shift mask. DB 1 ; Winchester 1st. part. DB 4 ; No. of logical sector/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-1 ; No of cylinders Hbyte DB 255-65 ; - " - Lbyte DB 255-8 ; No of heads. DB 255-0 ; Red. write cyl Hbyte DB 255-132 ; - " - Lbyte DB 255-0 ; Write precomp. cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-11 ; ECC WIN1: DW 68 ; No. of logical sectors/track. DB 4,0FH ; BLOCK SKIFT AND MASK (size = 2K) DB 0 ; EXTENT MASK DW 5477-(REDUCE/2) ; MAX BLOCKNUMBER DW 1024-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1271 ; OFFSET TRACK DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT MASK DB 2 ; Winchester 2nd part. DB 4 ; No of logical sectors/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-1 ; No of cylinders Hbyte DB 255-65 ; - " - Lbyte DB 255-8 ; No. of heads. DB 255-0 ; Red. write cyl Hbyte DB 255-132 ; - " - Lbyte DB 255-0 ; Write precomp. cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-11 ; ECC ENDIF ; Winchester: Rodime 204 E IF RO204E SIGN1 EQU '4' SIGN2 EQU '3' WIN0: DW 68 ; No of logical sectors/track. DB 5,31 ; BLOCK SHIFT AND MASK (size = 4K)▶8a◀ DB 1 ; EXTENT MASK DW 5311 ; MAX BLOCKNUMMER DW 2048-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1 ; OFFSET TRACKS DB 0 ; Phys. sector size DB 0 ; Phys. sector shift mask. DB 1 ; Winchester 1st. part. DB 4 ; No. of logical sector/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-2 ; No of cylinders Hbyte DB 255-128 ; - " - Lbyte DB 255-8 ; No of heads. DB 255-0 ; Red. write cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-0 ; Write precomp. cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-11 ; ECC WIN1: DW 68 ; No. of logical sectors/track. DB 5,31 ; BLOCK SKIFT AND MASK (size = 4K) DB 1 ; EXTENT MASK DW 5547-(REDUCE/4) ; MAX BLOCKNUMBER DW 2048-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 2501 ; OFFSET TRACK DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT MASK DB 2 ; Winchester 2nd part. DB 4 ; No of logical sectors/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-2 ; No of cylinders Hbyte DB 255-128 ; - " - Lbyte DB 255-8 ; No. of heads. DB 255-0 ; Red. write cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-0 ; Write precomp. cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-11 ; ECC ENDIF ▶bb◀ Winchester▶ba◀ Rodim▶e5◀ 352 IF RO352 SIGN1 EQU '1' SIGN2 EQU '0' WIN0: DW 68 ; No of logical sectors/track. DB 4,0FH ; BLOCK SHIFT AND MASK (size = 2K)▶8a◀ DB 0 ; EXTENT MASK DW 2549 ; MAX BLOCKNUMMER DW ENT-1 ; DIR. ENTRIES DB 0FFH,AL1 ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1 ; OFFSET TRACKS DB 0 ; Phys. sector size DB 0 ; Phys. sector shift mask. DB 1 ; Winchester 1st. part. DB 4 ; No. of logical sector/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-1 ; No of cylinders Hbyte DB 255-50 ; - " - Lbyte DB 255-4 ; No of heads. DB 255-0 ; Red. write cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-0 ; Write precomp. cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-11 ; ECC WIN1: DW 68 ; No. of logical sectors/track. DB 4,0FH ; BLOCK SKIFT AND MASK (size = 2K) DB 0 ; EXTENT MASK DW 2629-(REDUCE/2) ; MAX BLOCKNUMBER DW ENT-1 ; DIR. ENTRIES DB 0FFH,AL1 ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 601 ; OFFSET TRACK DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT MASK DB 2 ; Winchester 2nd part. DB 4 ; No of logical sectors/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-1 ; No of cylinders Hbyte DB 255-50 ; - " - Lbyte DB 255-4 ; No. of heads. DB 255-0 ; Red. write cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-0 ; Write precomp. cyl Hbyte DB 255-0 ; - " - Lbyte DB 255-11 ; ECC ENDIF ▶bb◀ Winchester▶ba◀ Maxtor XT-1065 IF XT1065 SIGN1 EQU '5' SIGN2 EQU '4' WIN0: DW 68 ; No of logical sectors/track. DB 5,31 ; BLOCK SHIFT AND MASK (size = 4K)▶8a◀ DB 1 ; EXTENT MASK DW 6799 ; MAX BLOCKNUMMER DW 2048-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1 ; OFFSET TRACKS DB 0 ; Phys. sector size DB 0 ; Phys. sector shift mask. DB 1 ; Winchester 1st. part. DB 4 ; No. of logical sector/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-3 ; No of cylinders Hbyte DB 255-150 ; - " - Lbyte DB 255-7 ; No of heads. DB 255-3 ; Red. write cyl Hbyte DB 255-152 ; - " - Lbyte DB 255-3 ; Write precomp. cyl Hbyte DB 255-152 ; - " - Lbyte DB 255-11 ; ECC WIN1: DW 68 ; No. of logical sectors/track. DB 5,31 ; BLOCK SKIFT AND MASK (size = 4K) DB 1 ; EXTENT MASK DW 6837-(REDUCE/4) ; MAX BLOCKNUMBER DW 2048-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 3201 ; OFFSET TRACK DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT MASK DB 2 ; Winchester 2nd part. DB 4 ; No of logical sectors/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-3 ; No of cylinders Hbyte DB 255-150 ; - " - Lbyte DB 255-7 ; No. of heads. DB 255-3 ; Red. write cyl Hbyte DB 255-152 ; - " - Lbyte DB 255-3 ; Write precomp. cyl Hbyte DB 255-152 ; - " - Lbyte DB 255-11 ; ECC ENDIF ▶bb◀ Winchester▶ba◀ Maxtor XT-1085 IF XT1085 SIGN1 EQU '6' SIGN2 EQU '8' WIN0: DW 68 ; No of logical sectors/track. DB 5,31 ; BLOCK SHIFT AND MASK (size = 4K)▶8a◀ DB 1 ; EXTENT MASK DW 8499 ; MAX BLOCKNUMMER DW 2048-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1 ; OFFSET TRACKS DB 0 ; Phys. sector size DB 0 ; Phys. sector shift mask. DB 1 ; Winchester 1st. part. DB 4 ; No. of logical sector/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-4 ; No of cylinders Hbyte DB 255-0 ; - " - Lbyte DB 255-8 ; No of heads. DB 255-4 ; Red. write cyl Hbyte DB 255-2 ; - " - Lbyte DB 255-4 ; Write precomp. cyl Hbyte DB 255-2 ; - " - Lbyte DB 255-11 ; ECC WIN1: DW 68 ; No. of logical sectors/track. DB 5,31 ; BLOCK SKIFT AND MASK (size = 4K) DB 1 ; EXTENT MASK DW 8887-(REDUCE/4) ; MAX BLOCKNUMBER DW 2048-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 4001 ; OFFSET TRACK DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT MASK DB 2 ; Winchester 2nd part. DB 4 ; No of logical sectors/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-4 ; No of cylinders Hbyte DB 255-0 ; - " - Lbyte DB 255-8 ; No. of heads. DB 255-4 ; Red. write cyl Hbyte DB 255-2 ; - " - Lbyte DB 255-4 ; Write precomp. cyl Hbyte DB 255-2 ; - " - Lbyte DB 255-11 ; ECC ENDIF ▶bb◀ Winchester▶ba◀ CDC 9415-36 IF CDC36 SIGN1 EQU '3' SIGN2 EQU '0' WIN0: DW 68 ; No of logical sectors/track. DB 5,31 ; BLOCK SHIFT AND MASK (size = 4K)▶8a◀ DB 1 ; EXTENT MASK DW 3611 ; MAX BLOCKNUMMER DW 2048-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1 ; OFFSET TRACKS DB 0 ; Phys. sector size DB 0 ; Phys. sector shift mask. DB 1 ; Winchester 1st. part. DB 4 ; No. of logical sector/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-2 ; No of cylinders Hbyte DB 255-185 ; - " - Lbyte DB 255-5 ; No of heads. DB 255-3 ; Red. write cyl Hbyte DB 255-152 ; - " - Lbyte DB 255-3 ; Write precomp. cyl Hbyte DB 255-152 ; - " - Lbyte DB 255-11 ; ECC WIN1: DW 68 ; No. of logical sectors/track. DB 5,31 ; BLOCK SKIFT AND MASK (size = 4K) DB 1 ; EXTENT MASK DW 3779-(REDUCE/4) ; MAX BLOCKNUMBER DW 2048-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1701 ; OFFSET TRACK DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT MASK DB 2 ; Winchester 2nd part. DB 4 ; No of logical sectors/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-2 ; No of cylinders Hbyte DB 255-185 ; - " - Lbyte DB 255-5 ; No. of heads. DB 255-3 ; Red. write cyl Hbyte DB 255-152 ; - " - Lbyte DB 255-3 ; Write precomp. cyl Hbyte DB 255-152 ; - " - Lbyte DB 255-11 ; ECC ENDIF ▶bb◀ Winchester▶ba◀ CDC 9415-86 IF CDC86 SIGN1 EQU '7' SIGN2 EQU '1' WIN0: DW 68 ; No of logical sectors/track. DB 5,31 ; BLOCK SHIFT AND MASK (size = 4K)▶8a◀ DB 1 ; EXTENT MASK DW 8711 ; MAX BLOCKNUMMER DW 2048-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 1 ; OFFSET TRACKS DB 0 ; Phys. sector size DB 0 ; Phys. sector shift mask. DB 1 ; Winchester 1st. part. DB 4 ; No. of logical sector/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-3 ; No of cylinders Hbyte DB 255-156 ; - " - Lbyte DB 255-9 ; No of heads. DB 255-3 ; Red. write cyl Hbyte DB 255-159 ; - " - Lbyte DB 255-3 ; Write precomp. cyl Hbyte DB 255-159 ; - " - Lbyte DB 255-11 ; ECC WIN1: DW 68 ; No. of logical sectors/track. DB 5,31 ; BLOCK SKIFT AND MASK (size = 4K) DB 1 ; EXTENT MASK DW 8936-(REDUCE/4) ; MAX BLOCKNUMBER DW 2048-1 ; DIR. ENTRIES DB 0FFH,0FFH ; ALLOC VECTOR TO DIR DW 8000H ; CHECKSUM SIZE (none) DW 4101 ; OFFSET TRACK DB 0 ; PHYS. SECTOR SIZE DB 0 ; PHYS. SECTOR SHIFT MASK DB 2 ; Winchester 2nd part. DB 4 ; No of logical sectors/phys. sector DB 50 ; Read time out DB 19 ; Write time out DB 255-LEAV ; Interleav (Inv) DB 255-RESTEP ; Retry & Buff step option DB 255-3 ; No of cylinders Hbyte DB 255-156 ; - " - Lbyte DB 255-8 ; No. of heads. DB 255-3 ; Red. write cyl Hbyte DB 255-157 ; - " - Lbyte DB 255-3 ; Write precomp. cyl Hbyte DB 255-157 ; - " - Lbyte DB 255-11 ; ECC ENDIF ?TITEL: DB '80. ' ; the rest of the signon message. DB SIGN,'"-floppy ' IF M8 ELSE IF M5 DB '1.2 MByte ' ELSE DB '800 KByte ' ENDIF ENDIF DB SIGN0,'x',SIGN1,SIGN2,' MBytes winchester.',13,10,0 TRANS: DB 1,7,13,19,25 DB 5,11,17,23 DB 3,9,15,21 DB 2,8,14,20,26 DB 6,12,18,24 DB 4,10,16,22 END «eof»