DataMuseum.dk

Presents historical artifacts from the history of:

Jet Computer Jet80

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

See our Wiki for more about Jet Computer Jet80

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦9250306bd⟧ TextFile

    Length: 12672 (0x3180)
    Types: TextFile
    Names: »FDRIVES.Z80«

Derivation

└─⟦8181fe295⟧ Bits:30005924 PolyPascal-80 V3.10 arbejdsdiskette 2
    └─ ⟦this⟧ »FDRIVES.Z80« 

TextFile

	TITLE 'FDRIVES.Z80  TABLES FOR DISKETTES'
;*********************************************************
;*                                                       *
;*    DEFINITION MODULE FOR THE FLOPPIES IN THE SYSTEM   *
;*                                                       *
;*********************************************************
; LATEST CHANGE: 1984-12-16.  PSW
; BIOSREVISION C.

	.Z80
TRUE	EQU	0FFH
FALSE	EQU	0

;******************************************************************
;       What kind of floppy system do You want ?

VERIFY	EQU	TRUE		; Verify after write.

M8	EQU	FALSE		; A: 8" 2x77x8x1024, 256 ent. UNIT0
				; B: 8" 2x77x8x1024, 256 ent. UNIT1
				; C: 5" 2x80x5x1024, 128 ent. UNIT0
				; D: 8" 1x77x26x128,  64 ent. UNIT1

M5	EQU	FALSE		; A: 5" 2x77x8x1024, 256 ent. UNIT0
				; B: 5" 2x77x8x1024, 256 ent. UNIT1
				; C: 8" 2x77x8x1024, 256 ent. UNIT0
				; D: 8" 1x77x26x128,  64 ent. UNIT0

M596D	EQU	TRUE		; A: 5" 2x80x5x1024, 128 ent. UNIT0
				; B: 5" 2x80x5x1024, 128 ent. UNIT1
				; C: 5" 2x80x10x512, 128 ent. UNIT0
				; D: 5" 2x80x10x512, 128 ent. UNIT1

M548D	EQU	FALSE		; A: 5" 2x40x5x1024, 128 ent. UNIT0
				; B: 5" 2x40x5x1024, 128 ent. UNIT1
				; C: 8" 2x77x8x1024, 256 ent. UNIT0
				; D: 8" 1x77x26x128,  64 ent. UNIT0

M548S	EQU	FALSE		; A: 5" 1x40x5x1024,  64 ent. UNIT0
				; B: 5" 1x40x5x1024,  64 ent. UNIT1
				; C: 8" 2x77x8x1024, 256 ent. UNIT0
				; D: 8" 1x77x26x128,  64 ent. UNIT0

; MARK CORRECT FLOPPY SYSTEM WITH TRUE. NOTE ONLY ONE TRUE.
;******************************************************************
	
	PAGE
RATE0	EQU	00000000B	; 3ms/6ms
RATE1	EQU	00000001B	; 6ms/12ms
RATE2	EQU	00000010B	; 10ms/20ms
RATE3	EQU	00000011B	; 15ms/30ms

DOUBLS	EQU	0FFH		; DOUBLE SIDED
SINGLS	EQU	0		; SINGLE SIDED

UNIT0	EQU	00000000B	; FYSISK ENHET 0
UNIT1	EQU	00000001B	; FYSISK ENHET 1
UNIT2	EQU	00000010B	; FYSISK ENHET 2
UNIT3	EQU	00000011B	; FYSISK ENHET 3

INCH5	EQU	00001000B	; 5"-FLOPPY
INCH8	EQU	11010100B	; 8"-FLOPPY

DOUBLD	EQU	00000000B	; DOUBLE DENSITY
SINGLD	EQU	00100000B	; SINGLE DENSITY

COMMON	EQU	0C0H		; COMMON AREA▶8a◀
	IF	M8
SIGN	EQU	'8'
	ELSE
SIGN	EQU	'5'
	ENDIF

	EXTRN	FDREAD,FDWRIT,FDLGIN,FDINIT
	ENTRY	@DTBL,?TITEL
	ENTRY	@COMMO

	CSEG
@DTBL:	DEFW	FLA,FLB,FLC,FLD
	DEFW	0,0,0,0
	DEFW	0,0,0,0
	DEFW	0,0,0,0
@COMMO:	DEFB	COMMON

	PAGE
	DSEG
	IF	M8
