DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦e21d9af76⟧ TextFile

    Length: 51072 (0xc780)
    Types: TextFile
    Names: »WDRIVES.PRN«

Derivation

└─⟦67f37b9ce⟧ Bits:30003503 JET80/W20FT systemdisk
    └─ ⟦this⟧ »WDRIVES.PRN« 

TextFile

\f

CP/M RMAC ASSEM 1.1	#001	WDRIVES.ASM

                	Title	'Wdrives.Asm'
                ;------------------------------------------------------------;
                ;   Definition Module for the Floppies and Winchesters in    ;
                ;   the system.                                              ;
                ;							     ;
                ; Note: If You use Adaptec controller, You link ExtmemA.Rel  ;
                ;       and if Xebec, You link ExtmemX.Rel to BNKBIOS3.SPR   ;
                ;       This will done with the command:                     ;
                ;	SUBMIT GENWBIOS A      for Adaptec		     ;
                ;	SUBMIT GENWBIOS X      for Xebec		     ;
                ;------------------------------------------------------------;
                ; Latest update: 1985-11-15. PSW
                ; Biosrevision: F
                ;
                ; For the RMAC assembler.
                
                ;------------------------------------------------------------;
                ;        Answer in field #1 and/or in field #2 !!            ;
                ;------------------------------------------------------------;
                
 FFFF =         True		Equ	-1
 0000 =         False		Equ	Not True
                
 0000 =         NetWork		Equ	False
                
                ;------------------------------------------------------------;
                ; Field #1  -- SuperJet.                                     ;
                ;                                                            ;
 0000 =         SuperJet	Equ	False		; False indicates You;
                ;					; must goto field #2.;
 0000 =         TwoWins		Equ	False		; False: 1 drive     ;
                ;					; True:  2 drives.   ;
                ; System configuration for SuperJet:                         ;
                ; A: Winchester 1st part appr. 28800 KBytes                  ;
                ; B: Winchester 2nd part appr. 29300 KBytes                  ;
                ; C: Floppy 5" 1200 KBytes.                                  ;
                ; D: Floppy 5"  800 KBytes                                   ;
                ; The tape streamer does not have a logical device address.  ;
                ; If 2 winchesters:                                          ;
                ; E: Winchester 1st part appr. 28800 KBytes                  ;
                ; F: Winchester 2nd part appr. 29300 KBytes                  ;
                ;------------------------------------------------------------;
                	Page	66
                	If	Not SuperJet
                ;------------------------------------------------------------;
                ; Field #2  -- Other configurations.                         ;
                ; Here You must answer 6 or 7 questions:                     ;
                ; 1: Do You want Verify after write on floppy ?              ;
                ;							     ;
 FFFF =         Verify		Equ	True		; Verify after write.;
                ;							     ;
                ; 2: What kind of floppy system do You want ?  (Only 1 true) ;
                ;							     ;
 0000 =         M8		Equ	False		; 8" 1200 KBytes     ;
 FFFF =         M5		Equ	True		; 5" 1200 KBytes     ;
 0000 =         Min96		Equ	False		; 5"  800 KBytes     ;
                ;                                                            ;
                ; 3: Do You have an external 8" floppy drive ?               ;
                ;    Not supported with M8.                                  ;
 0000 =         Jet8		Equ	False		; True means YES     ;
                ;							     ;
                ; 4: What kind of winchester controller ?		     ;
                ;							     ;
 FFFF =         Adaptec		Equ	True		; False = Xebec	     ;
                ;							     ;
                ; 5: How many winchester drives ?  (One or two)              ;
\f

CP/M RMAC ASSEM 1.1	#002	WDRIVES.ASM

                ;							     ;
 0000 =         TwoWins		Equ	False		; False = 1 drive    ;
                ;							     ;
                ; 6: What kind of winchester do You want ?  (Only 1 true)    ;
                ;					  Entries   BlockSize;
 0000 =         Ro204	Equ	False	; Rodime 204	  1024 		2K   ;
 0000 =         Ro204E	Equ	False	; Rodime 204 E    2048 		4K   ;
 0000 =         Ro352	Equ	False	; Rodime 352      512-1024 	2K   ;
 0000 =         XT1065	Equ	False	; Maxtor XT-1065  2048 		4K   ;
 0000 =         XT1085	Equ	False	; Maxtor XT-1085  2048 		4K   ;
 0000 =         CDC66	Equ	False	; CDC 9415-66     2048 		4K   ;
 0000 =         CDC86	Equ	False	; CDC 9415-86     2048 		4K   ;
 FFFF =         Nec5126	Equ	True	; Nec 5126        1024 		2K   ;
                ;							     ;
                ; 7: If Rodime 352 You must answer how directory entries.    ;
                ;							     ;
 FFFF =         E512		Equ	True		; False = 1024 ent.  ;
                ;							     ;
                ;------------------------------------------------------------;
                
                ;------------- No more questions below here -----------------;
                	Endif
                	Page
