mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:13:13 -06:00
Update audio.inc
Commentry
This commit is contained in:
@@ -41,25 +41,25 @@ AUD_NOTE:
|
||||
AUDTRACE_CR
|
||||
AUDTRACE_DE
|
||||
AUDTRACE_CR
|
||||
;
|
||||
PUSH DE ; ON ENTRY HL IS THE NOTE TO PLAY
|
||||
LD DE, 48 ; AND DE IS THE START OF NOTE TABLE
|
||||
CALL DIV16 ; LOAD DE WITH NOTE TABLE SIZE
|
||||
; AND CALCULATE OCTAVE COUNT IN BC
|
||||
|
||||
push de
|
||||
LD DE, 48
|
||||
CALL DIV16
|
||||
; BC IS OCTAVE COUNT
|
||||
; HL is NOTE WITIN OCTAVE
|
||||
ADD HL, HL
|
||||
pop de
|
||||
ADD HL, DE
|
||||
ADD HL, HL ; HL IS THE REMAINDER FROM ABOVE DIVISION (0-47) AND THE NOTE
|
||||
POP DE ; TO PLAY IN THE OCTAVE. ADD IT TO THE START OF THE NOTE TABLE
|
||||
ADD HL, DE ; TO POINT TO THE PERIOD FOR THE NOTE WE WANT TO PLAY.
|
||||
|
||||
LD A, (HL) ; RETRIEVE PERIOD COUNT FROM SN7NOTETBL
|
||||
INC HL
|
||||
LD H, (HL)
|
||||
LD A, (HL) ; HL POINT TO CURRENT PERIOD COUNT WE WANT TO PLAY
|
||||
INC HL ; SO LOAD PERIOD COUNT FROM NOTE TABLE INTO HL
|
||||
LD H, (HL) ; SO WE CAN UPDATE IT FOR THE REQUIRED OCTAVE
|
||||
LD L, A
|
||||
|
||||
INC C
|
||||
AUD_NOTE1:
|
||||
DEC C
|
||||
JR Z, AUD_NOTE2
|
||||
AUD_NOTE1: ; DIVIDE THE PERIOD
|
||||
DEC C ; BY TWO
|
||||
JR Z, AUD_NOTE2 ; FOR EACH OCTAVE
|
||||
SRL H
|
||||
RR L
|
||||
JR AUD_NOTE1
|
||||
@@ -69,7 +69,8 @@ AUD_NOTE2:
|
||||
OR H
|
||||
RET NZ ; RETURN THE CALCULATED PERIOD
|
||||
|
||||
LD H, $FF ; OTHERWISE RETURN -1 PERIOD (ERROR)
|
||||
LD L, $FF
|
||||
CPL
|
||||
LD H, A ; OTHERWISE RETURN -1 PERIOD (ERROR)
|
||||
LD L, A
|
||||
RET
|
||||
#ENDIF
|
||||
|
||||
Reference in New Issue
Block a user