Fix to enable PSG without TMS

This commit is contained in:
b1ackmai1er
2018-08-20 19:40:39 +08:00
committed by GitHub
parent b4a7805033
commit f982a5e67b

View File

@@ -7,6 +7,7 @@
PSG_RSEL .EQU $9A
PSG_RDAT .EQU $9B
PSG_ACR .EQU $9C
AYR0CHAP .EQU $00
AYR1CHAP .EQU $01
AYR2CHBP .EQU $02
@@ -22,24 +23,24 @@ AYR9BVOL .EQU $09
SND_INIT:
CALL NEWLINE ; FORMATTING
PRTS("PSG: IO=0x$")
LD A,PSG_RSEL
LD A,PSG_RSEL
CALL PRTHEXBYTE
CALL PSG_PROBE ; CHECK FOR HW EXISTENCE
JR Z,PSG_INIT1 ; CONTINUE IF PRESENT
JR Z,PSG_INIT1 ; CONTINUE IF PRESENT
;
; HARDWARE NOT PRESENT
;
PRTS(" NOT PRESENT$")
OR $FF ; SIGNAL FAILURE
OR $FF ; SIGNAL FAILURE
RET
;
PSG_INIT1:
CALL PSG_INIT2
CALL BEEP
PSG_INIT2:
LD A,AYR7ENAB ; SET MIXER CONTROL / IO ENABLE
LD E,$FF ; $FF - 11 111 111
CALL WRTPSG ; I/O PORTS DISABLED, NOISE CHANNEL C, B, A DISABLE, TONE CHANNEL C, B, A DISABLE
LD A,AYR7ENAB ; SET MIXER CONTROL / IO ENABLE
LD E,$FF ; $FF - 11 111 111
CALL WRTPSG ; I/O PORTS DISABLED, NOISE CHANNEL C, B, A DISABLE, TONE CHANNEL C, B, A DISABLE
;
LD B,2
LD A,AYR8AVOL ; SET VOLUME TO 0
@@ -87,7 +88,7 @@ WRTPSG:
;
PSG_PROBE:
LD A,$FF
OUT (TMS_ACR),A ; INIT AUX CONTROL REG
OUT (PSG_ACR),A ; INIT AUX CONTROL REG
XOR A
RET
;