; Define 8" 2x77x8x1024, 256 entries. UNIT A:

	DEFW	FDWRIT
	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH8+UNIT0+DOUBLD
				; $FDXSL
	DEFB	0		; 
FLA:	DEFW	0		; NO TRANS TABLE
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAG
	DEFW	F8D		; ADDRESS T. DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR SET BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR SET BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM SETUP
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK 


; Define 8" 2x77x8x1024, 256 entries. UNIT B:

	DEFW	FDWRIT
	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH8+UNIT1+DOUBLD
				; $FDXSL
	DEFB	0		; 
FLB:	DEFW	0		; NO TRANS TABLE 
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAG
	DEFW	F8D		; ADDRESS T. DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR SET BY GENCPM▶8a◀	DEFW	0FFFEH		; ALLOC VECTOR SET BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM SETUP
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK

	ENDIF
	PAGE
	IF	M5
; Define 5.25" 2x77x8x1024, 256 entries. UNIT A:

	DEFW	FDWRIT
	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH5+UNIT0+DOUBLD+11000000B
				; $FDXSL 2 MHz 8" Mode
	DEFB	0		; 
FLA:	DEFW	0		; NO TRANS TABLE
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAGG
	DEFW	F5MAX		; ADDRESS TO DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR GEN BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR GEN BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM CALC
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH

	DEFB	0		; HASH BANK.


; Define 5.25" 2x77x8x1024, 256 entries. UNIT B:

	DEFW	FDWRIT
	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH5+UNIT1+DOUBLD+11000000B
				; $FDXSL 2 MHz 8" Mode
	DEFB	0		; 
FLB:	DEFW	0		; NO TRANS TABLE
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAGG
	DEFW	F5MAX		; ADDRESS TO DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR GEN BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR GEN BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM CALC
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK.

	ENDIF

	PAGE
	IF	M596D
; Define 5.25" 2x80x5x1024, 128 entries. UNIT A:

	DEFW	FDWRIT
	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH5+UNIT0+DOUBLD
				; $FDXSL
	DEFB	0		; 
FLA:	DEFW	0		; NO TRANS TABLE
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAGG
	DEFW	F596D		; ADDRESS TO DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR GEN BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR GEN BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM CALC
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK.


; Define 5.25" 2x80x5x1024, 128 entries. UNIT B:

	DEFW	FDWRIT
	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH5+UNIT1+DOUBLD
				; $FDXSL
	DEFB	0		; 
FLB:	DEFW	0		; NO TRANS TABLE
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAGG
	DEFW	F596D		; ADDRESS TO DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR GEN BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR GEN BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM CALC
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK.

	ENDIF

	PAGE
	IF	M548D

; Define 5.25" 2x40x5x1024, 128 entries. UNIT A:

	DEFW	FDWRIT
	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH5+UNIT0+DOUBLD
				; $FDXSL
	DEFB	0		; 
FLA:	DEFW	0		; NO TRANS TABLE 
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAG
	DEFW	F548D		; ADDRESS T. DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR SET BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR SET BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM SETUP
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK


; Define 5.25" 2x40x5x1024, 128 entries. UNIT B:

	DEFW	FDWRIT
	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH5+UNIT1+DOUBLD
				; $FDXSL
	DEFB	0		; 
FLB:	DEFW	0		; NO TRANS TABLE 
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAG
	DEFW	F548D		; ADDRESS T. DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR SET BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR SET BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM SETUP
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK

	ENDIF

	PAGE
	IF	M548S

; Define 5.25" 1x40x5x1024, 64 entries. UNIT A:

	DEFW	FDWRIT▶8a◀	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH5+UNIT0+DOUBLD
				; $FDXSL
	DEFB	0		; 
FLA:	DEFW	0		; NO TRANS TABLE 
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAG
	DEFW	F548S		; ADDRESS T. DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR SET BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR SET BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM SETUP
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK


; Define 5.25" 1x40x5x1024, 64 entries. UNIT B:

	DEFW	FDWRIT▶8a◀	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH5+UNIT1+DOUBLD
				; $FDXSL
	DEFB	0		; 
FLB:	DEFW	0		; NO TRANS TABLE 
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAG
	DEFW	F548S		; ADDRESS T. DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR SET BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR SET BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM SETUP
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK

	ENDIF

	PAGE
; Define UNIT C:
; 5.25" 2x80x10x512, 128 entries

	DEFW	FDWRIT
	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH5+UNIT0+DOUBLD ; $FDXSL
	DEFB	0		; 
