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

⟦b2e2afbba⟧ TextFile

    Length: 12032 (0x2f00)
    Types: TextFile
    Names: »FDRIVES.ASM«

Derivation

└─⟦7303e23ba⟧ Bits:30003507 JET80 System diskette
    └─ ⟦this⟧ »FDRIVES.ASM« 
└─⟦a844860b7⟧ Bits:30002858 CP/M Plus (tm) Version 3.0 for JET80
    └─ ⟦this⟧ »FDRIVES.ASM« 
└─⟦c10cc8855⟧ Bits:30002859 CP/M Plus med Hit & Dit filoverførsel for JET80
    └─ ⟦this⟧ »FDRIVES.ASM« 

TextFile

	TITLE 'FDRIVES.ASM     TABLES FOR DISKETTES'
;*********************************************************
;*    DEFINITION MODULE FOR THE FLOPPIES IN THE SYSTEM   *
;*********************************************************
; LATEST CHANGE: 1984-06-13.  PSW
; BIOSREVISION D.
; FOR THE RMAC ASSEMBLER
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: 8" 2x77x8x1024, 256 ent. UNIT0
				; D: 8" 1x77x26x128,  64 ent. UNIT0
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 TUE.
;******************************************************************
	PAGE	42
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	; PHYSICAL UNIT SELECT 0
UNIT1	EQU	00000001B	; PHYSICAL UNIT SELECT 1
UNIT2	EQU	00000010B	; PHYSICAL UNIT SELECT 2
UNIT3	EQU	00000011B	; PHYSICAL UNIT SELECT 3

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

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

COMM	EQU	0C0H		; COMMON AREA▶8a◀
	IF	M8
SIGN	EQU	'8'
	ELSE
SIGN	EQU	'5'
	ENDIF
	EXTRN	FDREAD,FDWRIT,FDLGIN,FDINIT
	PUBLIC	@DTBL,?TITEL
	PUBLIC	@COMMO
	CSEG
@DTBL:	DW	FLA,FLB,FLC,FLD
	DW	0,0,0,0
	DW	0,0,0,0
	DW	0,0,0,0
@COMMO:	DB	COMM
	PAGE
	DSEG
	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		; MEDIAFLAG
	DW	F8D		; ADDRESS T. DPB
	DW	0FFFEH		; CHECKSUM VECTOR SET BY GENCPM
	DW	0FFFEH		; ALLOC VECTOR SET BY GENCPM
	DW	0FFFEH,0FFFEH	; LET GENCPM SETUP
	DW	0FFFEH		; DIRBCB, DTABCB, HASH
	DB	0		; HASH BANK 


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

	DW	FDWRIT
	DW	FDREAD
	DW	FDLGIN
	DW	FDINIT
	DB	INCH8+UNIT1+DOUBLD
				; $FDXSL
	DB	0		; 
FLB:	DW	0		; NO TRANS TABLE 
	DB	0,0,0,0,0,0,0,0,0
	DB	0		; MEDIAFLAG
	DW	F8D		; ADDRESS T. DPB
	DW	0FFFEH		; CHECKSUM VECTOR SET BY GENCPM▶8a◀	DW	0FFFEH		; ALLOC VECTOR SET BY GENCPM
	DW	0FFFEH,0FFFEH	; LET GENCPM SETUP
	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		; MEDIAFLAG
	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.


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

	DW	FDWRIT
	DW	FDREAD
	DW	FDLGIN
	DW	FDINIT
	DB	INCH5+UNIT1+DOUBLD+11000000B
				; $FDXSL 2 MHz 8" Mode
	DB	0		; 
FLB:	DW	0		; NO TRANS TABLE
	DB	0,0,0,0,0,0,0,0,0
	DB	0		; MEDIAFLAG
	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	M596D
; 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		; MEDIAFLAG
	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.


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

	DW	FDWRIT
	DW	FDREAD
	DW	FDLGIN
	DW	FDINIT
	DB	INCH5+UNIT1+DOUBLD
				; $FDXSL
	DB	0		; 
FLB:	DW	0		; NO TRANS TABLE
	DB	0,0,0,0,0,0,0,0,0
	DB	0		; MEDIAFLAG
	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
	IF	M548D

; Define 5.25" 2x40x5x1024, 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		; MEDIAFLAG
	DW	F548D		; ADDRESS T. DPB
	DW	0FFFEH		; CHECKSUM VECTOR SET BY GENCPM
	DW	0FFFEH		; ALLOC VECTOR SET BY GENCPM
	DW	0FFFEH,0FFFEH	; LET GENCPM SETUP
	DW	0FFFEH		; DIRBCB, DTABCB, HASH
	DB	0		; HASH BANK


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

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

	ENDIF
	IF	M548S

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

	DW	FDWRIT▶8a◀	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		; MEDIAFLAG
	DW	F548S		; ADDRESS T. DPB
	DW	0FFFEH		; CHECKSUM VECTOR SET BY GENCPM
	DW	0FFFEH		; ALLOC VECTOR SET BY GENCPM
	DW	0FFFEH,0FFFEH	; LET GENCPM SETUP
	DW	0FFFEH		; DIRBCB, DTABCB, HASH
	DB	0		; HASH BANK


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

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

	ENDIF

; Define UNIT C:
; If M8 it is 5.25" 2x80x5x1024, 128 entries
;          else  8" 2x77x8x1024, 256 entries.

	DW	FDWRIT
	DW	FDREAD
	DW	FDLGIN
	DW	FDINIT
	IF	M8
	DB	INCH5+UNIT0+DOUBLD ; $FDXSL
	ELSE
	DB	INCH8+UNIT0+DOUBLD
	ENDIF
	DB	0		; 
FLC:	DW	0		; NO TRANS TABLE
	DB	0,0,0,0,0,0,0,0,0
	DB	0		; MEDIAFLAG
	IF	M8
	DW	F596D		; ADDRESS TO DPB
	ELSE
	DW	F8D
	ENDIF
	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.

; Define 8" 1x77x26x128, 64 entries (IBM). UNIT D:

	DW	FDWRIT
	DW	FDREAD
	DW	FDLGIN
	DW	FDINIT
	IF	M8
	DB	INCH8+UNIT1+SINGLD ; $FDXSL
	ELSE
	DB	INCH8+UNIT0+SINGLD
	ENDIF
	DB	0		; 
FLD:	DW	TRANS		; TRANS TABLE
	DB	0,0,0,0,0,0,0,0,0
	DB	0		; MEDIAFLAG
	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

; DPB for 5.25" 2x40x5x1024, 128 entries.

F548D:	DW	40		; No. of logical sectors/track.
	DB	4,0FH		; BLOCK SKIFT AND MASK
	DB	1		; EXTENT MASK
	DW	194		; 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


; DPB for 5.25" 1x40x5x1024, 64 entries.

F548S:	DW	40		; No. of logical sectors/track.
	DB	3,7		; BLOCK SKIFT AND MASK
	DB	0		; EXTENT MASK
	DW	189		; MAX BLOCKNUMBER
	DW	64-1		; 64 DIR. ENTRIES
	DB	0C0H,0		; ALLOC VECTOR TILL DIR
	DW	64/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 sector/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	INCH5+DOUBLD	; Boot select
	DB	0,0,0,0,0,0	; Dummies

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

TRANS:	DB	1,7,13,19,25▶8a◀	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»