\f

CP/M RMAC ASSEM 1.1	#003	WDRIVES.ASM

                
                	If	SuperJet
                Verify		Equ	True
                M5		Equ	True
                M8		Equ	False
                Min96		Equ	False 
                Ro204		Equ	False
                Ro204E		Equ	False
                Ro352		Equ	False	
                XT1065		Equ	False	
                XT1085		Equ	False	
                CDC66		Equ	True	
                CDC86		Equ	False	
                Nec5126		Equ	False
                Adaptec		Equ	True
                E512		Equ	False
                Jet8		Equ	False
                	Endif
                ;----------------------------------------------------------------;
                ; The byte called 'ReStep' is interpreted as follows:		 ;
                ;								 ;
                ;	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	Adaptec		; Adaptec:
                	If	Ro204
                ReStep	Equ	00000100b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	72		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	Ro204E
                ReStep	Equ	00000100b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	72		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	Ro352
                ReStep	Equ	00000100b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	36		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	XT1065
                ReStep	Equ	00010111b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	64		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	XT1085
                ReStep	Equ	00010111b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	72		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	CDC66
                ReStep	Equ	00010111b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	84		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	CDC86
                ReStep	Equ	00010111b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	84		; # of Kbytes to reduce from second winchester unit.
                	Endif
\f

CP/M RMAC ASSEM 1.1	#004	WDRIVES.ASM

                	If	Nec5126
 0017 =         ReStep	Equ	00010111b	; RETRY & BUFF STEP OPTION.
 0024 =         Reduce	Equ	36		; # of Kbytes to reduce from second winchester unit.
                	Endif
                
                	Else			; Xebec
                	If	Ro204
                ReStep	Equ	00000100b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	68		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	Ro204E
                ReStep	Equ	00000100b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	68		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	Ro352
                ReStep	Equ	00000100b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	34		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	XT1065
                ReStep	Equ	00010111b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	60		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	XT1085
                ReStep	Equ	00010111b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	68		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	CDC66
                ReStep	Equ	00010111b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	76		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	CDC86
                ReStep	Equ	00010111b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	76		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	If	Nec5126
                ReStep	Equ	00010111b	; RETRY & BUFF STEP OPTION.
                Reduce	Equ	34		; # of Kbytes to reduce from second winchester unit.
                	Endif
                	Endif
                
 0000 =         Rate0		Equ	00000000b	; 3ms/6ms
 0001 =         Rate1		Equ	00000001b	; 6ms/12ms
 0002 =         Rate2		Equ	00000010b	; 10ms/20ms
 0003 =         Rate3		Equ	00000011b	; 15ms/30ms
                
 FFFF =         DoublS		Equ	-1		; Double sided
 0000 =         SinglS		Equ	0		; Single sided
                
 0000 =         Unit0		Equ	00000000b	; Physical Unit select 0
 0001 =         Unit1		Equ	00000001b	; Physical Unit select 1
 0002 =         Unit2		Equ	00000010b	; Physical Unit select 2
 0003 =         Unit3		Equ	00000011b	; Physical Unit select 3
                
 0008 =         Inch5		Equ	00001000b	; 5"-Floppy
 00D4 =         Inch8		Equ	11010100b	; 8"-Floppy
                
 0000 =         DoublD		Equ	00000000b	; Double density
 0020 =         SinglD		Equ	00100000b	; Single density
                
                	If	Adaptec			; Common area
 00B8 =         Comm		Equ	0B8h		; 64K - 2*9K = 46K = B800h
                	Else
                Comm		Equ	0BCh		; 64K - 2*8.5K = 47K = BC00h
                	Endif
                	If	Adaptec
 0001 =         Contr1	Equ	00000001B		; Controller unit 1
\f