FLC:	DEFW	TRANS		; TRANS TABLE
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAGG
	DEFW	F596X		; ADDRESS TO DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR GEN BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR GEN BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM CALC
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK.

; Define UNIT D:
; 5.25" 2x80x10x512, 128 entries

	DEFW	FDWRIT
	DEFW	FDREAD
	DEFW	FDLGIN
	DEFW	FDINIT
	DEFB	INCH5+UNIT1+DOUBLD ; $FDXSL
	DEFB	0		; 
FLD:	DEFW	TRANS		; TRANS TABLE
	DEFB	0,0,0,0,0,0,0,0,0
	DEFB	0		; MEDIAFLAGG
	DEFW	F596X		; ADDRESS TO DPB
	DEFW	0FFFEH		; CHECKSUM VECTOR GEN BY GENCPM
	DEFW	0FFFEH		; ALLOC VECTOR GEN BY GENCPM
	DEFW	0FFFEH,0FFFEH	; LET GENCPM CALC
	DEFW	0FFFEH		; DIRBCB, DTABCB, HASH
	DEFB	0		; HASH BANK.
	PAGE
	CSEG
; DPB for 8" 2x77x8x1024, 256 entries.

F8D:	DEFW	64		; Number of logical sect/track
	DEFB	4,0FH		; BLOCK SKIFT and MASK
	DEFB	0		; EXTENT MASK
	DEFW	607		; MAX BLOCKNUMBER
	DEFW	256-1		; 256 DIR. ENTRIES
	DEFB	0F0H,0		; ALLOC VECTOR TO DIR
	DEFW	256/4		; CHECKSUMMA SIZE
	DEFW	2		; NUMBER OF OFFSET TRACKS
	DEFB	0		; PHYS. SECTOR SIZE
	DEFB	0		; PHYS. SECTOR SHIFT-MASK

	DEFB	0		; Floppy
	DEFB	8		; No. of log.sec./phys. sec.
	DEFB	22		; Read time out
	DEFB	19		; Write time out
	DEFB	0FFH		; Double sided
	DEFB	VERIFY		; Verify after write
	DEFB	RATE0		; Step rate
	DEFB	INCH8+DOUBLD	; Boot select
	DEFB	0,0,0,0,0,0	; Dummies


; DPB for 8" 1x77x26x128, 64 entries. (IBM)

F8S:	DEFW	26		; No. of logical sectors/track.
	DEFB	3,7		; BLOCK SKIFT AND MASK
	DEFB	0		; EXTENT MASK
	DEFW	242		; MAX BLOCKNUMBER
	DEFW	64-1		; 64 DIR. ENTRIES
	DEFB	0C0H,0		; ALLOC VECTOR TO DIR
	DEFW	64/4		; CHECKSUM SIZE
	DEFW	2		; OFFSET TRACK
	DEFB	0		; PHYS.SECTOR SIZE
	DEFB	0		; PHYS. SECTOR SHIFT-MASK

	DEFB	0		; Floppy
	DEFB	1		; No. of logical sectors/phys. sector.
	DEFB	22		; Read time out
	DEFB	19		; Write time out
	DEFB	0		; Single sided
	DEFB	VERIFY		; Verify after write
	DEFB	RATE0		; Step rate
	DEFB	INCH8+SINGLD	; Boot select
	DEFB	0,0,0,0,0,0	; Dummies

	PAGE
; DPB for 5.25" 2x77x8x1024, 256 entries.

F5MAX:	DEFW	64		; No. of logical sectors/track.
	DEFB	4,0FH		; BLOCK SKIFT AND MASK
	DEFB	0		; EXTENT MASK
	DEFW	607		; MAX BLOCKNUMBER
	DEFW	256-1		; 256 DIR. ENTRIES
	DEFB	0F0H,0		; ALLOC VECTOR TO DIR
	DEFW	256/4		; CHECKSUM SIZE
	DEFW	2		; OFFSET TRACKS
	DEFB	0		; PHYS. SECTOR SIZE
	DEFB	0		; PHYS. SECTOR SHIFT-MASK

	DEFB	0		; Floppy
	DEFB	8		; No. of logical sectors/phys. sector.
	DEFB	22		; Read time out
	DEFB	19		; Write time out
	DEFB	0FFH		; Double sided
	DEFB	VERIFY		; Verify after write
	DEFB	RATE0		; Step rate
	DEFB	INCH5+DOUBLD+11000000B	; Boot select
	DEFB	0,0,0,0,0,0	; Dummies


