|
|
|
@ -1357,18 +1357,23 @@ HB_SPDTST: |
|
|
|
PRTX(STR_PLATFORM) |
|
|
|
; |
|
|
|
LD A,(HB_CPUTYPE) ; GET CPU TYPE |
|
|
|
OR A ; SET FLAGS |
|
|
|
LD DE,HB_STRZ80 ; Z80 |
|
|
|
JR Z,HB_PCPU ; IF Z80, PRINT IT |
|
|
|
DEC A ; NEXT CPU TYPE |
|
|
|
LD DE,HB_STRZ180 ; Z80180 |
|
|
|
JR Z,HB_PCPU ; IF Z80180, PRINT IT |
|
|
|
DEC A ; NEXT CPU TYPE |
|
|
|
LD DE,HB_STRZS180K ; Z8S180 REV K |
|
|
|
JR Z,HB_PCPU ; IF Z8S180-K, PRINT IT |
|
|
|
LD DE,HB_STRZS180N ; Z8S180 REV N |
|
|
|
LD DE,HB_CPU_STR ; DISPLAY IT |
|
|
|
CALL PRTIDXDEA |
|
|
|
; OR A ; SET FLAGS |
|
|
|
; LD DE,HB_STRZ80 ; Z80 |
|
|
|
; JR Z,HB_PCPU ; IF Z80, PRINT IT |
|
|
|
; DEC A ; NEXT CPU TYPE |
|
|
|
; LD DE,HB_STRZ180 ; Z80180 |
|
|
|
; JR Z,HB_PCPU ; IF Z80180, PRINT IT |
|
|
|
; DEC A ; NEXT CPU TYPE |
|
|
|
; LD DE,HB_STRZS180K ; Z8S180 REV K |
|
|
|
; JR Z,HB_PCPU ; IF Z8S180-K, PRINT IT |
|
|
|
; LD DE,HB_STRZS180N ; Z8S180 REV N |
|
|
|
|
|
|
|
|
|
|
|
JR HB_PCPU ; PRINT Z8S180-N |
|
|
|
; |
|
|
|
HB_CPU_STR: |
|
|
|
HB_STRZ80 .TEXT " Z80$" |
|
|
|
HB_STRZ180 .TEXT " Z80180$" |
|
|
|
HB_STRZS180K .TEXT " Z8S180-K$" |
|
|
|
@ -3016,7 +3021,6 @@ PRTD3M2: |
|
|
|
CALL COUT |
|
|
|
PRTD3M3: |
|
|
|
RET |
|
|
|
; |
|
|
|
;================================================================================================== |
|
|
|
; DISPLAY SUMMARY OF ATTACHED UNITS/DEVICES |
|
|
|
;================================================================================================== |
|
|
|
@ -3026,58 +3030,100 @@ PRTSUM: |
|
|
|
LD DE,PS_STRHDR ; POINT TO HEADER |
|
|
|
CALL WRITESTR ; PRINT IT |
|
|
|
; |
|
|
|
; PRINT DISK DEVICES |
|
|
|
LD B,BF_SYSGET ; FUNC: SYSTEM INFO GET |
|
|
|
LD C,BF_SYSGET_DIOCNT ; SUBFUNC: DISK UNIT COUNT |
|
|
|
RST 08 ; E := DISK UNIT COUNT |
|
|
|
LD B,E ; MOVE TO B FOR LOOP COUNT |
|
|
|
LD A,E ; MOVE TO ACCUM |
|
|
|
OR A ; SET FLAGS |
|
|
|
JR Z,PRTSUM1A ; IF NONE, BYPASS |
|
|
|
LD C,0 ; C WILL BE UNIT INDEX |
|
|
|
PRTSUM1: |
|
|
|
PUSH BC ; SAVE LOOP CONTROL |
|
|
|
CALL PS_DISK ; PRINT DISK INFO |
|
|
|
POP BC ; RESTORE LOOP CONTROL |
|
|
|
INC C ; BUMP DISK UNIT INDEX |
|
|
|
DJNZ PRTSUM1 ; LOOP THRU ALL DISK DEVICES |
|
|
|
LD C,BF_SYSGET_CIOCNT ; CHARACTER DEVICES |
|
|
|
LD HL,PS_SERIAL |
|
|
|
CALL PRT_ALLD |
|
|
|
; |
|
|
|
PRTSUM1A: |
|
|
|
; PRINT SERIAL DEVICES |
|
|
|
LD B,BF_SYSGET ; FUNC: SYSTEM INFO GET |
|
|
|
LD C,BF_SYSGET_CIOCNT ; SUBFUNC: SERIAL UNIT COUNT |
|
|
|
RST 08 ; E := SERIAL UNIT COUNT |
|
|
|
LD B,E ; MOVE TO B FOR LOOP COUNT |
|
|
|
LD A,E ; MOVE TO ACCUM |
|
|
|
OR A ; SET FLAGS |
|
|
|
JR Z,PRTSUM2A ; IF NONE, BYPASS |
|
|
|
LD C,0 ; C WILL BE UNIT INDEX |
|
|
|
PRTSUM2: |
|
|
|
PUSH BC ; SAVE LOOP CONTROL |
|
|
|
CALL PS_SERIAL ; PRINT SERIAL INFO |
|
|
|
POP BC ; RESTORE LOOP CONTROL |
|
|
|
INC C ; BUMP SERIAL UNIT INDEX |
|
|
|
DJNZ PRTSUM2 ; LOOP THRU ALL SERIAL DEVICES |
|
|
|
LD C,BF_SYSGET_DIOCNT ; DISK DRIVES |
|
|
|
LD HL,PS_DISK |
|
|
|
CALL PRT_ALLD |
|
|
|
|
|
|
|
LD C,BF_SYSGET_VDACNT ; VIDEO DEVICES |
|
|
|
LD HL,PS_VIDEO |
|
|
|
CALL PRT_ALLD |
|
|
|
RET |
|
|
|
; |
|
|
|
PRTSUM2A: |
|
|
|
; PRINT VIDEO DEVICES |
|
|
|
PRT_ALLD: |
|
|
|
LD B,BF_SYSGET ; FUNC: SYSTEM INFO GET |
|
|
|
LD C,BF_SYSGET_VDACNT ; SUBFUNC: VIDEO UNIT COUNT |
|
|
|
RST 08 ; E := SERIAL UNIT COUNT |
|
|
|
RST 08 ; E := UNIT COUNT |
|
|
|
LD B,E ; MOVE TO B FOR LOOP COUNT |
|
|
|
LD A,E ; MOVE TO ACCUM |
|
|
|
OR A ; SET FLAGS |
|
|
|
JR Z,PRTSUM3A ; IF NONE, BYPASS |
|
|
|
JR Z,PRT_ALLD1 ; IF NONE, BYPASS |
|
|
|
LD C,0 ; C WILL BE UNIT INDEX |
|
|
|
PRTSUM3: |
|
|
|
PRT_ALLD1: |
|
|
|
PUSH BC ; SAVE LOOP CONTROL |
|
|
|
CALL PS_VIDEO ; PRINT VIDEO INFO |
|
|
|
PUSH DE |
|
|
|
PUSH HL |
|
|
|
CALL JPHL ; CALL THE ROUTINE PASSED IN HL |
|
|
|
POP HL |
|
|
|
POP DE |
|
|
|
POP BC ; RESTORE LOOP CONTROL |
|
|
|
INC C ; BUMP VIDEO UNIT INDEX |
|
|
|
DJNZ PRTSUM3 ; LOOP THRU ALL VIDEO DEVICES |
|
|
|
INC C ; BUMP DISK UNIT INDEX |
|
|
|
DJNZ PRT_ALLD1 ; LOOP THRU ALL DISK DEVICES |
|
|
|
RET |
|
|
|
; |
|
|
|
PRTSUM3A: |
|
|
|
RET ; DONE |
|
|
|
;================================================================================================== |
|
|
|
; DISPLAY SUMMARY OF ATTACHED UNITS/DEVICES |
|
|
|
;================================================================================================== |
|
|
|
; |
|
|
|
;PRTSUM: |
|
|
|
; CALL NEWLINE2 ; SKIP A LINE |
|
|
|
; LD DE,PS_STRHDR ; POINT TO HEADER |
|
|
|
; CALL WRITESTR ; PRINT IT |
|
|
|
; |
|
|
|
; ; PRINT DISK DEVICES |
|
|
|
; LD B,BF_SYSGET ; FUNC: SYSTEM INFO GET |
|
|
|
; LD C,BF_SYSGET_DIOCNT ; SUBFUNC: DISK UNIT COUNT |
|
|
|
; RST 08 ; E := DISK UNIT COUNT |
|
|
|
; LD B,E ; MOVE TO B FOR LOOP COUNT |
|
|
|
; LD A,E ; MOVE TO ACCUM |
|
|
|
; OR A ; SET FLAGS |
|
|
|
; JR Z,PRTSUM1A ; IF NONE, BYPASS |
|
|
|
; LD C,0 ; C WILL BE UNIT INDEX |
|
|
|
;PRTSUM1: |
|
|
|
; PUSH BC ; SAVE LOOP CONTROL |
|
|
|
; CALL PS_DISK ; PRINT DISK INFO |
|
|
|
; POP BC ; RESTORE LOOP CONTROL |
|
|
|
; INC C ; BUMP DISK UNIT INDEX |
|
|
|
; DJNZ PRTSUM1 ; LOOP THRU ALL DISK DEVICES |
|
|
|
; |
|
|
|
;PRTSUM1A: |
|
|
|
; ; PRINT SERIAL DEVICES |
|
|
|
; LD B,BF_SYSGET ; FUNC: SYSTEM INFO GET |
|
|
|
; LD C,BF_SYSGET_CIOCNT ; SUBFUNC: SERIAL UNIT COUNT |
|
|
|
; RST 08 ; E := SERIAL UNIT COUNT |
|
|
|
; LD B,E ; MOVE TO B FOR LOOP COUNT |
|
|
|
; LD A,E ; MOVE TO ACCUM |
|
|
|
; OR A ; SET FLAGS |
|
|
|
; JR Z,PRTSUM2A ; IF NONE, BYPASS |
|
|
|
; LD C,0 ; C WILL BE UNIT INDEX |
|
|
|
;PRTSUM2: |
|
|
|
; PUSH BC ; SAVE LOOP CONTROL |
|
|
|
; CALL PS_SERIAL ; PRINT SERIAL INFO |
|
|
|
; POP BC ; RESTORE LOOP CONTROL |
|
|
|
; INC C ; BUMP SERIAL UNIT INDEX |
|
|
|
; DJNZ PRTSUM2 ; LOOP THRU ALL SERIAL DEVICES |
|
|
|
; |
|
|
|
;PRTSUM2A: |
|
|
|
; ; PRINT VIDEO DEVICES |
|
|
|
; LD B,BF_SYSGET ; FUNC: SYSTEM INFO GET |
|
|
|
; LD C,BF_SYSGET_VDACNT ; SUBFUNC: VIDEO UNIT COUNT |
|
|
|
; RST 08 ; E := SERIAL UNIT COUNT |
|
|
|
; LD B,E ; MOVE TO B FOR LOOP COUNT |
|
|
|
; LD A,E ; MOVE TO ACCUM |
|
|
|
; OR A ; SET FLAGS |
|
|
|
; JR Z,PRTSUM3A ; IF NONE, BYPASS |
|
|
|
; LD C,0 ; C WILL BE UNIT INDEX |
|
|
|
;PRTSUM3: |
|
|
|
; PUSH BC ; SAVE LOOP CONTROL |
|
|
|
; CALL PS_VIDEO ; PRINT VIDEO INFO |
|
|
|
; POP BC ; RESTORE LOOP CONTROL |
|
|
|
; INC C ; BUMP VIDEO UNIT INDEX |
|
|
|
; DJNZ PRTSUM3 ; LOOP THRU ALL VIDEO DEVICES |
|
|
|
; |
|
|
|
;PRTSUM3A: |
|
|
|
; RET ; DONE |
|
|
|
; |
|
|
|
; PRINT ONE LINE DISK UNIT/DEVICE INFO, DISK UNIT INDEX IN C |
|
|
|
; |
|
|
|
@ -3348,32 +3394,16 @@ PSPRTPC0: |
|
|
|
JP Z,PS_PRTNUL ; $FF == NO CONFIG DEFINED |
|
|
|
; |
|
|
|
PS_PRTPC0: |
|
|
|
LD A,E |
|
|
|
RLCA |
|
|
|
RLCA |
|
|
|
LD A,E ; CONVERT THE TYPE TO |
|
|
|
RLCA ; A TABLE INDEX 0..5 |
|
|
|
RLCA ; AND DISPLAY THE TYPE |
|
|
|
AND 00000011B |
|
|
|
JR NZ,PSPRTPC1 |
|
|
|
PRTS("Output$") |
|
|
|
RET |
|
|
|
PSPRTPC1: |
|
|
|
DEC A |
|
|
|
JR NZ,PSPRTPC2 |
|
|
|
PRTS("Input$") |
|
|
|
RET |
|
|
|
PSPRTPC2: |
|
|
|
DEC A |
|
|
|
JR NZ,PSPRTPC3 |
|
|
|
PRTS("Bidirectional$") |
|
|
|
RET |
|
|
|
PSPRTPC3: |
|
|
|
DEC A |
|
|
|
JR NZ,PSPRTPC4 |
|
|
|
PRTS("BitCtrl$") |
|
|
|
RET |
|
|
|
PSPRTPC4: |
|
|
|
PRTS("Undefined$") |
|
|
|
PUSH DE |
|
|
|
LD DE,PIO_MODE_STR |
|
|
|
CALL PRTIDXDEA |
|
|
|
POP DE |
|
|
|
RET |
|
|
|
|
|
|
|
; |
|
|
|
PS_PRTSC1: |
|
|
|
; PRINT TERMINAL CONFIG |
|
|
|
LD A,C ; GET ATTRIBUTE VALUE |
|
|
|
@ -3578,10 +3608,14 @@ PS_STTERM .TEXT "Terminal$" |
|
|
|
PS_STPPT .TEXT "Parallel$" |
|
|
|
; |
|
|
|
PS_STPARMAP .DB "NONENMNS" |
|
|
|
|
|
|
|
; |
|
|
|
; SERIAL TYPE STRINGS |
|
|
|
; PIO TYPE STRINGS |
|
|
|
; |
|
|
|
PIO_MODE_STR: |
|
|
|
.TEXT "Output$" |
|
|
|
.TEXT "Input$" |
|
|
|
.TEXT "Bidirectional$" |
|
|
|
.TEXT "BitCtrl$" |
|
|
|
; |
|
|
|
; VIDEO DEVICE STRINGS |
|
|
|
; |
|
|
|
|