Browse Source

Update hbios.asm

pull/134/head
b1ackmai1er 6 years ago
committed by GitHub
parent
commit
bd91cb1873
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 101
      Source/HBIOS/hbios.asm

101
Source/HBIOS/hbios.asm

@ -1628,7 +1628,6 @@ HB_INIT_REC:
#IF (PLATFORM == PLT_SBC)
.DW UART_INIT
.DW MD_INIT
.DW FD_INIT
#ENDIF
HB_INITRLEN .EQU (($ - HB_INIT_REC) / 2)
;
@ -1646,6 +1645,9 @@ HB_PCINITTBL:
#IF (UARTENABLE)
.DW UART_PREINIT
#ENDIF
#IF (DUARTENABLE)
.DW DUART_PREINIT
#ENDIF
#IF (SIOENABLE)
.DW SIO_PREINIT
#ENDIF
@ -1671,14 +1673,14 @@ HB_INITTBL:
#IF (CTCENABLE)
.DW CTC_INIT
#ENDIF
#IF (AY38910ENABLE)
.DW AY38910_INIT ; AUDIBLE INDICATOR OF BOOT START
#IF (SPKENABLE)
.DW SP_INIT ; AUDIBLE INDICATOR OF BOOT START
#ENDIF
#IF (SN76489ENABLE)
.DW SN76489_INIT
#ENDIF
#IF (SPKENABLE)
.DW SP_INIT ; AUDIBLE INDICATOR OF BOOT START
#IF (AY38910ENABLE)
.DW AY38910_INIT ; AUDIBLE INDICATOR OF BOOT START
#ENDIF
#IF (ASCIENABLE)
.DW ASCI_INIT
@ -1686,6 +1688,9 @@ HB_INITTBL:
#IF (UARTENABLE)
.DW UART_INIT
#ENDIF
#IF (DUARTENABLE)
.DW DUART_INIT
#ENDIF
#IF (SIOENABLE)
.DW SIO_INIT
#ENDIF
@ -3151,6 +3156,15 @@ SIZ_UART .EQU $ - ORG_UART
.ECHO " bytes.\n"
#ENDIF
;
#IF (DUARTENABLE)
ORG_DUART .EQU $
#INCLUDE "duart.asm"
SIZ_DUART .EQU $ - ORG_DUART
.ECHO "DUART occupies "
.ECHO SIZ_DUART
.ECHO " bytes.\n"
#ENDIF
;
#IF (SIOENABLE)
ORG_SIO .EQU $
#INCLUDE "sio.asm"
@ -3666,15 +3680,10 @@ PRTSUM:
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
LD C,BF_SYSGET_SNDCNT ; SOUND DEVICES
LD HL,PS_SOUND
CALL PRT_ALLD
;
RET
;
PRT_ALLD:
@ -4017,56 +4026,6 @@ PS_PRTVC:
CALL PRTDECB
RET
;
; PRINT SOUND CONFIG
;
PS_SOUND:
PUSH BC
; UNIT COLUMN
PRTS("Sound $")
LD A,C ; MOVE UNIT NUM TO A
CALL PRTDECB ; PRINT IT
CP 10 ; CHECK FOR MULTIPLE DIGITS
CALL C,PC_SPACE ; EXTRA SPACE IF NEEDED
PRTS(" $") ; PAD TO NEXT COLUMN
; DEVICE COLUMN
PUSH BC ;
LD E,C
XOR A
LD DE,PS_SDSND ; POINT TO DEVICE TYPE NAME TABLE
CALL PRTIDXDEA ; PRINT DEVICE NMEMONIC PADDED TO FIELD WIDTH
LD A,C ; MOVE UNIT NUM TO A
CALL PRTDECB ; PRINT IT
CALL PC_COLON
CP 10 ; CHECK FOR MULTIPLE DIGITS
CALL C,PC_SPACE ; EXTRA SPACE IF NEEDED
LD A,(PRTIDXCNT)
SUB 9+1
CPL
CALL PS_PAD
POP BC
; DEVICE TYPE
;
LD B,BF_SNDQUERY ; FUNC=GET DEVICE INFO, UNIT NUM STILL IN C
LD E,BF_SNDQ_DEV
RST 08
LD A,B
DEC A
LD DE,PS_SDSN76489
CALL PRTIDXDEA
LD A,(PRTIDXCNT)
SUB 18+1
CPL
CALL PS_PAD ; PAD N SPACES (SPECIFIED IN A)
;
CALL NEWLINE
;
POP BC
RET
;
; PRINT DEVICE NMEMONIC, DEVTYP/NUM SPECIFIED IN DE
;
PS_PRTDEV:
@ -4075,7 +4034,6 @@ PS_PRTDEV:
RRCA
RRCA
RRCA
PS_PRTDEV1:
RLCA ; X2 FOR WORD OFFSET IN STRING TABLE
CALL ADDHLA
LD A,(HL)
@ -4097,9 +4055,10 @@ PS_PRTNUL:
LD HL,PS_STRNUL
; FALL THRU TO PS_PRT
;
; PRINT STRING AT (HL), $ TERM, RETURN CHARS PRINTED IN C
;
;
PS_PRT:
; PRINT STRING AT (HL), $ TERM, RETURN CHARS PRINTED IN C
LD C,0 ; INIT CHAR COUNT
PS_PRT1:
LD A,(HL) ; GET CHAR
@ -4110,9 +4069,10 @@ PS_PRT1:
INC C ; BUMP COUNTER
JR PS_PRT1 ; AND LOOP
;
; PAD N SPACES SPECIFIED IN A
;
;
PS_PAD:
; PAD N SPACES SPECIFIED IN A
LD B,A
LD A,' '
PS_PAD1:
@ -4179,7 +4139,7 @@ PS_FLP_DSTR: .TEXT "SD$" ; PS_FLPSD
;
PS_SDSTRREF:
.DW PS_SDUART, PS_SDASCI, PS_SDTERM
.DW PS_SDPRPCON, PS_SDPPPCON, PS_SDSIO, PS_SDACIA, PS_SDPIO,PS_SDUF
.DW PS_SDPRPCON, PS_SDPPPCON, PS_SDSIO, PS_SDACIA, PS_SDPIO,PS_SDUF,PS_SDDUART
;
PS_SDUART .TEXT "UART$"
PS_SDASCI .TEXT "ASCI$"
@ -4190,6 +4150,7 @@ PS_SDSIO .TEXT "SIO$"
PS_SDACIA .TEXT "ACIA$"
PS_SDPIO .TEXT "PORT$"
PS_SDUF .TEXT "UF$"
PS_SDDUART .TEXT "DUART$"
;
; CHARACTER SUB TYPE STRINGS
;
@ -4221,16 +4182,6 @@ PS_VDVGA .TEXT "VGA$"
;
PS_VTCRT .TEXT "CRT$"
;
; SOUND DEVICE STRINGS
;
PS_SDSND .TEXT "SND$"
;
; SOUND TYPE STRINGS
;
PS_SDSN76489 .TEXT "SN76489$"
PS_SDAY38910 .TEXT "AY-3-8910$"
PS_SDBITMODE .TEXT "BITMODE$"
;
; 0 1 2 3 4 5 6 7
; 01234567890123456789012345678901234567890123456789012345678901234567890123456789
PS_STRHDR .TEXT "Unit Device Type Capacity/Mode\r\n"

Loading…
Cancel
Save