mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Refactor of device summary floppy
This commit is contained in:
@@ -3223,51 +3223,65 @@ PS_PRTDC1:
|
||||
;
|
||||
PS_PRTDC2:
|
||||
LD C,E ; ATTRIBUTE TO C FOR SAFE KEEPING
|
||||
; PRINT FLOPPY TYPE
|
||||
LD A,C ; ATTRIBUTE TO ACCUM
|
||||
RLCA ; ISOLATE FORM FACTOR BITS
|
||||
RLCA
|
||||
RLCA
|
||||
AND $03
|
||||
LD DE,PS_FLP8 ; ASSUME 8"
|
||||
CP 0
|
||||
JR Z,PS_PRTDC2A
|
||||
LD DE,PS_FLP5 ; ASSUME 5.25"
|
||||
CP 1
|
||||
JR Z,PS_PRTDC2A
|
||||
LD DE,PS_FLP3 ; ASSUME 3.5"
|
||||
CP 2
|
||||
JR Z,PS_PRTDC2A
|
||||
LD DE,PS_FLPN ; ASSUME OTHER"
|
||||
PS_PRTDC2A:
|
||||
CALL WRITESTR
|
||||
; PRINT FLOPPY SIDES
|
||||
LD A,C ; ATTRIBUTE TO ACCUM
|
||||
LD DE,PS_FLPSS ; ASSUME SINGLE SIDED
|
||||
BIT 4,A ; DS?
|
||||
JR Z,PS_PRTDC2B
|
||||
LD DE,PS_FLPDS ; DOUBLE SIDED
|
||||
PS_PRTDC2B:
|
||||
CALL WRITESTR
|
||||
; PRINT FLOPPY DENSITY
|
||||
LD A,C ; ATTRIBUTE TO ACCUM
|
||||
RRCA ; ISOLATE DENSITY BITS
|
||||
RRCA
|
||||
AND $03
|
||||
LD DE,PS_FLPSD ; SINGLE DENSITY
|
||||
CP 0
|
||||
JR Z,PS_PRTDC2C
|
||||
LD DE,PS_FLPDD ; DOUBLE DENSITY
|
||||
CP 1
|
||||
JR Z,PS_PRTDC2C
|
||||
LD DE,PS_FLPHD ; HIGH DENSITY
|
||||
CP 2
|
||||
JR Z,PS_PRTDC2C
|
||||
LD DE,PS_FLPED ; EXTENDED DENSITY
|
||||
CP 3
|
||||
JR Z,PS_PRTDC2C
|
||||
;
|
||||
LD A,01100000B ; DISPLAY FORM FACTOR
|
||||
LD DE,PS_FLP8 ; WHICH IS DEFINED IN
|
||||
CALL PRTIDXMSK ; BITS 5 AND 6.
|
||||
;
|
||||
LD A,00010000B ; DISPLAY SIDES
|
||||
LD DE,PS_FLPSS ; WHICH IS DEFINED
|
||||
CALL PRTIDXMSK ; IN BIT 4
|
||||
;
|
||||
LD A,00001100B ; DISPLAY DENSITY
|
||||
LD DE,PS_FLPSD ; WHICH IS DEFINED IN
|
||||
CALL PRTIDXMSK ; BITS 1 AND 2.
|
||||
;
|
||||
; ; PRINT FLOPPY TYPE
|
||||
; LD A,C ; ATTRIBUTE TO ACCUM
|
||||
; RLCA ; ISOLATE FORM FACTOR BITS
|
||||
; RLCA
|
||||
; RLCA
|
||||
; AND $03
|
||||
; LD DE,PS_FLP8 ; ASSUME 8"
|
||||
; CP 0
|
||||
; JR Z,PS_PRTDC2A
|
||||
; LD DE,PS_FLP5 ; ASSUME 5.25"
|
||||
; CP 1
|
||||
; JR Z,PS_PRTDC2A
|
||||
; LD DE,PS_FLP3 ; ASSUME 3.5"
|
||||
; CP 2
|
||||
; JR Z,PS_PRTDC2A
|
||||
; LD DE,PS_FLPN ; ASSUME OTHER"
|
||||
;PS_PRTDC2A:
|
||||
; CALL WRITESTR
|
||||
;; ; PRINT FLOPPY SIDES
|
||||
; LD A,C ; ATTRIBUTE TO ACCUM
|
||||
; LD DE,PS_FLPSS ; ASSUME SINGLE SIDED
|
||||
; BIT 4,A ; DS?
|
||||
; JR Z,PS_PRTDC2B
|
||||
; LD DE,PS_FLPDS ; DOUBLE SIDED
|
||||
;PS_PRTDC2B:
|
||||
; CALL WRITESTR
|
||||
; ; PRINT FLOPPY DENSITY
|
||||
; LD A,C ; ATTRIBUTE TO ACCUM
|
||||
; RRCA ; ISOLATE DENSITY BITS
|
||||
; RRCA
|
||||
; AND $03
|
||||
; LD DE,PS_FLPSD ; SINGLE DENSITY
|
||||
; CP 0
|
||||
; JR Z,PS_PRTDC2C
|
||||
; LD DE,PS_FLPDD ; DOUBLE DENSITY
|
||||
; CP 1
|
||||
; JR Z,PS_PRTDC2C
|
||||
; LD DE,PS_FLPHD ; HIGH DENSITY
|
||||
; CP 2
|
||||
; JR Z,PS_PRTDC2C
|
||||
; LD DE,PS_FLPED ; EXTENDED DENSITY
|
||||
; CP 3
|
||||
; JR Z,PS_PRTDC2C
|
||||
PS_PRTDC2C:
|
||||
CALL WRITESTR
|
||||
; CALL WRITESTR
|
||||
;
|
||||
CALL PC_COMMA
|
||||
PRTS("CHS$") ; FOR NOW, WE ASSUME HARD DISK DOES LBA
|
||||
;
|
||||
|
||||
@@ -298,6 +298,30 @@ DB_END:
|
||||
RET
|
||||
;
|
||||
; PRINT THE nTH STRING IN A LIST OF STRINGS WHERE EACH IS TERMINATED BY $
|
||||
; C REGISTER CONTAINS THE INDEX TO THE STRING TO BE DISPLAYED.
|
||||
; A REGISTER CONTAINS A MASK TO BE APPLIED TO THE INDEX
|
||||
; THE INDEX IS NORMALIZED TO A RANGE 0..N USING THE MASK AND THEN THE nTH
|
||||
; STRING IS PRINTED IN A LIST DEFINED BY DE
|
||||
;
|
||||
; C = ATTRIBUTE
|
||||
; A = MASK
|
||||
; DE = STRING LIST
|
||||
;
|
||||
PRTIDXMSK:
|
||||
PUSH BC
|
||||
PRTIDXMSK0:
|
||||
BIT 0,A
|
||||
JR NZ,PRTIDXMSK1
|
||||
SRL A
|
||||
SRL C
|
||||
JR PRTIDXMSK0
|
||||
PRTIDXMSK1:
|
||||
LD B,A
|
||||
LD A,C
|
||||
AND B
|
||||
POP BC
|
||||
;
|
||||
; PRINT THE nTH STRING IN A LIST OF STRINGS WHERE EACH IS TERMINATED BY $
|
||||
; A REGISTER DEFINES THE nTH STRING IN THE LIST TO PRINT AND DE POINTS
|
||||
; TO THE START OF THE STRING LIST.
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user