summaryrefslogtreecommitdiff
path: root/audio/engine.asm
diff options
context:
space:
mode:
Diffstat (limited to 'audio/engine.asm')
-rw-r--r--audio/engine.asm180
1 files changed, 90 insertions, 90 deletions
diff --git a/audio/engine.asm b/audio/engine.asm
index a45f6564c..ddb20a986 100644
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -16,27 +16,27 @@ SoundRestart: ; e8000
push bc
push af
call MusicOff
- ld hl, $ff24 ; channel control registers
+ ld hl, rNR50 ; channel control registers
xor a
- ld [hli], a ; ff24 ; volume/vin
- ld [hli], a ; ff25 ; sfx channels
+ ld [hli], a ; rNR50 ; volume/vin
+ ld [hli], a ; rNR51 ; sfx channels
ld a, $80 ; all channels on
ld [hli], a ; ff26 ; music channels
- ld hl, $ff10 ; sound channel registers
+ ld hl, rNR10 ; sound channel registers
ld e, $04 ; number of channels
.clearsound
; sound channel 1 2 3 4
xor a
- ld [hli], a ; $ff10, $ff15, $ff1a, $ff1f ; sweep = 0
+ ld [hli], a ; rNR10, $ff15, rNR30, $ff1f ; sweep = 0
- ld [hli], a ; $ff11, $ff16, $ff1b, $ff20 ; length/wavepattern = 0
+ ld [hli], a ; rNR11, rNR21, rNR31, rNR41 ; length/wavepattern = 0
ld a, $08
- ld [hli], a ; $ff12, $ff17, $ff1c, $ff21 ; envelope = 0
+ ld [hli], a ; rNR12, rNR22, rNR32, rNR42 ; envelope = 0
xor a
- ld [hli], a ; $ff13, $ff18, $ff1d, $ff22 ; frequency lo = 0
+ ld [hli], a ; rNR13, rNR23, rNR33, rNR43 ; frequency lo = 0
ld a, $80
- ld [hli], a ; $ff14, $ff19, $ff1e, $ff23 ; restart sound (freq hi = 0)
+ ld [hli], a ; rNR14, rNR24, rNR34, rNR44 ; restart sound (freq hi = 0)
dec e
jr nz, .clearsound
@@ -208,10 +208,10 @@ UpdateSound: ; e805c
call FadeMusic
; write volume to hardware register
ld a, [Volume]
- ld [$ff24], a
+ ld [rNR50], a
; write SO on/off to hardware register
ld a, [SoundOutput]
- ld [$ff25], a
+ ld [rNR51], a
ret
; e8125
@@ -251,7 +251,7 @@ UpdateChannels: ; e8125
jr z, .asm_e8159
;
ld a, [SoundInput]
- ld [$ff10], a
+ ld [rNR10], a
.asm_e8159
bit 5, [hl] ; rest
jr nz, .ch1rest
@@ -264,48 +264,48 @@ UpdateChannels: ; e8125
jr .asm_e8175
.asm_e816b
ld a, [$c294]
- ld [$ff13], a
+ ld [rNR13], a
ld a, [$c295]
- ld [$ff14], a
+ ld [rNR14], a
.asm_e8175
bit 0, [hl]
ret z
ld a, [$c292]
ld d, a
- ld a, [$ff11]
+ ld a, [rNR11]
and a, $3f ; sound length
or d
- ld [$ff11], a
+ ld [rNR11], a
ret
.asm_e8184
ld a, [$c292]
ld d, a
- ld a, [$ff11]
+ ld a, [rNR11]
and a, $3f ; sound length
or d
- ld [$ff11], a
+ ld [rNR11], a
ld a, [$c294]
- ld [$ff13], a
+ ld [rNR13], a
ret
.ch1rest
- ld a, [$ff26]
+ ld a, [rNR52]
and a, %10001110 ; ch1 off
- ld [$ff26], a
- ld hl, $ff10
+ ld [rNR52], a
+ ld hl, rNR10
call ClearChannel
ret
.asm_e81a2
ld hl, $c292
ld a, $3f ; sound length
or [hl]
- ld [$ff11], a
+ ld [rNR11], a
ld a, [$c293]
- ld [$ff12], a
+ ld [rNR12], a
ld a, [$c294]
- ld [$ff13], a
+ ld [rNR13], a
ld a, [$c295]
or a, $80
- ld [$ff14], a
+ ld [rNR14], a
ret
.Channel2
@@ -322,31 +322,31 @@ UpdateChannels: ; e8125
ret z
ld a, [$c292]
ld d, a
- ld a, [$ff16]
+ ld a, [rNR21]
and a, $3f ; sound length
or d
- ld [$ff16], a
+ ld [rNR21], a
ret
.asm_e81db ; unused
ld a, [$c294]
- ld [$ff18], a
+ ld [rNR23], a
ld a, [$c295]
- ld [$ff19], a
+ ld [rNR24], a
ret
.asm_e81e6
ld a, [$c292]
ld d, a
- ld a, [$ff16]
+ ld a, [rNR21]
and a, $3f ; sound length
or d
- ld [$ff16], a
+ ld [rNR21], a
ld a, [$c294]
- ld [$ff18], a
+ ld [rNR23], a
ret
.ch2rest
- ld a, [$ff26]
+ ld a, [rNR52]
and a, %10001101 ; ch2 off
- ld [$ff26], a
+ ld [rNR52], a
ld hl, $ff15
call ClearChannel
ret
@@ -354,14 +354,14 @@ UpdateChannels: ; e8125
ld hl, $c292
ld a, $3f ; sound length
or [hl]
- ld [$ff16], a
+ ld [rNR21], a
ld a, [$c293]
- ld [$ff17], a
+ ld [rNR22], a
ld a, [$c294]
- ld [$ff18], a
+ ld [rNR23], a
ld a, [$c295]
or a, $80 ; initial (restart)
- ld [$ff19], a
+ ld [rNR24], a
ret
.Channel3
@@ -377,34 +377,34 @@ UpdateChannels: ; e8125
ret
.asm_e822f ; unused
ld a, [$c294]
- ld [$ff1d], a
+ ld [rNR33], a
ld a, [$c295]
- ld [$ff1e], a
+ ld [rNR34], a
ret
.asm_e823a
ld a, [$c294]
- ld [$ff1d], a
+ ld [rNR33], a
ret
.ch3rest
- ld a, [$ff26]
+ ld a, [rNR52]
and a, %10001011 ; ch3 off
- ld [$ff26], a
- ld hl, $ff1a
+ ld [rNR52], a
+ ld hl, rNR30
call ClearChannel
ret
.asm_e824d
ld a, $3f
- ld [$ff1b], a
+ ld [rNR31], a
xor a
- ld [$ff1a], a
+ ld [rNR30], a
call .asm_e8268
ld a, $80
- ld [$ff1a], a
+ ld [rNR30], a
ld a, [$c294]
- ld [$ff1d], a
+ ld [rNR33], a
ld a, [$c295]
or a, $80
- ld [$ff1e], a
+ ld [rNR34], a
ret
.asm_e8268
push hl
@@ -458,7 +458,7 @@ UpdateChannels: ; e8125
ld a, [$c293]
and a, $f0
sla a
- ld [$ff1c], a
+ ld [rNR32], a
ret
.Channel4
@@ -472,24 +472,24 @@ UpdateChannels: ; e8125
ret
.asm_e82c1 ; unused
ld a, [$c294]
- ld [$ff22], a
+ ld [rNR43], a
ret
.ch4rest
- ld a, [$ff26]
+ ld a, [rNR52]
and a, %10000111 ; ch4 off
- ld [$ff26], a
+ ld [rNR52], a
ld hl, $ff1f
call ClearChannel
ret
.asm_e82d4
ld a, $3f ; sound length
- ld [$ff20], a
+ ld [rNR41], a
ld a, [$c293]
- ld [$ff21], a
+ ld [rNR42], a
ld a, [$c294]
- ld [$ff22], a
+ ld [rNR43], a
ld a, $80
- ld [$ff23], a
+ ld [rNR44], a
ret
; e82e7
@@ -535,15 +535,15 @@ Functione8307: ; e8307
ld hl, Tablee8350
.updatehw
xor a
- ld [$ff10], a ; sweep off
+ ld [rNR10], a ; sweep off
ld a, [hli]
- ld [$ff11], a ; sound length / duty cycle
+ ld [rNR11], a ; sound length / duty cycle
ld a, [hli]
- ld [$ff12], a ; ch1 volume envelope
+ ld [rNR12], a ; ch1 volume envelope
ld a, [hli]
- ld [$ff13], a ; ch1 frequency lo
+ ld [rNR13], a ; ch1 frequency lo
ld a, [hli]
- ld [$ff14], a ; ch1 frequency hi
+ ld [rNR14], a ; ch1 frequency hi
.asm_e8335
ld a, d
inc a
@@ -1192,7 +1192,7 @@ ParseMusic: ; e85e1
jr nz, .ok
; ????
xor a
- ld [$ff10], a ; sweep = 0
+ ld [rNR10], a ; sweep = 0
.ok
; stop playing
; turn channel off
@@ -2454,56 +2454,56 @@ LoadSFX: ; e8c04
jr z, .ch6
res 0, [hl] ; turn it off
xor a
- ld [$ff11], a ; length/wavepattern = 0
+ ld [rNR11], a ; length/wavepattern = 0
ld a, $08
- ld [$ff12], a ; envelope = 0
+ ld [rNR12], a ; envelope = 0
xor a
- ld [$ff13], a ; frequency lo = 0
+ ld [rNR13], a ; frequency lo = 0
ld a, $80
- ld [$ff14], a ; restart sound (freq hi = 0)
+ ld [rNR14], a ; restart sound (freq hi = 0)
xor a
ld [SoundInput], a ; global sound off
- ld [$ff10], a ; sweep = 0
+ ld [rNR10], a ; sweep = 0
.ch6
ld hl, $c1fe ; ch6 on?
bit 0, [hl]
jr z, .ch7
res 0, [hl] ; turn it off
xor a
- ld [$ff16], a ; length/wavepattern = 0
+ ld [rNR21], a ; length/wavepattern = 0
ld a, $08
- ld [$ff17], a ; envelope = 0
+ ld [rNR22], a ; envelope = 0
xor a
- ld [$ff18], a ; frequency lo = 0
+ ld [rNR23], a ; frequency lo = 0
ld a, $80
- ld [$ff19], a ; restart sound (freq hi = 0)
+ ld [rNR24], a ; restart sound (freq hi = 0)
.ch7
ld hl, $c230 ; ch7 on?
bit 0, [hl]
jr z, .ch8
res 0, [hl] ; turn it off
xor a
- ld [$ff1a], a ; sound mode #3 off
- ld [$ff1b], a ; length/wavepattern = 0
+ ld [rNR30], a ; sound mode #3 off
+ ld [rNR31], a ; length/wavepattern = 0
ld a, $08
- ld [$ff1c], a ; envelope = 0
+ ld [rNR32], a ; envelope = 0
xor a
- ld [$ff1d], a ; frequency lo = 0
+ ld [rNR33], a ; frequency lo = 0
ld a, $80
- ld [$ff1e], a ; restart sound (freq hi = 0)
+ ld [rNR34], a ; restart sound (freq hi = 0)
.ch8
ld hl, $c262 ; ch8 on?
bit 0, [hl]
jr z, .chscleared
res 0, [hl] ; turn it off
xor a
- ld [$ff20], a ; length/wavepattern = 0
+ ld [rNR41], a ; length/wavepattern = 0
ld a, $08
- ld [$ff21], a ; envelope = 0
+ ld [rNR42], a ; envelope = 0
xor a
- ld [$ff22], a ; frequency lo = 0
+ ld [rNR43], a ; frequency lo = 0
ld a, $80
- ld [$ff23], a ; restart sound (freq hi = 0)
+ ld [rNR44], a ; restart sound (freq hi = 0)
xor a
ld [NoiseSampleAddressLo], a
ld [NoiseSampleAddressHi], a
@@ -3126,13 +3126,13 @@ ChannelPointers: ; e8fd9
ClearChannels: ; e8fe9
; runs ClearChannel for all 4 channels
; doesn't seem to be used, but functionally identical to SoundRestart
- ld hl, $ff24
+ ld hl, rNR50
xor a
ld [hli], a
ld [hli], a
ld a, $80
ld [hli], a
- ld hl, $ff10
+ ld hl, rNR10
ld e, $04
.loop
call ClearChannel
@@ -3142,19 +3142,19 @@ ClearChannels: ; e8fe9
; e8ffe
ClearChannel: ; e8ffe
-; input: hl = beginning hw sound register ($ff10, $ff15, $ff1a, $ff1f)
+; input: hl = beginning hw sound register (rNR10, $ff15, rNR30, $ff1f)
; output: 00 00 80 00 80
; sound channel 1 2 3 4
xor a
- ld [hli], a ; $ff10, $ff15, $ff1a, $ff1f ; sweep = 0
+ ld [hli], a ; rNR10, $ff15, rNR30, $ff1f ; sweep = 0
- ld [hli], a ; $ff11, $ff16, $ff1b, $ff20 ; length/wavepattern = 0
+ ld [hli], a ; rNR11, rNR21, rNR31, rNR41 ; length/wavepattern = 0
ld a, $08
- ld [hli], a ; $ff12, $ff17, $ff1c, $ff21 ; envelope = 0
+ ld [hli], a ; rNR12, rNR22, rNR32, rNR42 ; envelope = 0
xor a
- ld [hli], a ; $ff13, $ff18, $ff1d, $ff22 ; frequency lo = 0
+ ld [hli], a ; rNR13, rNR23, rNR33, rNR43 ; frequency lo = 0
ld a, $80
- ld [hli], a ; $ff14, $ff19, $ff1e, $ff23 ; restart sound (freq hi = 0)
+ ld [hli], a ; rNR14, rNR24, rNR34, rNR44 ; restart sound (freq hi = 0)
ret
; e900a