CP/M RMAC ASSEM 1.1	#005	WDRIVES.ASM

 0002 =         Contr2	Equ	00000010B		; Controller unit 2
 0004 =         Contr3	Equ	00000100B		; Controller unit 3
                
 0001 =         WUnit1	Equ	00000000B OR Contr1	; Winchester phys. unit 0 on Contr1
 0021 =         WUnit2	Equ	00100000B OR Contr1	; Winchester phys. unit 1 on Contr1
 0002 =         WUnit3	Equ	00000000B OR Contr2	; Winchester phys. unit 0 on Contr2
 0022 =         WUnit4	Equ	00100000B OR Contr2	; Winchester phys. unit 1 on Contr2
 0004 =         WUnit5	Equ	00000000B OR Contr3	; Winchester phys. unit 0 on Contr3
 0024 =         WUnit6	Equ	00100000B OR Contr3	; Winchester phys. unit 1 on Contr3
 0002 =         Leav	Equ	2			; Interleave factor
 0048 =         LSecPerTrk	Equ	72		; No of logical sectors/track
                	Else
                WUnit1	Equ	00000000B 		; Winchester phys. unit 0 on Contr1
                WUnit2	Equ	00100000B 		; Winchester phys. unit 1 on Contr1
                Leav	Equ	7			; Interleave factor
                LSecPerTrk	Equ	68		; No of logical sectors/track
                	Endif
                
                	If	E512
 0200 =         Ent	Equ	512
 0000 =         AL1	Equ	0
                	Else
                Ent	Equ	1024
                AL1	Equ	0FFh
                	Endif
                
                	If	M8
                Sign	Equ	'8'
                	Else
 0035 =         Sign	Equ	'5'
                	Endif
                
                	Extrn	FdRead, FdWrit, FdLgin, FdInit
                	Extrn	WRead, WWrit, WInit, WInitd, WLgin
                	Public	@DTbl, ?Titel, @Commo
                
                	Cseg
                @DTbl:
                	If	NetWork
                	Dw	WinA,WinB,FlA		; A:, B:, C:
                	Else
 0000 50000A002D	Dw	FlA,WinA,WinB		; This order must not be changed.
                					; Check boot-routine in
                					; BIOSKRNL.Z80
                	Endif
                	If	Min96
                	Dw	0			; D: not installed
                	Else
 0006 7300      	Dw	FlD
                	Endif
                	If TwoWins
                	Dw	WinE,WinF		; E:, F:
                	Sign0	Equ	'2'
                	Else
 0008 00000000  	Dw	0,0
 0031 =         	Sign0	Equ'1'
                	Endif
 000C 00000000  	Dw	0,0			; G:, H: not installed
                	If	Jet8
                	Dw	FlI,FlJ			; I:, J:
                	Else
 0010 00000000  	Dw	0,0
                	Endif
 0014 00000000  	Dw	0,0			; K:, L: not installed
 0018 0000000000	Dw	0,0,0,0			; M:, N:, O:, P: not installed
                
\f

CP/M RMAC ASSEM 1.1	#006	WDRIVES.ASM

 0020 B8        @Commo:	Db	Comm			;
                	Page
\f

CP/M RMAC ASSEM 1.1	#007	WDRIVES.ASM

                
                	Dseg
                
                ; Define WINCHESTER LOGICAL UNIT A: (Winchester boot else B:)
                
 0000 0000      	Dw	WWrit			;;
 0002 0000      	Dw	WRead			;;
 0004 0000      	Dw	WLgin			;;
 0006 0000      	Dw	WInit			;;
 0008 01        	Db	WUnit1			;; Physical unit for controller
 0009 00        	Db	0			;;
 000A 0000      WINA:	Dw	0			;; No trans table
 000C 0000000000	Db	0,0,0,0,0,0,0,0,0	;;
 0015 00        	Db	0			;; Mediaflag
 0016 5F00      	Dw	WIN0			;; Address to DPB
 0018 0000      	Dw	0			;; Checksum None.
 001A FEFF      	Dw	0FFFEh			;; Alloc vector set by GENCPM
 001C FEFF      	Dw	0FFFEh			;; DirBcb
 001E FFFF      	Dw	0FFFFh			;; DtaBcb Not used
 0020 FEFF      	Dw	0FFFEh			;; Hash
 0022 00        	Db	0			;; Hash bank 
                
                ; Define WINCHESTER LOGICAL UNIT B: (Winchster boot else C:)
                
 0023 0000      	Dw	WWrit			;;
 0025 0000      	Dw	WRead			;;
 0027 0000      	Dw	WLgin			;;
 0029 0000      	Dw	WInitd			;;
 002B 01        	Db	WUnit1			;; Physical unit for controller
 002C 00        	Db	0			;;
 002D 0000      WINB:	Dw	0			;; No trans table
 002F 0000000000	Db	0,0,0,0,0,0,0,0,0	;;
 0038 00        	Db	0			;; Mediaflag
 0039 7E00      	Dw	WIN1			;; Address to DPB
 003B 0000      	Dw	0			;; Checksum None.
 003D FEFF      	Dw	0FFFEh			;; Alloc vector set by GENCPM
 003F FEFF      	Dw	0FFFEh			;; DirBcb
 0041 FFFF      	Dw	0FFFFh			;; DtaBcb Not used
 0043 FEFF      	Dw	0FFFEh			;; Hash
 0045 00        	Db	0			;; Hash bank 
                
                	If	TwoWins
                
                ; Define WINCHESTER LOGICAL UNIT E:
                
                	Dw	WWrit			;;
                	Dw	WRead			;;
                	Dw	WLgin			;;
                	Dw	WInitd			;;
                	Db	WUnit2			;; Physical unit for controller
                	Db	0			;;
                WINE:	Dw	0			;; No trans table
                	Db	0,0,0,0,0,0,0,0,0	;;
                	Db	0			;; Mediaflag
                	Dw	WIN0			;; Address to DPB
                	Dw	0			;; Checksum None.
                	Dw	0FFFEh			;; Alloc vector set by GENCPM
                	Dw	0FFFEh			;; DirBcb
                	Dw	0FFFFh			;; DtaBcb Not used
                	Dw	0FFFEh			;; Hash
                	Db	0			;; Hash bank 
                
                ; Define WINCHESTER LOGICAL UNIT F:
                
                	Dw	WWrit			;;
                	Dw	WRead			;;
