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) #IF (PLATFORM == PLT_SBC)
.DW UART_INIT .DW UART_INIT
.DW MD_INIT .DW MD_INIT
.DW FD_INIT
#ENDIF #ENDIF
HB_INITRLEN .EQU (($ - HB_INIT_REC) / 2) HB_INITRLEN .EQU (($ - HB_INIT_REC) / 2)
; ;
@ -1646,6 +1645,9 @@ HB_PCINITTBL:
#IF (UARTENABLE) #IF (UARTENABLE)
.DW UART_PREINIT .DW UART_PREINIT
#ENDIF #ENDIF
#IF (DUARTENABLE)
.DW DUART_PREINIT
#ENDIF
#IF (SIOENABLE) #IF (SIOENABLE)
.DW SIO_PREINIT .DW SIO_PREINIT
#ENDIF #ENDIF
@ -1671,14 +1673,14 @@ HB_INITTBL:
#IF (CTCENABLE) #IF (CTCENABLE)
.DW CTC_INIT .DW CTC_INIT
#ENDIF #ENDIF
#IF (AY38910ENABLE)
.DW AY38910_INIT ; AUDIBLE INDICATOR OF BOOT START
#IF (SPKENABLE)
.DW SP_INIT ; AUDIBLE INDICATOR OF BOOT START
#ENDIF #ENDIF
#IF (SN76489ENABLE) #IF (SN76489ENABLE)
.DW SN76489_INIT .DW SN76489_INIT
#ENDIF #ENDIF
#IF (SPKENABLE)
.DW SP_INIT ; AUDIBLE INDICATOR OF BOOT START
#IF (AY38910ENABLE)
.DW AY38910_INIT ; AUDIBLE INDICATOR OF BOOT START
#ENDIF #ENDIF
#IF (ASCIENABLE) #IF (ASCIENABLE)
.DW ASCI_INIT .DW ASCI_INIT
@ -1686,6 +1688,9 @@ HB_INITTBL:
#IF (UARTENABLE) #IF (UARTENABLE)
.DW UART_INIT .DW UART_INIT
#ENDIF #ENDIF
#IF (DUARTENABLE)
.DW DUART_INIT
#ENDIF
#IF (SIOENABLE) #IF (SIOENABLE)
.DW SIO_INIT .DW SIO_INIT
#ENDIF #ENDIF
@ -3151,6 +3156,15 @@ SIZ_UART .EQU $ - ORG_UART
.ECHO " bytes.\n" .ECHO " bytes.\n"
#ENDIF #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) #IF (SIOENABLE)
ORG_SIO .EQU $ ORG_SIO .EQU $
#INCLUDE "sio.asm" #INCLUDE "sio.asm"
@ -3666,15 +3680,10 @@ PRTSUM:
LD C,BF_SYSGET_DIOCNT ; DISK DRIVES LD C,BF_SYSGET_DIOCNT ; DISK DRIVES
LD HL,PS_DISK LD HL,PS_DISK
CALL PRT_ALLD CALL PRT_ALLD
;
LD C,BF_SYSGET_VDACNT ; VIDEO DEVICES LD C,BF_SYSGET_VDACNT ; VIDEO DEVICES
LD HL,PS_VIDEO LD HL,PS_VIDEO
CALL PRT_ALLD CALL PRT_ALLD
LD C,BF_SYSGET_SNDCNT ; SOUND DEVICES
LD HL,PS_SOUND
CALL PRT_ALLD
;
RET RET
; ;
PRT_ALLD: PRT_ALLD:
@ -4017,56 +4026,6 @@ PS_PRTVC:
CALL PRTDECB CALL PRTDECB
RET 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 ; PRINT DEVICE NMEMONIC, DEVTYP/NUM SPECIFIED IN DE
; ;
PS_PRTDEV: PS_PRTDEV:
@ -4075,7 +4034,6 @@ PS_PRTDEV:
RRCA RRCA
RRCA RRCA
RRCA RRCA
PS_PRTDEV1:
RLCA ; X2 FOR WORD OFFSET IN STRING TABLE RLCA ; X2 FOR WORD OFFSET IN STRING TABLE
CALL ADDHLA CALL ADDHLA
LD A,(HL) LD A,(HL)
@ -4097,9 +4055,10 @@ PS_PRTNUL:
LD HL,PS_STRNUL LD HL,PS_STRNUL
; FALL THRU TO PS_PRT ; FALL THRU TO PS_PRT
; ;
; PRINT STRING AT (HL), $ TERM, RETURN CHARS PRINTED IN C
;
; ;
PS_PRT: PS_PRT:
; PRINT STRING AT (HL), $ TERM, RETURN CHARS PRINTED IN C
LD C,0 ; INIT CHAR COUNT LD C,0 ; INIT CHAR COUNT
PS_PRT1: PS_PRT1:
LD A,(HL) ; GET CHAR LD A,(HL) ; GET CHAR
@ -4110,9 +4069,10 @@ PS_PRT1:
INC C ; BUMP COUNTER INC C ; BUMP COUNTER
JR PS_PRT1 ; AND LOOP JR PS_PRT1 ; AND LOOP
; ;
; PAD N SPACES SPECIFIED IN A
;
; ;
PS_PAD: PS_PAD:
; PAD N SPACES SPECIFIED IN A
LD B,A LD B,A
LD A,' ' LD A,' '
PS_PAD1: PS_PAD1:
@ -4179,7 +4139,7 @@ PS_FLP_DSTR: .TEXT "SD$" ; PS_FLPSD
; ;
PS_SDSTRREF: PS_SDSTRREF:
.DW PS_SDUART, PS_SDASCI, PS_SDTERM .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_SDUART .TEXT "UART$"
PS_SDASCI .TEXT "ASCI$" PS_SDASCI .TEXT "ASCI$"
@ -4190,6 +4150,7 @@ PS_SDSIO .TEXT "SIO$"
PS_SDACIA .TEXT "ACIA$" PS_SDACIA .TEXT "ACIA$"
PS_SDPIO .TEXT "PORT$" PS_SDPIO .TEXT "PORT$"
PS_SDUF .TEXT "UF$" PS_SDUF .TEXT "UF$"
PS_SDDUART .TEXT "DUART$"
; ;
; CHARACTER SUB TYPE STRINGS ; CHARACTER SUB TYPE STRINGS
; ;
@ -4221,16 +4182,6 @@ PS_VDVGA .TEXT "VGA$"
; ;
PS_VTCRT .TEXT "CRT$" 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 ; 0 1 2 3 4 5 6 7
; 01234567890123456789012345678901234567890123456789012345678901234567890123456789 ; 01234567890123456789012345678901234567890123456789012345678901234567890123456789
PS_STRHDR .TEXT "Unit Device Type Capacity/Mode\r\n" PS_STRHDR .TEXT "Unit Device Type Capacity/Mode\r\n"

Loading…
Cancel
Save