; DPB for 5.25" 2x80x5x1024, 128 entries.

F596D:	DEFW	40		; No. of logical sectors/track.
	DEFB	4,0FH		; BLOCK SKIFT AND MASK
	DEFB	0		; EXTENT MASK
	DEFW	394		; MAX BLOCKNUMBER
	DEFW	128-1		; 128 DIR. ENTRIES
	DEFB	0C0H,0		; ALLOC VECTOR TO DIR
	DEFW	128/4		; CHECKSUM SIZE
	DEFW	2		; OFFSET TRACKS
	DEFB	0		; PHYS. SECTOR SIZE
	DEFB	0		; PHYS. SECTOR SHIFT-MASK

	DEFB	0		; Floppy
	DEFB	8		; No. of logical sectors/phys. sector.
	DEFB	22		; Read time out
	DEFB	19		; Write time out
	DEFB	0FFH		; Double sided
	DEFB	VERIFY		; Verify after write
	DEFB	RATE0		; Step rate
	DEFB	INCH5+DOUBLD	; Boot select
	DEFB	0,0,0,0,0,0	; Dummies

	PAGE
; DPB for 5.25" 2x80x10x512, 128 entries.  'BUTLER' FORMAT

F596X:	DEFW	40		; No. of logical sectors/track.
	DEFB	5,1FH		; BLOCK SKIFT AND MASK
	DEFB	3		; EXTENT MASK
	DEFW	196		; MAX BLOCKNUMBER
	DEFW	128-1		; 128 DIR. ENTRIES
	DEFB	080H,0		; ALLOC VECTOR TO DIR
	DEFW	128/4		; CHECKSUM SIZE
	DEFW	2		; OFFSET TRACKS
	DEFB	0		; PHYS: SECTOR SIZE
	DEFB	0		; PHYS. SECTOR SHIFT-MASK

	DEFB	0		; Floppy
	DEFB	4		; No. of logical sectors/phys. sector
	DEFB	22		; Read time out
	DEFB	19		; Write time out
	DEFB	07FH		; Double sided - NON-STANDARD TRACK
	DEFB	VERIFY		; Verify after write
	DEFB	RATE0		; Step rate
	DEFB	INCH5+DOUBLD	; Boot select
	DEFB	0,0,0,0,0,0	; Dummies


; DPB for 5.25" 1x40x5x1024, 64 entries.

F548S:	DEFW	40		; No. of logical sectors/track.
	DEFB	3,7		; BLOCK SKIFT AND MASK
	DEFB	0		; EXTENT MASK
	DEFW	189		; MAX BLOCKNUMBER
	DEFW	64-1		; 64 DIR. ENTRIES
	DEFB	0C0H,0		; ALLOC VECTOR TILL DIR
	DEFW	64/4		; CHECKSUM SIZE
	DEFW	2		; OFFSET TRACKS
	DEFB	0		; PHYS. SECTOR SIZE
	DEFB	0		; PHYS. SECTOR SHIFT-MASK

	DEFB	0		; Floppy
	DEFB	8		; No. of logical sector/phys. sector
	DEFB	22		; Read time out
	DEFB	19		; Write time out
	DEFB	0		; Single sided
	DEFB	VERIFY		; Verify after write
	DEFB	RATE0		; Step rate
	DEFB	INCH5+DOUBLD	; Boot select
	DEFB	0,0,0,0,0,0	; Dummies

	PAGE
?TITEL:	DEFB	'80. '
	DEFB	SIGN,'"-floppy-version. '
	IF	M8
	DEFB	'2x1.2 MBytes.'
	ENDIF
	IF	M5
	DEFB	'2x1.2 MBytes.'
	ENDIF
	IF	M596D
	DEFB	'2x800 KBytes.'
	ENDIF
	IF	M548D
	DEFB	'2x400 KBytes.'
	ENDIF
	IF	M548S
	DEFB	'2x200 KBytes.'
	ENDIF
	DEFB	13,10,0	

; SKEW TABEL TO 'BUTLER'   SKEW 4.

TRANS:	DEFB	1,2,3,4,13,14,15,16▶8a◀	DEFB	25,26,27,28,37,38,39,40
	DEFB	9,10,11,12,21,22,23,24 
	DEFB	33,34,35,36,5,6,7,8
	DEFB	17,18,19,20,29,30,31,32,33 

	END
«eof»