\f

CP/M RMAC ASSEM 1.1	#008	WDRIVES.ASM

                	Dw	WLgin			;;
                	Dw	WInitd			;;
                	Db	WUnit2			;; Physical unit for controller
                	Db	0			;;
                WINF:	Dw	0			;; No trans table
                	Db	0,0,0,0,0,0,0,0,0	;;
                	Db	0			;; Mediaflag
                	Dw	WIN1			;; Address to DPB
                	Dw	0			;; Checksum None.
                	Dw	0FFFEh			;; Alloc vector set by GENCPM
                	Dw	0FFFEh			;; DirBcb
                	Dw	0FFFFh			;; DtaBcb Not used
                	Dw	0FFFEh			;; Hash
                	Db	0			;; Hash bank 
                	Endif
                
                	If	M8 Or Jet8
                ; Define 8" 2x77x8x1024, 256 entries. Unit A: (Floppy boot else C:) / J:
                
                	Dw	FdWrit			;;
                	Dw	FdRead			;;
                	Dw	FdLgin			;;
                	Dw	FdInit			;;
                	Db	Inch8+Unit0+DoublD	;; $FdXsl
                	Db	0			;; 
                	If	M8
                FlA:	Dw	0			;; No trans table
                	Else
                FlJ:	Dw	0			;; No trans table
                	Endif
                	Db	0,0,0,0,0,0,0,0,0	;;
                	Db	0			;; Mediaflag
                	Dw	F8D			;; Address to DPB
                	Dw	0FFFEh			;; Checksum vector set by GENCPM
                	Dw	0FFFEh			;; Alloc vector set by GENCPM
                	Dw	0FFFEh,0FFFFh		;; Let GENCPM setup
                	Dw	0FFFEh			;; DirBcb, DtaBcb, Hash
                	Db	0			;; Hash bank.
                
                	Endif
                
                	If	M5
                ; Define 5.25" 2x77x8x1024, 256 entries. Unit A: (Floppy boot else C:)
                
 0046 0000      	Dw	FdWrit			;;
 0048 0000      	Dw	FdRead			;;
 004A 0000      	Dw	FdLgin			;;
 004C 0000      	Dw	FdInit			;;
 004E C8        	Db	Inch5+Unit0+DoublD+11000000b	;; $FdXsl 2 MHz 8" Mode
 004F 00        	Db	0			;; 
 0050 0000      FlA:	Dw	0			;; No trans table
 0052 0000000000	Db	0,0,0,0,0,0,0,0,0	;;
 005B 00        	Db	0			;; Mediaflag
 005C 2100      	Dw	F5Max			;; Address to DPB
 005E FEFF      	Dw	0FFFEh			;; Checksum vector set by GENCPM
 0060 FEFF      	Dw	0FFFEh			;; Alloc vector set by GENCPM
 0062 FEFFFFFF  	Dw	0FFFEh,0FFFFh		;; Let GENCPM setup
 0066 FEFF      	Dw	0FFFEh			;; DirBcb, DtaBcb, Hash
 0068 00        	Db	0			;; Hash bank.
                	Endif
                
                	If	Min96 Or SuperJet Or M5
                ; Define 5.25" 2x80x5x1024, 128 entries. Unit A: (Floppy boot else C:)
                ;					 Unit D: (SuperJet)
 0069 0000      	Dw	FdWrit			;;
 006B 0000      	Dw	FdRead			;;
\f

