|
|
|
@ -156,8 +156,12 @@ SN7_PITCH: |
|
|
|
XOR A ; SIGNAL SUCCESS |
|
|
|
RET |
|
|
|
|
|
|
|
SN7_QUERY_PITCH1: |
|
|
|
OR $FF |
|
|
|
SN7_QUERY_PITCH1: ; REQUESTED PERIOD IS LARGER THAN THE SN76489 CAN SUPPORT |
|
|
|
LD L, $FF |
|
|
|
LD H, $FF |
|
|
|
LD (PENDING_PITCH), HL |
|
|
|
|
|
|
|
OR $FF ; SIGNAL FAILURE |
|
|
|
RET |
|
|
|
|
|
|
|
SN7_PLAY: |
|
|
|
@ -165,12 +169,27 @@ SN7_PLAY: |
|
|
|
AUDTRACE_D |
|
|
|
AUDDEBUG("\r\n") |
|
|
|
|
|
|
|
LD A, (PENDING_PITCH + 1) |
|
|
|
CP $FF |
|
|
|
JR Z, SN7_PLAY1 ; PERIOD IS TOO LARGE, UNABLE TO PLAY |
|
|
|
CALL SN7_APPLY_VOL |
|
|
|
CALL SN7_APPLY_PIT |
|
|
|
|
|
|
|
XOR A ; SIGNAL SUCCESS |
|
|
|
RET |
|
|
|
|
|
|
|
SN7_PLAY1: ; TURN CHANNEL VOL TO OFF AND STOP PLAYING |
|
|
|
LD A, (PENDING_VOLUME) |
|
|
|
PUSH AF |
|
|
|
LD A, 0 |
|
|
|
LD (PENDING_VOLUME), A |
|
|
|
CALL SN7_APPLY_VOL |
|
|
|
POP AF |
|
|
|
LD (PENDING_VOLUME), A |
|
|
|
|
|
|
|
OR $FF ; SIGNAL FAILURE |
|
|
|
RET |
|
|
|
|
|
|
|
SN7_QUERY: |
|
|
|
LD A, E |
|
|
|
CP BF_SNDQ_CHCNT |
|
|
|
|