Browse Source

Fix boot failure with three sound devices

pull/290/head
b1ackmai1er 4 years ago
parent
commit
c1412ee755
  1. 4
      Source/HBIOS/hbios.asm
  2. 9
      Source/HBIOS/sn76489.asm

4
Source/HBIOS/hbios.asm

@ -3695,7 +3695,7 @@ SND_ADDENT:
; WORD UNIT SPECIFIC DATA (TYPICALLY A DEVICE INSTANCE DATA ADDRESS) ; WORD UNIT SPECIFIC DATA (TYPICALLY A DEVICE INSTANCE DATA ADDRESS)
; ;
SND_FNCNT .EQU 8 ; NUMBER OF SND FUNCS (FOR RANGE CHECK) SND_FNCNT .EQU 8 ; NUMBER OF SND FUNCS (FOR RANGE CHECK)
SND_MAX .EQU 3 ; UP TO 2 UNITS
SND_MAX .EQU 4 ; UP TO 3 UNITS
SND_SIZ .EQU SND_MAX * 4 ; EACH ENTRY IS 4 BYTES SND_SIZ .EQU SND_MAX * 4 ; EACH ENTRY IS 4 BYTES
; ;
.DB SND_FNCNT ; SND FUNCTION COUNT (FOR RANGE CHECK) .DB SND_FNCNT ; SND FUNCTION COUNT (FOR RANGE CHECK)
@ -5230,7 +5230,7 @@ HB_ADDENT:
; ALL OTHER REGISTERS PRESERVED ; ALL OTHER REGISTERS PRESERVED
; ;
; A 4 BYTE HEADER IS PLACED IN FRONT OF THE ALLOCATED MEMORY ; A 4 BYTE HEADER IS PLACED IN FRONT OF THE ALLOCATED MEMORY
; - DWORD: SIZE OF MEMROY ALLOCATED (DOES NOT INCLUDE 4 BYTE HEADER)
; - DWORD: SIZE OF MEMORY ALLOCATED (DOES NOT INCLUDE 4 BYTE HEADER)
; - DWORD: ADDRESS WHERE ALLOC WAS CALLED (VALUE ON TOP OF STACK AT CALL) ; - DWORD: ADDRESS WHERE ALLOC WAS CALLED (VALUE ON TOP OF STACK AT CALL)
; ;
HB_ALLOC: HB_ALLOC:

9
Source/HBIOS/sn76489.asm

@ -43,6 +43,9 @@ SN7RATIO .EQU SN7CLK * 100 / 32
SN76489_INIT: SN76489_INIT:
LD IY, SN7_IDAT ; POINTER TO INSTANCE DATA LD IY, SN7_IDAT ; POINTER TO INSTANCE DATA
LD BC, SN7_FNTBL ; BC := FUNCTION TABLE ADDRESS
LD DE, SN7_IDAT ; DE := SN7 INSTANCE DATA PTR
CALL SND_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED
LD DE,STR_MESSAGELT LD DE,STR_MESSAGELT
CALL WRITESTR CALL WRITESTR
@ -53,11 +56,6 @@ SN76489_INIT:
CALL WRITESTR CALL WRITESTR
LD A, SN76489_PORT_RIGHT LD A, SN76489_PORT_RIGHT
CALL PRTHEXBYTE CALL PRTHEXBYTE
;
SN7_INIT1:
LD BC, SN7_FNTBL ; BC := FUNCTION TABLE ADDRESS
LD DE, SN7_IDAT ; DE := SN7 INSTANCE DATA PTR
CALL SND_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED
CALL SN7_VOLUME_OFF CALL SN7_VOLUME_OFF
XOR A ; SIGNAL SUCCESS XOR A ; SIGNAL SUCCESS
@ -67,7 +65,6 @@ SN7_INIT1:
; SN76489 DRIVER - SOUND ADAPTER (SND) FUNCTIONS ; SN76489 DRIVER - SOUND ADAPTER (SND) FUNCTIONS
;====================================================================== ;======================================================================
; ;
SN7_RESET: SN7_RESET:
AUDTRACE(SNT_INIT) AUDTRACE(SNT_INIT)
CALL SN7_VOLUME_OFF CALL SN7_VOLUME_OFF

Loading…
Cancel
Save