CP/M RMAC ASSEM 1.1	#009	WDRIVES.ASM

 006D 0000      	Dw	FdLgin			;;
 006F 0000      	Dw	FdInit			;;
 0071 08        	Db	Inch5+Unit0+DoublD	;; $FdXsl
 0072 00        	Db	0			;; 
                	If	Min96
                FlA:	Dw	0			;; No trans table
                	Else
 0073 0000      FlD:	Dw	0
                	Endif
 0075 0000000000	Db	0,0,0,0,0,0,0,0,0	;;
 007E 00        	Db	0			;; Mediaflag
 007F 4000      	Dw	F596D			;; Address to DPB
 0081 FEFF      	Dw	0FFFEh			;; Checksum vector set by GENCPM
 0083 FEFF      	Dw	0FFFEh			;; Alloc vector set by GENCPM
 0085 FEFFFFFF  	Dw	0FFFEh,0FFFFh		;; Let GENCPM setup
 0089 FEFF      	Dw	0FFFEh			;; DirBcb, DtaBcb, Hash
 008B 00        	Db	0			;; Hash bank.
                	Endif
                
                	If	M8 Or Jet8
                
                ; Define 8" 1x77x26x128, 64 entries (IBM). Unit D:/ I:
                
                	Dw	FdWrit			;;
                	Dw	FdRead			;;
                	Dw	FdLgin			;;
                	Dw	FdInit			;;
                	Db	Inch8+Unit0+SinglD	;;
                	Db	0			;; 
                	If	M8
                FlD:	Dw	Trans			;; Trans table
                	Else
                FlI:	Dw	Trans			;; Trans table
                	Endif
                	Db	0,0,0,0,0,0,0,0,0	;;
                	Db	0			;; Mediaflag
                	Dw	F8S			;; Address to DPB
                	Dw	0FFFEh			;; Checksum vector set by GENCPM
                	Dw	0FFFEh			;; Alloc vector set by GENCPM
                	Dw	0FFFEh,0FFFFh		;; Let GENCPM setup
                	Dw	0FFFEh			;; DirBcb, DtaBcb, Hash
                	Db	0			;; Hash bank.
                
                	Cseg
                Trans:	Db	1,7,13,19,25,5,11,17,23,3,9,15,21	;
                	Db	2,8,14,20,26,6,12,18,24,4,10,16,22	;
                	Endif
                
                	Cseg
                
                	If	M8 Or Jet8
                ; DPB for 8" 2x77x8x1024, 256 entries.
                
                F8D:	Dw	64			; Number of logical sect/track
                	Db	4,0Fh			; Blockshift and mask
                	Db	0			; Extent mask
                	Dw	607			; Max blocknumber
                	Dw	256-1			; 256 Directory entries
                	Db	0F0h,0			; Alloc vector to directory
                	Dw	256/4			; Checksum size
                	Dw	2			; Number of offset tracks
                	Db	0			; Physical sector size
                	Db	0			; Physical sector shift mask.
                
                	Db	0			; Floppy
                	Db	8			; No. of logical sectors/phys. sector.
\f

CP/M RMAC ASSEM 1.1	#010	WDRIVES.ASM

                	Db	22			; Read time out
                	Db	19			; Write time out
                	Db	-1			; 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			; Blockshift and mask
                	Db	0			; Extent mask
                	Dw	242			; Max blocknumber
                	Dw	64-1			; 64 Directory entries
                	Db	0C0h,0			; Alloc vector to directory
                	Dw	64/4			; Checksum size
                	Dw	2			; Number of offset tracks
                	Db	0			; Physical sector size
                	Db	0			; Physical 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
                	Endif
                
                	If	M5
                ; DPB for 5.25" 2x77x8x1024, 256 entries.
                
 0021 4000      F5Max:	Dw	64			; No. of logical sectors/track.
 0023 040F      	Db	4,0Fh			; Blockshift and mask
 0025 00        	Db	0			; Extent mask
 0026 5F02      	Dw	607			; Max blocknumber
 0028 FF00      	Dw	256-1			; 256 Directory entries
 002A F000      	Db	0F0h,0			; Alloc vector to directory
 002C 4000      	Dw	256/4			; Checksum size
 002E 0200      	Dw	2			; Number of offset tracks
 0030 00        	Db	0			; Physical sector size
 0031 00        	Db	0			; Physical sector shift mask.
                
 0032 00        	Db	0			; Floppy
 0033 08        	Db	8			; No. of logical sectors/phys. sector.
 0034 16        	Db	22			; Read time out
 0035 13        	Db	19			; Write time out
 0036 FF        	Db	-1			; Double sided
 0037 FF        	Db	Verify			; Verify after write
 0038 00        	Db	Rate0			; Step rate
 0039 C8        	Db	Inch5+DoublD+11000000b	; Boot select
 003A 0000000000	Db	0,0,0,0,0,0		; Dummies
                	Endif
                
                	If	Min96 Or SuperJet Or M5
                ; DPB for 5.25" 2x80x5x1024, 128 entries.
                
 0040 2800      F596D:	Dw	40			; No. of logical sectors/track.
 0042 040F      	Db	4,0Fh			; Blockshift and mask
 0044 00        	Db	0			; Extent mask
 0045 8A01      	Dw	394			; Max blocknumber
 0047 7F00      	Dw	128-1			; 128 Directory entries
 0049 C000      	Db	0C0h,0			; Alloc vector to directory
\f

CP/M RMAC ASSEM 1.1	#011	WDRIVES.ASM

 004B 2000      	Dw	128/4			; Checksum size
 004D 0200      	Dw	2			; Number of offset tracks
 004F 00        	Db	0			; Physical sector size
 0050 00        	Db	0			; Physical sector shift mask.
                
 0051 00        	Db	0			; Floppy
 0052 08        	Db	8			; No. of logical sectors/phys. sector.
 0053 16        	Db	22			; Read time out
 0054 13        	Db	19			; Write time out
 0055 FF        	Db	-1			; Double sided
 0056 FF        	Db	Verify			; Verify after write
 0057 00        	Db	Rate0			; Step rate
 0058 08        	Db	Inch5+DoublD		; Boot select
 0059 0000000000	Db	0,0,0,0,0,0		; Dummies
                	Endif
                
                	If	Ro204
                ; Winchester: Rodime 204
                
                SIGN1	Equ	'2'
                	If	Adaptec
                SIGN2	Equ	'3'
                	Else
                Sign2	Equ	'2'
                	Endif
                
                WIN0:
                	Dw	LSecPerTrk	; No of logical sectors/track.
                	Db	4,0FH		; BLOCK SHIfT AND MASK (size = 2K)
                	Db	0		; EXTENT MASK
                	If	Adaptec
                	Dw	5714		; MAX BLOCKNUMMER
                	Else
                	Dw	5396
                	Endif
                	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	LSecPerTrk	; No. of logical sectors/track.
                	Db	4,0FH		; BLOCK SKIfT AND MASK (size = 2K)
                	Db	0		; EXTENT MASK
                	If	Adaptec
                	Dw	5799-(Reduce/2)	; MAX BLOCKNUMBER
                	Else
                	Dw	5477-(Reduce/2)
                	Endif
                	Dw	1024-1		; DIR. ENTRIES
\f

CP/M RMAC ASSEM 1.1	#012	WDRIVES.ASM

                	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
                
                
                	If	Nec5126
                ; Winchester: Nec 5126
                
 0032 =         SIGN1	Equ	'2'
 0030 =         SIGN2	Equ	'0'
                
 005F 4800      WIN0:	Dw	LSecPerTrk	; No of logical sectors/track.
 0061 040F      	Db	4,0FH		; BLOCK SHIfT AND MASK (size = 2K)
 0063 00        	Db	0		; EXTENT MASK
                	If	Adaptec
 0064 5513      	Dw	4949		; MAX BLOCKNUMMER
                	Else
                	Dw	4675		;
                	Endif
 0066 FF03      	Dw	1024-1		; DIR. ENTRIES
 0068 FFFF      	Db	0FFH,0FFH	; ALLOC VECTOR TO DIR
 006A 0080      	Dw	8000H		; CHECKSUM SIZE (none)
 006C 0100      	Dw	1		; OFFSET TRACKS
 006E 00        	Db	0		; Phys. sector size
 006F 00        	Db	0		; Phys. sector shift mask.
                
 0070 01        	Db	1		; Winchester 1st. part.
 0071 04        	Db	4		; No. of logical sector/phys. sector
 0072 32        	Db	50		; Read time out
 0073 13        	Db	19		; Write time out
 0074 FD        	Db	255-Leav	; Interleav (Inv)
 0075 E8        	Db	255-ReStep	; Retry & Buff step option
 0076 FD        	Db	255-2		; No of cylinders Hbyte
                	If	Adaptec
 0077 D4        	Db	255-43		;      - " -      Lbyte
                	Else	
                	Db	255-76
                	Endif
 0078 FB        	Db	255-4		; No of heads.
 0079 FF        	Db	255-0		; Red. write cyl Hbyte
 007A FF        	Db	255-0		;     -  "  -    Lbyte
 007B FF        	Db	255-0		; Write precomp. cyl Hbyte
 007C FF        	Db	255-0		;     -  "  -        Lbyte
 007D F4        	Db	255-11		; ECC
                
 007E 4800      WIN1:	Dw	LSecPerTrk	; No. of logical sectors/track.
 0080 040F      	Db	4,0FH		; BLOCK SKIfT AND MASK (size = 2K)
 0082 00        	Db	0		; EXTENT MASK
\f

CP/M RMAC ASSEM 1.1	#013	WDRIVES.ASM

                	If	Adaptec
 0083 9913      	Dw	5035-(Reduce/2)	; MAX BLOCKNUMBER
                	Else
                	Dw	5315-(Reduce/2)
                	Endif
 0085 FF03      	Dw	1024-1		; DIR. ENTRIES
 0087 FFFF      	Db	0FFH,0FFH	; ALLOC VECTOR TO DIR
 0089 0080      	Dw	8000H		; CHECKSUM SIZE (none)
 008B B104      	Dw	1201		; OFFSET TRACK 
 008D 00        	Db	0		; PHYS. SECTOR SIZE
 008E 00        	Db	0		; PHYS. SECTOR SHIfT MASK
                
 008F 02        	Db	2		; Winchester 2nd part.
 0090 04        	Db	4		; No of logical sectors/phys. sector
 0091 32        	Db	50		; Read time out
 0092 13        	Db	19		; Write time out
 0093 FD        	Db	255-Leav	; Interleav (Inv)
 0094 E8        	Db	255-ReStep	; Retry & Buff step option
 0095 FD        	Db	255-2		; No of cylinders Hbyte
                	If	Adaptec
 0096 D4        	Db	255-43 		;       - " -     Lbyte
                	Else
                	Db	255-76
                	Endif	
 0097 FB        	Db	255-4		; No. of heads.
 0098 FF        	Db	255-0		; Red. write cyl Hbyte
 0099 FF        	Db	255-0		;     -  "  -    Lbyte
 009A FF        	Db	255-0		; Write precomp. cyl Hbyte
 009B FF        	Db	255-0		;     -  "  -        Lbyte
 009C F4        	Db	255-11		; ECC
                	Endif
                
                	If	Ro204E
                ; Winchester: Rodime 204 E
                
                SIGN1	Equ	'4'
                	If	Adaptec
                SIGN2	Equ	'6'
                	Else
                Sign2	Equ	'3'
                	Endif
                
                WIN0:	Dw	LSecPerTrk	; No of logical sectors/track.
                	Db	5,31		; BLOCK SHIfT AND MASK (size = 4K)
                	Db	1		; EXTENT MASK
                	If	Adaptec
                	Dw	5624		; MAX BLOCKNUMMER
                	Else
                	Dw	5311
                	Endif
                	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.
\f

CP/M RMAC ASSEM 1.1	#014	WDRIVES.ASM

                	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	LSecPerTrk	; No. of logical sectors/track.
                	Db	5,31		; BLOCK SKIfT AND MASK (size = 4K)
                	Db	1		; EXTENT MASK
                	If	Adaptec
                	Dw	5873-(Reduce/4)	; MAX BLOCKNUMBER
                	Else
                	Dw	5547-(Reduce/4)
                	Endif
                	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
                
                	If	Ro352
                ; Winchester: Rodime 352
                
                SIGN1	Equ	'1'
                	If	Adaptec
                SIGN2	Equ	'1'
                	Else
                Sign2	Equ	'0'
                	Endif
                
                WIN0:	Dw	LSecPerTrk	; No of logical sectors/track.
                	Db	4,0FH		; BLOCK SHIfT AND MASK  (size = 2K)
                	Db	0		; EXTENT MASK
                	If	Adaptec
                	Dw	2699		; MAX BLOCKNUMMER
                	Else
                	Dw	2549
                	Endif
                	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
\f

CP/M RMAC ASSEM 1.1	#015	WDRIVES.ASM

                	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	LSecPerTrk	; No. of logical sectors/track.
                	Db	4,0FH		; BLOCK SKIfT AND MASK (size = 2K)
                	Db	0		; EXTENT MASK
                	If	Adaptec
                	Dw	2784-(Reduce/2)	; MAX BLOCKNUMBER
                	Else
                	Dw	2629-(Reduce/2)
                	Endif
                	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
                
                	If	XT1065
                ; Winchester: Maxtor XT-1065
                
                SIGN1	Equ	'5'
                	If	Adaptec
                SIGN2	Equ	'8'
                	Else
                Sign2	Equ	'5'
                	Endif
                
                WIN0:	Dw	LSecPerTrk	; No of logical sectors/track.
                	Db	5,31		; BLOCK SHIfT AND MASK (size = 4K)
                	Db	1		; EXTENT MASK
                	If	Adaptec
                	Dw	7199		; MAX BLOCKNUMMER
                	Else
                	Dw	6799
                	Endif
                	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
\f

CP/M RMAC ASSEM 1.1	#016	WDRIVES.ASM

                	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	LSecPerTrk	; No. of logical sectors/track.
                	Db	5,31		; BLOCK SKIfT AND MASK (size = 4K)
                	Db	1		; EXTENT MASK
                	If	Adaptec
                	Dw	7239-(Reduce/4)	; MAX BLOCKNUMBER
                	Else
                	Dw	6837-(Reduce/4)
                	Endif
                	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
                
                	If	XT1085
                ; Winchester: Maxtor XT-1085
                
                	If	Adaptec
                SIGN1	Equ	'7'
                SIGN2	Equ	'3'
                	Else
                Sign1	Equ	'6'
                Sign2	Equ	'9'
                	Endif
                
                WIN0:	Dw	LSecPerTrk	; No of logical sectors/track.
                	Db	5,31		; BLOCK SHIfT AND MASK (size = 4K)
                	Db	1		; EXTENT MASK
                	If	Adaptec
                	Dw	8999		; MAX BLOCKNUMMER
                	Else
\f

CP/M RMAC ASSEM 1.1	#017	WDRIVES.ASM

                	Dw	8499
                	Endif
                	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	LSecPerTrk	; No. of logical sectors/track.
                	Db	5,31		; BLOCK SKIfT AND MASK (size = 4K)
                	Db	1		; EXTENT MASK
                	If	Adaptec
                	Dw	9410-(Reduce/4)	; MAX BLOCKNUMBER
                	Else
                	Dw	8887-(Reduce/4)
                	Endif
                	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
                
                	If	CDC66
                ; Winchester: CDC 9415-66
                
                SIGN1	Equ	'5'
                	If	Adaptec
                SIGN2	Equ	'8'
                	Else
                Sign2	Equ	'5'
                	Endif
                
\f

CP/M RMAC ASSEM 1.1	#018	WDRIVES.ASM

                WIN0:	Dw	LSecPerTrk	; No of logical sectors/track.
                	Db	5,31		; BLOCK SHIfT AND MASK (size = 4K)
                	Db	1		; EXTENT MASK
                	If	Adaptec
                	Dw	7199		; MAX BLOCKNUMMER
                	Else
                	Dw	6799
                	Endif
                	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-157		;      - " -      Lbyte
                	Db	255-7		; No of heads.
                	Db	255-3		; Red. write cyl Hbyte
                	Db	255-159		;     -  "  -    Lbyte
                	Db	255-3		; Write precomp. cyl Hbyte    Obs
                	Db	255-159		;     -  "  -        Lbyte    Obs
                	Db	255-11		; ECC
                
                WIN1:	Dw	LSecPerTrk	; No. of logical sectors/track.
                	Db	5,31		; BLOCK SKIfT AND MASK (size = 4K)
                	Db	1		; EXTENT MASK
                	If	Adaptec
                	Dw	7349-(Reduce/4)	; MAX BLOCKNUMBER
                	Else
                	Dw	6941-(Reduce/4)
                	Endif
                	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-157		;       - " -     Lbyte
                	Db	255-7		; 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
                
                
                	If	CDC86
                ; Winchester: CDC 9415-86
                
                SIGN1	Equ	'7'
\f

CP/M RMAC ASSEM 1.1	#019	WDRIVES.ASM

                	If	Adaptec
                SIGN2	Equ	'5'
                	Else
                Sign2	Equ	'1'
                	Endif
                
                WIN0:	Dw	LSecPerTrk	; No of logical sectors/track.
                	Db	5,31		; BLOCK SHIfT AND MASK (size = 4K)
                	Db	1		; EXTENT MASK
                	If	Adaptec
                	Dw	9224		; MAX BLOCKNUMMER
                	Else
                	Dw	8711
                	Endif
                	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-157		;      - " -      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	LSecPerTrk	; No. of logical sectors/track.
                	Db	5,31		; BLOCK SKIfT AND MASK (size = 4K)
                	Db	1		; EXTENT MASK
                	If	Adaptec
                	Dw	9482-(Reduce/4)	; MAX BLOCKNUMBER
                	Else
                	Dw	8955-(Reduce/4)
                	Endif
                	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-157		;       - " -     Lbyte
                	Db	255-9		; 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
\f

CP/M RMAC ASSEM 1.1	#020	WDRIVES.ASM

                
                	Dseg
 008C 38302E2035?Titel:	Db	'80. ',Sign,'"-floppy '
                	If	M8
                	Else
                	If	M5
 009A 312E32204D	Db	'1.2 MByte '
                	Else
                	Db	'800 KByte '
                	Endif
                	Endif
 00A4 3178323020	Db	Sign0,'x',Sign1,Sign2,' MBytes winchester '
                	If	Adaptec
 00BB 41        	Db	'A'
                	Else
                	Db	'X'
                	Endif
 00BC 2E0D0A00  	Db	'.',13,10,0
 00C0           	End
«eof»