summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordannye <corrnondacqb@yahoo.com>2016-04-10 23:02:50 -0500
committerdannye <corrnondacqb@yahoo.com>2016-04-10 23:02:50 -0500
commit68e03891f623d4c621befb95604664cf1c9bc388 (patch)
tree0734f1e4658c5395fb4b16abff3898f9516c8721 /src
parent726756ab18609ec81c8292aeeb7203e75cfd1bf7 (diff)
More music engine labeling
Diffstat (limited to 'src')
-rwxr-xr-xsrc/audio/music1.asm320
-rwxr-xr-xsrc/audio/music2.asm348
-rwxr-xr-xsrc/audio/sfx.asm56
-rwxr-xr-xsrc/wram.asm139
4 files changed, 484 insertions, 379 deletions
diff --git a/src/audio/music1.asm b/src/audio/music1.asm
index 5b0436c..7d9a930 100755
--- a/src/audio/music1.asm
+++ b/src/audio/music1.asm
@@ -1,11 +1,11 @@
SetupSound_Ext:: ; f4000 (3d:4000)
- jp Func_f407d
+ jp Music1_Init
SoundTimerHandler_Ext:: ; f4003 (3d:4003)
- jp Func_f40e9
+ jp Music1_Update
Func_f4006:: ; f4006 (3d:4006)
- jp Func_f4021
+ jp Music1_PlaySong
Func_f4009:: ; f4009 (3d:4009)
jp Func_f402d
@@ -26,18 +26,18 @@ Func_f4018:: ; f4018 (3d:4018)
jp Func_f406f
Func_f401b:: ; f401b (3d:401b)
- jp Func_f49c4
+ jp Music1_PauseSong
Func_f401e:: ; f401e (3d:401e)
- jp Func_f49d0
+ jp Music1_ResumeSong
-Func_f4021: ; f4021 (3d:4021)
+Music1_PlaySong: ; f4021 (3d:4021)
push hl
ld hl, NumberOfSongs1
cp [hl]
- jr nc, .asm_f402b
- ld [wdd80], a
-.asm_f402b
+ jr nc, .invalidID
+ ld [wCurSongID], a
+.invalidID
pop hl
ret
@@ -60,7 +60,7 @@ Func_f402d: ; f402d (3d:402d)
ld a, b
ld [wdd83], a
ld a, c
- ld [wdd82], a
+ ld [wCurSfxID], a
.asm_f404b
pop hl
pop bc
@@ -71,7 +71,7 @@ Func_f404e: ; f404e (3d:404e)
ret
Func_f4052: ; f4052 (3d:4052)
- ld a, [wdd80]
+ ld a, [wCurSongID]
cp $80
ld a, $1
ret nz
@@ -79,7 +79,7 @@ Func_f4052: ; f4052 (3d:4052)
ret
Func_f405c: ; f405c (3d:405c)
- ld a, [wdd82]
+ ld a, [wCurSfxID]
cp $80
ld a, $1
ret nz
@@ -104,7 +104,7 @@ Func_f406f: ; f406f (3d:406f)
pop bc
ret
-Func_f407d: ; f407d (3d:407d)
+Music1_Init: ; f407d (3d:407d)
xor a
ld [rNR52], a
ld a, $80
@@ -114,10 +114,10 @@ Func_f407d: ; f407d (3d:407d)
ld a, $ff
ld [rNR51], a
ld a, $3d
- ld [wdd81], a
+ ld [wCurSongBank], a
ld a, $80
- ld [wdd80], a
- ld [wdd82], a
+ ld [wCurSongID], a
+ ld [wCurSfxID], a
ld a, $77 ; set both speakers to max volume
ld [wMusicPanning], a
xor a
@@ -131,14 +131,14 @@ Func_f407d: ; f407d (3d:407d)
ld [wMusicDC], a
ld de, $0001
ld bc, $0000
-.asm_f40bb
+.zeroLoop1
ld hl, wMusicIsPlaying
add hl, bc
ld [hl], d
ld hl, wMusicTie
add hl, bc
ld [hl], d
- ld hl, $ddb3
+ ld hl, wddb3
add hl, bc
ld [hl], d
ld hl, wMusicEC
@@ -150,62 +150,62 @@ Func_f407d: ; f407d (3d:407d)
inc c
ld a, c
cp $4
- jr nz, .asm_f40bb
+ jr nz, .zeroLoop1
ld hl, Music1_ChannelLoopStacks
ld bc, wMusicChannelStackPointers
ld d, $8
-.asm_f40e2
+.zeroLoop2
ld a, [hli]
ld [bc], a
inc bc
dec d
- jr nz, .asm_f40e2
+ jr nz, .zeroLoop2
ret
-Func_f40e9: ; f40e9 (3d:40e9)
- call Func_f42a4
- call Func_f411c
+Music1_Update: ; f40e9 (3d:40e9)
+ call Music1_EmptyFunc
+ call Music1_CheckForNewSound
ld hl, Func_fc003
call Bankswitch3dTo3f
- ld a, [wdd81]
+ ld a, [wCurSongBank]
ldh [hBankROM], a
ld [MBC3RomBank], a
ld a, [wddf2]
cp $0
- jr z, .asm_f4109
+ jr z, .updateChannels
call Func_f4980
- jr .asm_f4115
-.asm_f4109
- call Func_f42a5
- call Func_f430a
- call Func_f436f
- call Func_f43ce
-.asm_f4115
+ jr .skipChannelUpdates
+.updateChannels
+ call Music1_UpdateChannel1
+ call Music1_UpdateChannel2
+ call Music1_UpdateChannel3
+ call Music1_UpdateChannel4
+.skipChannelUpdates
call Func_f4866
- call Func_f49b1
+ call Music1_CheckForEndOfSong
ret
-Func_f411c: ; f411c (3d:411c)
- ld a, [wdd80]
+Music1_CheckForNewSound: ; f411c (3d:411c)
+ ld a, [wCurSongID]
rla
- jr c, .asm_f4133
+ jr c, .checkForNewSfx
call Music1_StopAllChannels
- ld a, [wdd80]
- call Music1_PlaySong
- ld a, [wdd80]
+ ld a, [wCurSongID]
+ call Music1_BeginSong
+ ld a, [wCurSongID]
or $80
- ld [wdd80], a
-.asm_f4133
- ld a, [wdd82]
+ ld [wCurSongID], a
+.checkForNewSfx
+ ld a, [wCurSfxID]
rla
- jr c, .asm_f414a
- ld a, [wdd82]
+ jr c, .noNewSound
+ ld a, [wCurSfxID]
ld hl, Func_fc000
call Bankswitch3dTo3f
- ld a, [wdd82]
+ ld a, [wCurSfxID]
or $80
- ld [wdd82], a
-.asm_f414a
+ ld [wCurSfxID], a
+.noNewSound
ret
Music1_StopAllChannels: ; f414b (3d:414b)
@@ -248,14 +248,14 @@ Music1_StopAllChannels: ; f414b (3d:414b)
ret
; plays the song given by the id in a
-Music1_PlaySong: ; f418c (3d:418c)
+Music1_BeginSong: ; f418c (3d:418c)
push af
ld c, a
ld b, $0
ld hl, SongBanks1
add hl, bc
ld a, [hl]
- ld [wdd81], a
+ ld [wCurSongBank], a
ldh [hBankROM], a
ld [MBC3RomBank], a
pop af
@@ -379,10 +379,10 @@ Music1_PlaySong: ; f418c (3d:418c)
ld [wddf2], a
ret
-Func_f42a4: ; f42a4 (3d:42a4)
+Music1_EmptyFunc: ; f42a4 (3d:42a4)
ret
-Func_f42a5: ; f42a5 (3d:42a5)
+Music1_UpdateChannel1: ; f42a5 (3d:42a5)
ld a, [wMusicIsPlaying]
or a
jr z, .asm_f42fa
@@ -435,7 +435,7 @@ Func_f42a5: ; f42a5 (3d:42a5)
.asm_f4309
ret
-Func_f430a: ; f430a (3d:430a)
+Music1_UpdateChannel2: ; f430a (3d:430a)
ld a, [wMusicIsPlaying + 1]
or a
jr z, .asm_f435f
@@ -488,7 +488,7 @@ Func_f430a: ; f430a (3d:430a)
.asm_f436e
ret
-Func_f436f: ; f436f (3d:436f)
+Music1_UpdateChannel3: ; f436f (3d:436f)
ld a, [wMusicIsPlaying + 2]
or a
jr z, .asm_f43be
@@ -537,7 +537,7 @@ Func_f436f: ; f436f (3d:436f)
.asm_f43cd
ret
-Func_f43ce: ; f43ce (3d:43ce)
+Music1_UpdateChannel4: ; f43ce (3d:43ce)
ld a, [wMusicIsPlaying + 3]
or a
jr z, .asm_f4400
@@ -656,10 +656,10 @@ Music1_note: ; f448c (3d:448c)
jr z, .asm_f44b0
ld [hl], $1
xor a
- ld hl, $dddb
+ ld hl, wdddb
add hl, bc
ld [hl], a
- ld hl, $dde3
+ ld hl, wdde3
add hl, bc
ld [hl], a
inc [hl]
@@ -726,12 +726,12 @@ Music1_note: ; f448c (3d:448c)
pop bc
pop hl
.asm_f44fb
- ld hl, $ddc3
+ ld hl, wddc3
add hl, bc
ld [hl], a
pop af
and $f0
- ld hl, $ddb7
+ ld hl, wddb7
add hl, bc
ld [hl], a
or a
@@ -776,7 +776,7 @@ Music1_note: ; f448c (3d:448c)
and $77
or d
ld [wMusicDC], a
- ld de, $ddab
+ ld de, wddab
ld a, [hli]
ld [de], a
inc de
@@ -793,14 +793,14 @@ Music1_note: ; f448c (3d:448c)
ld b, $0
ld a, l
ld d, h
- ld hl, $dded
+ ld hl, wdded
ld [hli], a
ld [hl], d
ld a, $1
ld [wddef], a
jr .asm_f458e
.asm_f4564
- ld hl, $dda5
+ ld hl, wMusicCh1CurPitch
add hl, bc
add hl, bc
push hl
@@ -831,7 +831,7 @@ Music1_note: ; f448c (3d:448c)
ld [hl], d
.asm_f458e
pop de
- ld hl, $dd95
+ ld hl, wMusicChannelPointers
add hl, bc
add hl, bc
ld [hl], e
@@ -1201,7 +1201,7 @@ Func_f475a: ; f475a (3d:475a)
cp $0
jr z, .asm_f478c
ld d, $0
- ld hl, $dd92
+ ld hl, wMusicTie + 1
ld a, [hl]
cp $80
jr z, .asm_f4779
@@ -1220,7 +1220,7 @@ Func_f475a: ; f475a (3d:475a)
.asm_f478b
ret
.asm_f478c
- ld hl, $dd92
+ ld hl, wMusicTie + 1
ld [hl], $0
ld hl, rNR22
ld a, $8
@@ -1237,16 +1237,16 @@ Func_f479c: ; f479c (3d:479c)
ld d, $0
ld a, [wMusicWaveChange]
or a
- jr z, .asm_f47b3
+ jr z, .noWaveChange
xor a
ld [rNR30], a
- call Func_f47ea
+ call Music1_LoadWaveInstrument
ld d, $80
-.asm_f47b3
+.noWaveChange
ld a, [wddb9]
cp $0
jr z, .asm_f47e1
- ld hl, $dd93
+ ld hl, wMusicTie + 2
ld a, [hl]
cp $80
jr z, .asm_f47cc
@@ -1275,7 +1275,7 @@ Func_f479c: ; f479c (3d:479c)
ld [rNR30], a
ret
-Func_f47ea: ; f479c (3d:47ea)
+Music1_LoadWaveInstrument: ; f479c (3d:47ea)
ld a, [wMusicWave]
add a
ld d, $0
@@ -1287,14 +1287,14 @@ Func_f47ea: ; f479c (3d:47ea)
ld l, a
ld b, d
ld de, $ff30
-.asm_f47fc
+.copyWaveLoop
ld a, [hli]
ld [de], a
inc de
inc b
ld a, b
cp $10
- jr nz, .asm_f47fc
+ jr nz, .copyWaveLoop
xor a
ld [wMusicWaveChange], a
ret
@@ -1307,7 +1307,7 @@ Func_f480a: ; f480a (3d:480a)
cp $0
jr z, asm_f482a
ld de, rNR41
- ld hl, $ddab
+ ld hl, wddab
ld a, [hli]
ld [de], a
inc e
@@ -1340,7 +1340,7 @@ Func_f4839: ; f4839 (3d:4839)
ld [wddef], a
jr .asm_f4859
.asm_f4846
- ld hl, $dded
+ ld hl, wdded
ld a, [hli]
ld d, [hl]
ld e, a
@@ -1361,7 +1361,7 @@ Func_f485a: ; f485a (3d:485a)
push af
ld b, $0
ld c, a
- call Func_f4898
+ call Music1_UpdateVibrato
pop af
call Func_f490b
ret
@@ -1400,13 +1400,13 @@ Func_f4866: ; f4866 (3d:4866)
ld [rNR51], a
ret
-Func_f4898: ; f4898 (3d:4898)
+Music1_UpdateVibrato: ; f4898 (3d:4898)
ld hl, wMusicVibratoDelay
add hl, bc
ld a, [hl]
cp $0
jr z, .asm_f4902
- ld hl, $dde3
+ ld hl, wdde3
add hl, bc
cp [hl]
jr z, .asm_f48ab
@@ -1424,7 +1424,7 @@ Func_f4898: ; f4898 (3d:4898)
ld h, [hl]
ld l, a
push hl
- ld hl, $dddb
+ ld hl, wdddb
add hl, bc
ld d, $0
ld e, [hl]
@@ -1434,7 +1434,7 @@ Func_f4898: ; f4898 (3d:4898)
ld a, [hli]
cp $80
jr z, .asm_f48ee
- ld hl, $dda5
+ ld hl, wMusicCh1CurPitch
add hl, bc
add hl, bc
ld e, [hl]
@@ -1465,7 +1465,7 @@ Func_f4898: ; f4898 (3d:4898)
ret
.asm_f48ee
push hl
- ld hl, $dddb
+ ld hl, wdddb
add hl, bc
ld [hl], $0
pop hl
@@ -1477,7 +1477,7 @@ Func_f4898: ; f4898 (3d:4898)
ld [hl], a
jr .asm_f48ab
.asm_f4902
- ld hl, $dda5
+ ld hl, wMusicCh1CurPitch
add hl, bc
add hl, bc
ld e, [hl]
@@ -1592,7 +1592,7 @@ Func_f4980: ; f4980 (3d:4980)
.asm_f49b0
ret
-Func_f49b1: ; f49b1 (3d:49b1)
+Music1_CheckForEndOfSong: ; f49b1 (3d:49b1)
ld hl, wMusicIsPlaying
xor a
add [hl]
@@ -1605,54 +1605,54 @@ Func_f49b1: ; f49b1 (3d:49b1)
or a
ret nz
ld a, $80
- ld [wdd80], a
+ ld [wCurSongID], a
ret
-Func_f49c4: ; f49c4 (3d:49c4)
+Music1_PauseSong: ; f49c4 (3d:49c4)
di
call Func_f4980
- call Func_f49dc
+ call Music1_BackupSong
call Music1_StopAllChannels
ei
ret
-Func_f49d0: ; f49d0 (3d:49d0)
+Music1_ResumeSong: ; f49d0 (3d:49d0)
di
call Func_f4980
call Music1_StopAllChannels
- call Func_f4b01
+ call Music1_LoadBackup
ei
ret
-Func_f49dc: ; f49dc (3d:49dc)
- ld a, [wdd80]
- ld [wde55], a
- ld a, [wdd81]
- ld [wde56], a
+Music1_BackupSong: ; f49dc (3d:49dc)
+ ld a, [wCurSongID]
+ ld [wCurSongIDBackup], a
+ ld a, [wCurSongBank]
+ ld [wCurSongBankBackup], a
ld a, [wMusicDC]
- ld [wde57], a
+ ld [wMusicDCBackup], a
ld hl, wMusicDuty1
- ld de, $de58
+ ld de, wMusicDuty1Backup
ld a, $4
call Music1_CopyData
ld a, [wMusicWave]
- ld [wde5c], a
+ ld [wMusicWaveBackup], a
ld a, [wMusicWaveChange]
- ld [wde5d], a
+ ld [wMusicWaveChangeBackup], a
ld hl, wMusicIsPlaying
- ld de, $de5e
+ ld de, wMusicIsPlayingBackup
ld a, $4
call Music1_CopyData
ld hl, wMusicTie
- ld de, $de62
+ ld de, wMusicTieBackup
ld a, $4
call Music1_CopyData
- ld hl, $dd95
- ld de, $de66
+ ld hl, wMusicChannelPointers
+ ld de, wMusicChannelPointersBackup
ld a, $8
call Music1_CopyData
ld hl, wMusicMainLoopStart
- ld de, $de6e
+ ld de, wMusicMainLoopStartBackup
ld a, $8
call Music1_CopyData
ld a, [wddab]
@@ -1660,47 +1660,47 @@ Func_f49dc: ; f49dc (3d:49dc)
ld a, [wddac]
ld [wde77], a
ld hl, wMusicOctave
- ld de, $de78
+ ld de, wMusicOctaveBackup
ld a, $4
call Music1_CopyData
- ld hl, $ddb3
- ld de, $de7c
+ ld hl, wddb3
+ ld de, wde7c
ld a, $4
call Music1_CopyData
- ld hl, $ddb7
- ld de, $de80
+ ld hl, wddb7
+ ld de, wde80
ld a, $4
call Music1_CopyData
- ld hl, $ddbb
- ld de, $de84
+ ld hl, wddbb
+ ld de, wde84
ld a, $4
call Music1_CopyData
ld hl, wMusicE8
- ld de, $de88
+ ld de, wMusicE8Backup
ld a, $4
call Music1_CopyData
- ld hl, $ddc3
- ld de, $de8c
+ ld hl, wddc3
+ ld de, wde8c
ld a, $4
call Music1_CopyData
ld hl, wMusicE9
- ld de, $de90
+ ld de, wMusicE9Backup
ld a, $4
call Music1_CopyData
ld hl, wMusicEC
- ld de, $de94
+ ld de, wMusicECBackup
ld a, $4
call Music1_CopyData
ld hl, wMusicSpeed
- ld de, $de98
+ ld de, wMusicSpeedBackup
ld a, $4
call Music1_CopyData
ld hl, wMusicVibratoType2
- ld de, $de9c
+ ld de, wMusicVibratoType2Backup
ld a, $4
call Music1_CopyData
ld hl, wMusicVibratoDelay
- ld de, $dea0
+ ld de, wMusicVibratoDelayBackup
ld a, $4
call Music1_CopyData
ld a, $0
@@ -1709,57 +1709,57 @@ Func_f49dc: ; f49dc (3d:49dc)
ld [wdddb + 2], a
ld [wdddb + 3], a
ld hl, wMusicVolume
- ld de, $dea4
+ ld de, wMusicVolumeBackup
ld a, $3
call Music1_CopyData
ld hl, wMusicE4
- ld de, $dea7
+ ld de, wMusicE4Backup
ld a, $3
call Music1_CopyData
- ld hl, $dded
- ld de, $deaa
+ ld hl, wdded
+ ld de, wdeaa
ld a, $2
call Music1_CopyData
ld a, $0
ld [wdeac], a
ld hl, wMusicChannelStackPointers
- ld de, $dead
+ ld de, wMusicChannelStackPointersBackup
ld a, $8
call Music1_CopyData
- ld hl, $ddfb
- ld de, $deb5
- ld a, $30
+ ld hl, wMusicCh1Stack
+ ld de, wMusicCh1StackBackup
+ ld a, $c * 4
call Music1_CopyData
ret
-Func_f4b01: ; f4b01 (3d:4b01)
- ld a, [wde55]
- ld [wdd80], a
- ld a, [wde56]
- ld [wdd81], a
- ld a, [wde57]
+Music1_LoadBackup: ; f4b01 (3d:4b01)
+ ld a, [wCurSongIDBackup]
+ ld [wCurSongID], a
+ ld a, [wCurSongBankBackup]
+ ld [wCurSongBank], a
+ ld a, [wMusicDCBackup]
ld [wMusicDC], a
- ld hl, $de58
+ ld hl, wMusicDuty1Backup
ld de, wMusicDuty1
ld a, $4
call Music1_CopyData
- ld a, [wde5c]
+ ld a, [wMusicWaveBackup]
ld [wMusicWave], a
ld a, $1
ld [wMusicWaveChange], a
- ld hl, $de5e
+ ld hl, wMusicIsPlayingBackup
ld de, wMusicIsPlaying
ld a, $4
call Music1_CopyData
- ld hl, $de62
+ ld hl, wMusicTieBackup
ld de, wMusicTie
ld a, $4
call Music1_CopyData
- ld hl, $de66
- ld de, $dd95
+ ld hl, wMusicChannelPointersBackup
+ ld de, wMusicChannelPointers
ld a, $8
call Music1_CopyData
- ld hl, $de6e
+ ld hl, wMusicMainLoopStartBackup
ld de, wMusicMainLoopStart
ld a, $8
call Music1_CopyData
@@ -1767,69 +1767,69 @@ Func_f4b01: ; f4b01 (3d:4b01)
ld [wddab], a
ld a, [wde77]
ld [wddac], a
- ld hl, $de78
+ ld hl, wMusicOctaveBackup
ld de, wMusicOctave
ld a, $4
call Music1_CopyData
- ld hl, $de7c
- ld de, $ddb3
+ ld hl, wde7c
+ ld de, wddb3
ld a, $4
call Music1_CopyData
- ld hl, $de80
- ld de, $ddb7
+ ld hl, wde80
+ ld de, wddb7
ld a, $4
call Music1_CopyData
- ld hl, $de84
- ld de, $ddbb
+ ld hl, wde84
+ ld de, wddbb
ld a, $4
call Music1_CopyData
- ld hl, $de88
+ ld hl, wMusicE8Backup
ld de, wMusicE8
ld a, $4
call Music1_CopyData
- ld hl, $de8c
- ld de, $ddc3
+ ld hl, wde8c
+ ld de, wddc3
ld a, $4
call Music1_CopyData
- ld hl, $de90
+ ld hl, wMusicE9Backup
ld de, wMusicE9
ld a, $4
call Music1_CopyData
- ld hl, $de94
+ ld hl, wMusicECBackup
ld de, wMusicEC
ld a, $4
call Music1_CopyData
- ld hl, $de98
+ ld hl, wMusicSpeedBackup
ld de, wMusicSpeed
ld a, $4
call Music1_CopyData
- ld hl, $de9c
+ ld hl, wMusicVibratoType2Backup
ld de, wMusicVibratoType2
ld a, $4
call Music1_CopyData
- ld hl, $dea0
+ ld hl, wMusicVibratoDelayBackup
ld de, wMusicVibratoDelay
ld a, $4
call Music1_CopyData
- ld hl, $dea4
+ ld hl, wMusicVolumeBackup
ld de, wMusicVolume
ld a, $3
call Music1_CopyData
- ld hl, $dea7
+ ld hl, wMusicE4Backup
ld de, wMusicE4
ld a, $3
call Music1_CopyData
- ld hl, $deaa
- ld de, $dded
+ ld hl, wdeaa
+ ld de, wdded
ld a, $2
call Music1_CopyData
ld a, [wdeac]
ld [wddef], a
- ld hl, $dead
+ ld hl, wMusicChannelStackPointersBackup
ld de, wMusicChannelStackPointers
ld a, $8
call Music1_CopyData
- ld hl, $deb5
+ ld hl, wMusicCh1StackBackup
ld de, wMusicCh1Stack
ld a, $c * 4
call Music1_CopyData
@@ -1838,12 +1838,12 @@ Func_f4b01: ; f4b01 (3d:4b01)
; copies a bytes from hl to de
Music1_CopyData: ; f4c18 (3d:4c18)
ld c, a
-.asm_f4c19
+.loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_f4c19
+ jr nz, .loop
ret
Music1_ChannelLoopStacks: ; f4c20 (3d:4c20)
diff --git a/src/audio/music2.asm b/src/audio/music2.asm
index ca934de..ad6a905 100755
--- a/src/audio/music2.asm
+++ b/src/audio/music2.asm
@@ -1,11 +1,11 @@
Func_f8000: ; f8000 (3e:4000)
- jp Func_f807d
+ jp Music2_Init
Func_f8003: ; f8003 (3e:4003)
- jp Func_f80e9
+ jp Music2_Update
Func_f8006: ; f8006 (3e:4006)
- jp Func_f8021
+ jp Music2_PlaySong
Func_f8009: ; f8009 (3e:4009)
jp Func_f802d
@@ -26,18 +26,18 @@ Func_f8018: ; f8018 (3e:4018)
jp Func_f806f
Func_f801b: ; f801b (3e:401b)
- jp Func_f89c4
+ jp Music2_PauseSong
Func_f801e: ; f801e (3e:401e)
- jp Func_f89d0
+ jp Music2_ResumeSong
-Func_f8021: ; f8021 (3e:4021)
+Music2_PlaySong: ; f8021 (3e:4021)
push hl
ld hl, NumberOfSongs2
cp [hl]
- jr nc, .asm_f802b
- ld [wdd80], a
-.asm_f802b
+ jr nc, .invalidID
+ ld [wCurSongID], a
+.invalidID
pop hl
ret
@@ -60,7 +60,7 @@ Func_f802d: ; f802d (3e:402d)
ld a, b
ld [wdd83], a
ld a, c
- ld [wdd82], a
+ ld [wCurSfxID], a
.asm_f804b
pop hl
pop bc
@@ -71,7 +71,7 @@ Func_f804e: ; f804e (3e:404e)
ret
Func_f8052: ; f8052 (3e:4052)
- ld a, [wdd80]
+ ld a, [wCurSongID]
cp $80
ld a, $1
ret nz
@@ -79,7 +79,7 @@ Func_f8052: ; f8052 (3e:4052)
ret
Func_f805c: ; f805c (3e:405c)
- ld a, [wdd82]
+ ld a, [wCurSfxID]
cp $80
ld a, $1
ret nz
@@ -104,7 +104,7 @@ Func_f806f: ; f806f (3e:406f)
pop bc
ret
-Func_f807d: ; f807d (3e:407d)
+Music2_Init: ; f807d (3e:407d)
xor a
ld [rNR52], a
ld a, $80
@@ -114,10 +114,10 @@ Func_f807d: ; f807d (3e:407d)
ld a, $ff
ld [rNR51], a
ld a, $3d
- ld [wdd81], a
+ ld [wCurSongBank], a
ld a, $80
- ld [wdd80], a
- ld [wdd82], a
+ ld [wCurSongID], a
+ ld [wCurSfxID], a
ld a, $77 ; set both speakers to max volume
ld [wMusicPanning], a
xor a
@@ -131,14 +131,14 @@ Func_f807d: ; f807d (3e:407d)
ld [wMusicDC], a
ld de, $0001
ld bc, $0000
-.asm_f80bb
+.zeroLoop1
ld hl, wMusicIsPlaying
add hl, bc
ld [hl], d
ld hl, wMusicTie
add hl, bc
ld [hl], d
- ld hl, $ddb3
+ ld hl, wddb3
add hl, bc
ld [hl], d
ld hl, wMusicEC
@@ -150,65 +150,65 @@ Func_f807d: ; f807d (3e:407d)
inc c
ld a, c
cp $4
- jr nz, .asm_f80bb
+ jr nz, .zeroLoop1
ld hl, Music2_ChannelLoopStacks
ld bc, wMusicChannelStackPointers
ld d, $8
-.asm_f80e2
+.zeroLoop2
ld a, [hli]
ld [bc], a
inc bc
dec d
- jr nz, .asm_f80e2
+ jr nz, .zeroLoop2
ret
-Func_f80e9: ; f80e9 (3e:40e9)
- call Func_f82a4
- call Func_f811c
+Music2_Update: ; f80e9 (3e:40e9)
+ call Music2_EmptyFunc
+ call Music2_CheckForNewSound
ld hl, Func_fc003
call Bankswitch3dTo3f
- ld a, [wdd81]
+ ld a, [wCurSongBank]
ldh [hBankROM], a
ld [MBC3RomBank], a
ld a, [wddf2]
cp $0
- jr z, .asm_f8109
+ jr z, .updateChannels
call Func_f8980
- jr .asm_f8115
-.asm_f8109
- call Func_f82a5
- call Func_f830a
- call Func_f836f
- call Func_f83ce
-.asm_f8115
+ jr .skipChannelUpdates
+.updateChannels
+ call Music2_UpdateChannel1
+ call Music2_UpdateChannel2
+ call Music2_UpdateChannel3
+ call Music2_UpdateChannel4
+.skipChannelUpdates
call Func_f8866
- call Func_f89b1
+ call Music2_CheckForEndOfSong
ret
-Func_f811c: ; f811c (3e:411c)
- ld a, [wdd80]
+Music2_CheckForNewSound: ; f811c (3e:411c)
+ ld a, [wCurSongID]
rla
- jr c, .asm_f8133
- call Func_f814b
- ld a, [wdd80]
- call Music2_PlaySong
- ld a, [wdd80]
+ jr c, .checkForNewSfx
+ call Music2_StopAllChannels
+ ld a, [wCurSongID]
+ call Music2_BeginSong
+ ld a, [wCurSongID]
or $80
- ld [wdd80], a
-.asm_f8133
- ld a, [wdd82]
+ ld [wCurSongID], a
+.checkForNewSfx
+ ld a, [wCurSfxID]
rla
- jr c, .asm_f814a
- ld a, [wdd82]
+ jr c, .noNewSound
+ ld a, [wCurSfxID]
ld hl, Func_fc000
call Bankswitch3dTo3f
- ld a, [wdd82]
+ ld a, [wCurSfxID]
or $80
- ld [wdd82], a
-.asm_f814a
+ ld [wCurSfxID], a
+.noNewSound
ret
-Func_f814b: ; f814b (3e:414b)
+Music2_StopAllChannels: ; f814b (3e:414b)
ld a, [wdd8c]
ld d, a
xor a
@@ -248,14 +248,14 @@ Func_f814b: ; f814b (3e:414b)
ret
; plays the song given by the id in a
-Music2_PlaySong: ; f818c (3e:418c)
+Music2_BeginSong: ; f818c (3e:418c)
push af
ld c, a
ld b, $0
ld hl, SongBanks2
add hl, bc
ld a, [hl]
- ld [wdd81], a
+ ld [wCurSongBank], a
ldh [hBankROM], a
ld [MBC3RomBank], a
pop af
@@ -379,10 +379,10 @@ Music2_PlaySong: ; f818c (3e:418c)
ld [wddf2], a
ret
-Func_f82a4: ; f82a4 (3e:42a4)
+Music2_EmptyFunc: ; f82a4 (3e:42a4)
ret
-Func_f82a5: ; f82a5 (3e:42a5)
+Music2_UpdateChannel1: ; f82a5 (3e:42a5)
ld a, [wMusicIsPlaying]
or a
jr z, .asm_f82fa
@@ -435,7 +435,7 @@ Func_f82a5: ; f82a5 (3e:42a5)
.asm_f8309
ret
-Func_f830a: ; f830a (3e:430a)
+Music2_UpdateChannel2: ; f830a (3e:430a)
ld a, [wMusicIsPlaying + 1]
or a
jr z, .asm_f835f
@@ -488,7 +488,7 @@ Func_f830a: ; f830a (3e:430a)
.asm_f836e
ret
-Func_f836f: ; f836f (3e:436f)
+Music2_UpdateChannel3: ; f836f (3e:436f)
ld a, [wMusicIsPlaying + 2]
or a
jr z, .asm_f83be
@@ -537,7 +537,7 @@ Func_f836f: ; f836f (3e:436f)
.asm_f83cd
ret
-Func_f83ce: ; f83ce (3e:43ce)
+Music2_UpdateChannel4: ; f83ce (3e:43ce)
ld a, [wMusicIsPlaying + 3]
or a
jr z, .asm_f8400
@@ -656,10 +656,10 @@ Music2_note: ; f448c (3d:448c)
jr z, .asm_f84b0
ld [hl], $1
xor a
- ld hl, $dddb
+ ld hl, wdddb
add hl, bc
ld [hl], a
- ld hl, $dde3
+ ld hl, wdde3
add hl, bc
ld [hl], a
inc [hl]
@@ -726,12 +726,12 @@ Music2_note: ; f448c (3d:448c)
pop bc
pop hl
.asm_f84fb
- ld hl, $ddc3
+ ld hl, wddc3
add hl, bc
ld [hl], a
pop af
and $f0
- ld hl, $ddb7
+ ld hl, wddb7
add hl, bc
ld [hl], a
or a
@@ -776,7 +776,7 @@ Music2_note: ; f448c (3d:448c)
and $77
or d
ld [wMusicDC], a
- ld de, $ddab
+ ld de, wddab
ld a, [hli]
ld [de], a
inc de
@@ -793,14 +793,14 @@ Music2_note: ; f448c (3d:448c)
ld b, $0
ld a, l
ld d, h
- ld hl, $dded
+ ld hl, wdded
ld [hli], a
ld [hl], d
ld a, $1
ld [wddef], a
jr .asm_f858e
.asm_f8564
- ld hl, $dda5
+ ld hl, wMusicCh1CurPitch
add hl, bc
add hl, bc
push hl
@@ -831,7 +831,7 @@ Music2_note: ; f448c (3d:448c)
ld [hl], d
.asm_f858e
pop de
- ld hl, $dd95
+ ld hl, wMusicChannelPointers
add hl, bc
add hl, bc
ld [hl], e
@@ -1201,7 +1201,7 @@ Func_f875a: ; f875a (3e:475a)
cp $0
jr z, .asm_f878c
ld d, $0
- ld hl, $dd92
+ ld hl, wMusicTie + 1
ld a, [hl]
cp $80
jr z, .asm_f8779
@@ -1220,7 +1220,7 @@ Func_f875a: ; f875a (3e:475a)
.asm_f878b
ret
.asm_f878c
- ld hl, $dd92
+ ld hl, wMusicTie + 1
ld [hl], $0
ld hl, rNR22
ld a, $8
@@ -1237,16 +1237,16 @@ Func_f879c: ; f879c (3e:479c)
ld d, $0
ld a, [wMusicWaveChange]
or a
- jr z, .asm_f87b3
+ jr z, .noWaveChange
xor a
ld [rNR30], a
- call Func_f87ea
+ call Music2_LoadWaveInstrument
ld d, $80
-.asm_f87b3
+.noWaveChange
ld a, [wddb9]
cp $0
jr z, .asm_f87e1
- ld hl, $dd93
+ ld hl, wMusicTie + 2
ld a, [hl]
cp $80
jr z, .asm_f87cc
@@ -1275,7 +1275,7 @@ Func_f879c: ; f879c (3e:479c)
ld [rNR30], a
ret
-Func_f87ea: ; f879c (3e:47ea)
+Music2_LoadWaveInstrument: ; f879c (3e:47ea)
ld a, [wMusicWave]
add a
ld d, $0
@@ -1287,14 +1287,14 @@ Func_f87ea: ; f879c (3e:47ea)
ld l, a
ld b, d
ld de, $ff30
-.asm_f87fc
+.copyWaveLoop
ld a, [hli]
ld [de], a
inc de
inc b
ld a, b
cp $10
- jr nz, .asm_f87fc
+ jr nz, .copyWaveLoop
xor a
ld [wMusicWaveChange], a
ret
@@ -1307,7 +1307,7 @@ Func_f880a: ; f880a (3e:480a)
cp $0
jr z, asm_f882a
ld de, rNR41
- ld hl, $ddab
+ ld hl, wddab
ld a, [hli]
ld [de], a
inc e
@@ -1340,7 +1340,7 @@ Func_f8839: ; f8839 (3e:4839)
ld [wddef], a
jr .asm_f8859
.asm_f8846
- ld hl, $dded
+ ld hl, wdded
ld a, [hli]
ld d, [hl]
ld e, a
@@ -1406,7 +1406,7 @@ Func_f8898: ; f8898 (3e:4898)
ld a, [hl]
cp $0
jr z, .asm_f8902
- ld hl, $dde3
+ ld hl, wdde3
add hl, bc
cp [hl]
jr z, .asm_f88ab
@@ -1424,7 +1424,7 @@ Func_f8898: ; f8898 (3e:4898)
ld h, [hl]
ld l, a
push hl
- ld hl, $dddb
+ ld hl, wdddb
add hl, bc
ld d, $0
ld e, [hl]
@@ -1434,7 +1434,7 @@ Func_f8898: ; f8898 (3e:4898)
ld a, [hli]
cp $80
jr z, .asm_f88ee
- ld hl, $dda5
+ ld hl, wMusicCh1CurPitch
add hl, bc
add hl, bc
ld e, [hl]
@@ -1465,7 +1465,7 @@ Func_f8898: ; f8898 (3e:4898)
ret
.asm_f88ee
push hl
- ld hl, $dddb
+ ld hl, wdddb
add hl, bc
ld [hl], $0
pop hl
@@ -1477,7 +1477,7 @@ Func_f8898: ; f8898 (3e:4898)
ld [hl], a
jr .asm_f88ab
.asm_f8902
- ld hl, $dda5
+ ld hl, wMusicCh1CurPitch
add hl, bc
add hl, bc
ld e, [hl]
@@ -1487,13 +1487,13 @@ Func_f8898: ; f8898 (3e:4898)
Func_f890b: ; f890b (3e:490b)
cp $0
- jr nz, .asm_f892c
+ jr nz, .notChannel1
ld a, [wMusicVibratoDelay]
cp $0
- jr z, .asm_f8966
+ jr z, .done
ld a, [wdd8c]
bit 0, a
- jr nz, .asm_f8966
+ jr nz, .done
ld a, e
ld [rNR13], a
ld a, [rNR11]
@@ -1503,15 +1503,15 @@ Func_f890b: ; f890b (3e:490b)
and $3f
ld [rNR14], a
ret
-.asm_f892c
+.notChannel1
cp $1
- jr nz, .asm_f894b
+ jr nz, .notChannel2
ld a, [wMusicVibratoDelay + 1]
cp $0
- jr z, .asm_f8966
+ jr z, .done
ld a, [wdd8c]
bit 1, a
- jr nz, .asm_f8966
+ jr nz, .done
ld a, e
ld [rNR23], a
ld a, [rNR21]
@@ -1520,22 +1520,22 @@ Func_f890b: ; f890b (3e:490b)
ld a, d
ld [rNR24], a
ret
-.asm_f894b
+.notChannel2
cp $2
- jr nz, .asm_f8966
+ jr nz, .done
ld a, [wMusicVibratoDelay + 2]
cp $0
- jr z, .asm_f8966
+ jr z, .done
ld a, [wdd8c]
bit 2, a
- jr nz, .asm_f8966
+ jr nz, .done
ld a, e
ld [rNR33], a
xor a
ld [rNR31], a
ld a, d
ld [rNR34], a
-.asm_f8966
+.done
ret
Func_f8967: ; f8967 (3e:4967)
@@ -1592,7 +1592,7 @@ Func_f8980: ; f8980 (3e:4980)
.asm_f89b0
ret
-Func_f89b1: ; f89b1 (3e:49b1)
+Music2_CheckForEndOfSong: ; f89b1 (3e:49b1)
ld hl, wMusicIsPlaying
xor a
add [hl]
@@ -1605,54 +1605,54 @@ Func_f89b1: ; f89b1 (3e:49b1)
or a
ret nz
ld a, $80
- ld [wdd80], a
+ ld [wCurSongID], a
ret
-Func_f89c4: ; f89c4 (3e:49c4)
+Music2_PauseSong: ; f89c4 (3e:49c4)
di
call Func_f8980
- call Func_f89dc
- call Func_f814b
+ call Music2_BackupSong
+ call Music2_StopAllChannels
ei
ret
-Func_f89d0: ; f89d0 (3e:49d0)
+Music2_ResumeSong: ; f89d0 (3e:49d0)
di
call Func_f8980
- call Func_f814b
- call Func_f8b01
+ call Music2_StopAllChannels
+ call Music2_LoadBackup
ei
ret
-Func_f89dc: ; f89dc (3e:49dc)
- ld a, [wdd80]
- ld [wde55], a
- ld a, [wdd81]
- ld [wde56], a
+Music2_BackupSong: ; f89dc (3e:49dc)
+ ld a, [wCurSongID]
+ ld [wCurSongIDBackup], a
+ ld a, [wCurSongBank]
+ ld [wCurSongBankBackup], a
ld a, [wMusicDC]
- ld [wde57], a
+ ld [wMusicDCBackup], a
ld hl, wMusicDuty1
- ld de, $de58
+ ld de, wMusicDuty1Backup
ld a, $4
call Music2_CopyData
ld a, [wMusicWave]
- ld [wde5c], a
+ ld [wMusicWaveBackup], a
ld a, [wMusicWaveChange]
- ld [wde5d], a
+ ld [wMusicWaveChangeBackup], a
ld hl, wMusicIsPlaying
- ld de, $de5e
+ ld de, wMusicIsPlayingBackup
ld a, $4
call Music2_CopyData
ld hl, wMusicTie
- ld de, $de62
+ ld de, wMusicTieBackup
ld a, $4
call Music2_CopyData
- ld hl, $dd95
- ld de, $de66
+ ld hl, wMusicChannelPointers
+ ld de, wMusicChannelPointersBackup
ld a, $8
call Music2_CopyData
ld hl, wMusicMainLoopStart
- ld de, $de6e
+ ld de, wMusicMainLoopStartBackup
ld a, $8
call Music2_CopyData
ld a, [wddab]
@@ -1660,47 +1660,47 @@ Func_f89dc: ; f89dc (3e:49dc)
ld a, [wddac]
ld [wde77], a
ld hl, wMusicOctave
- ld de, $de78
+ ld de, wMusicOctaveBackup
ld a, $4
call Music2_CopyData
- ld hl, $ddb3
- ld de, $de7c
+ ld hl, wddb3
+ ld de, wde7c
ld a, $4
call Music2_CopyData
- ld hl, $ddb7
- ld de, $de80
+ ld hl, wddb7
+ ld de, wde80
ld a, $4
call Music2_CopyData
- ld hl, $ddbb
- ld de, $de84
+ ld hl, wddbb
+ ld de, wde84
ld a, $4
call Music2_CopyData
ld hl, wMusicE8
- ld de, $de88
+ ld de, wMusicE8Backup
ld a, $4
call Music2_CopyData
- ld hl, $ddc3
- ld de, $de8c
+ ld hl, wddc3
+ ld de, wde8c
ld a, $4
call Music2_CopyData
ld hl, wMusicE9
- ld de, $de90
+ ld de, wMusicE9Backup
ld a, $4
call Music2_CopyData
ld hl, wMusicEC
- ld de, $de94
+ ld de, wMusicECBackup
ld a, $4
call Music2_CopyData
ld hl, wMusicSpeed
- ld de, $de98
+ ld de, wMusicSpeedBackup
ld a, $4
call Music2_CopyData
ld hl, wMusicVibratoType2
- ld de, $de9c
+ ld de, wMusicVibratoType2Backup
ld a, $4
call Music2_CopyData
ld hl, wMusicVibratoDelay
- ld de, $dea0
+ ld de, wMusicVibratoDelayBackup
ld a, $4
call Music2_CopyData
ld a, $0
@@ -1709,57 +1709,57 @@ Func_f89dc: ; f89dc (3e:49dc)
ld [wdddb + 2], a
ld [wdddb + 3], a
ld hl, wMusicVolume
- ld de, $dea4
+ ld de, wMusicVolumeBackup
ld a, $3
call Music2_CopyData
ld hl, wMusicE4
- ld de, $dea7
+ ld de, wMusicE4Backup
ld a, $3
call Music2_CopyData
- ld hl, $dded
- ld de, $deaa
+ ld hl, wdded
+ ld de, wdeaa
ld a, $2
call Music2_CopyData
ld a, $0
ld [wdeac], a
ld hl, wMusicChannelStackPointers
- ld de, $dead
+ ld de, wMusicChannelStackPointersBackup
ld a, $8
call Music2_CopyData
- ld hl, $ddfb
- ld de, $deb5
- ld a, $30
+ ld hl, wMusicCh1Stack
+ ld de, wMusicCh1StackBackup
+ ld a, $c * 4
call Music2_CopyData
ret
-Func_f8b01: ; f8b01 (3e:4b01)
- ld a, [wde55]
- ld [wdd80], a
- ld a, [wde56]
- ld [wdd81], a
- ld a, [wde57]
+Music2_LoadBackup: ; f8b01 (3e:4b01)
+ ld a, [wCurSongIDBackup]
+ ld [wCurSongID], a
+ ld a, [wCurSongBankBackup]
+ ld [wCurSongBank], a
+ ld a, [wMusicDCBackup]
ld [wMusicDC], a
- ld hl, $de58
+ ld hl, wMusicDuty1Backup
ld de, wMusicDuty1
ld a, $4
call Music2_CopyData
- ld a, [wde5c]
+ ld a, [wMusicWaveBackup]
ld [wMusicWave], a
ld a, $1
ld [wMusicWaveChange], a
- ld hl, $de5e
+ ld hl, wMusicIsPlayingBackup
ld de, wMusicIsPlaying
ld a, $4
call Music2_CopyData
- ld hl, $de62
+ ld hl, wMusicTieBackup
ld de, wMusicTie
ld a, $4
call Music2_CopyData
- ld hl, $de66
- ld de, $dd95
+ ld hl, wMusicChannelPointersBackup
+ ld de, wMusicChannelPointers
ld a, $8
call Music2_CopyData
- ld hl, $de6e
+ ld hl, wMusicMainLoopStartBackup
ld de, wMusicMainLoopStart
ld a, $8
call Music2_CopyData
@@ -1767,69 +1767,69 @@ Func_f8b01: ; f8b01 (3e:4b01)
ld [wddab], a
ld a, [wde77]
ld [wddac], a
- ld hl, $de78
+ ld hl, wMusicOctaveBackup
ld de, wMusicOctave
ld a, $4
call Music2_CopyData
- ld hl, $de7c
- ld de, $ddb3
+ ld hl, wde7c
+ ld de, wddb3
ld a, $4
call Music2_CopyData
- ld hl, $de80
- ld de, $ddb7
+ ld hl, wde80
+ ld de, wddb7
ld a, $4
call Music2_CopyData
- ld hl, $de84
- ld de, $ddbb
+ ld hl, wde84
+ ld de, wddbb
ld a, $4
call Music2_CopyData
- ld hl, $de88
+ ld hl, wMusicE8Backup
ld de, wMusicE8
ld a, $4
call Music2_CopyData
- ld hl, $de8c
- ld de, $ddc3
+ ld hl, wde8c
+ ld de, wddc3
ld a, $4
call Music2_CopyData
- ld hl, $de90
+ ld hl, wMusicE9Backup
ld de, wMusicE9
ld a, $4
call Music2_CopyData
- ld hl, $de94
+ ld hl, wMusicECBackup
ld de, wMusicEC
ld a, $4
call Music2_CopyData
- ld hl, $de98
+ ld hl, wMusicSpeedBackup
ld de, wMusicSpeed
ld a, $4
call Music2_CopyData
- ld hl, $de9c
+ ld hl, wMusicVibratoType2Backup
ld de, wMusicVibratoType2
ld a, $4
call Music2_CopyData
- ld hl, $dea0
+ ld hl, wMusicVibratoDelayBackup
ld de, wMusicVibratoDelay
ld a, $4
call Music2_CopyData
- ld hl, $dea4
+ ld hl, wMusicVolumeBackup
ld de, wMusicVolume
ld a, $3
call Music2_CopyData
- ld hl, $dea7
+ ld hl, wMusicE4Backup
ld de, wMusicE4
ld a, $3
call Music2_CopyData
- ld hl, $deaa
- ld de, $dded
+ ld hl, wdeaa
+ ld de, wdded
ld a, $2
call Music2_CopyData
ld a, [wdeac]
ld [wddef], a
- ld hl, $dead
+ ld hl, wMusicChannelStackPointersBackup
ld de, wMusicChannelStackPointers
ld a, $8
call Music2_CopyData
- ld hl, $deb5
+ ld hl, wMusicCh1StackBackup
ld de, wMusicCh1Stack
ld a, $c * 4
call Music2_CopyData
@@ -1838,12 +1838,12 @@ Func_f8b01: ; f8b01 (3e:4b01)
; copies a bytes from hl to de
Music2_CopyData: ; f8c18 (3e:4c18)
ld c, a
-.asm_f8c19
+.loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_f8c19
+ jr nz, .loop
ret
Music2_ChannelLoopStacks: ; f8c20 (3e:4c20)
diff --git a/src/audio/sfx.asm b/src/audio/sfx.asm
index 8bd9fd3..2b2732c 100755
--- a/src/audio/sfx.asm
+++ b/src/audio/sfx.asm
@@ -1,13 +1,13 @@
Func_fc000: ; fc000 (3f:4000)
- jp Func_fc006
+ jp SFX_PlaySfx
Func_fc003: ; fc003 (3f:4003)
jp Func_fc059
-Func_fc006: ; fc006 (3f:4006)
+SFX_PlaySfx: ; fc006 (3f:4006)
ld hl, NumberOfSFX
cp [hl]
- jr nc, .asm_fc058
+ jr nc, .invalidID
add a
ld c, a
ld b, $0
@@ -26,7 +26,7 @@ Func_fc006: ; fc006 (3f:4006)
ld a, [hli]
ld [wdd8c], a
ld [wde54], a
- ld de, $de4b
+ ld de, wde4b
ld c, $0
.asm_fc031
ld a, [wde54]
@@ -40,10 +40,10 @@ Func_fc006: ; fc006 (3f:4006)
ld [de], a
inc de
push hl
- ld hl, $de2f
+ ld hl, wde2f
add hl, bc
ld [hl], $0
- ld hl, $de33
+ ld hl, wde33
add hl, bc
ld [hl], $1
pop hl
@@ -56,7 +56,7 @@ Func_fc006: ; fc006 (3f:4006)
ld a, $4
cp c
jr nz, .asm_fc031
-.asm_fc058
+.invalidID
ret
Func_fc059: ; fc059 (3f:4059)
@@ -72,12 +72,12 @@ Func_fc059: ; fc059 (3f:4059)
ld a, [wdd8c]
ld [wde54], a
.asm_fc06c
- ld hl, $de54
+ ld hl, wde54
ld a, [hl]
rrca
ld [hl], a
jr nc, .asm_fc08d
- ld hl, $de33
+ ld hl, wde33
add hl, bc
ld a, [hl]
dec a
@@ -86,7 +86,7 @@ Func_fc059: ; fc059 (3f:4059)
call Func_fc18d
jr .asm_fc08d
.asm_fc082
- ld hl, $de4b
+ ld hl, wde4b
add hl, bc
add hl, bc
ld a, [hli]
@@ -146,7 +146,7 @@ SFX_0: ; fc0ce (3f:40ce)
ld a, [hli]
ld e, a
push hl
- ld hl, $de37
+ ld hl, wde37
add hl, bc
add hl, bc
push bc
@@ -164,7 +164,7 @@ SFX_0: ; fc0ce (3f:40ce)
ld d, a
.asm_fc0e9
pop bc
- ld hl, $de2b
+ ld hl, wde2b
add hl, bc
ld a, [hl]
ld [hl], $0
@@ -186,7 +186,7 @@ SFX_0: ; fc0ce (3f:40ce)
ld [hl], d
pop de
Func_fc105: ; fc105 (3f:4105)
- ld hl, $de4b
+ ld hl, wde4b
add hl, bc
add hl, bc
ld [hl], e
@@ -195,7 +195,7 @@ Func_fc105: ; fc105 (3f:4105)
ret
SFX_1: ; fc10e (3f:410e)
- ld hl, $de2b
+ ld hl, wde2b
add hl, bc
ld a, $80
ld [hl], a
@@ -229,7 +229,7 @@ SFX_2: ; fc127 (3f:4127)
jp Func_fc094
SFX_loop: ; fc138 (3f:4138)
- ld hl, $de43
+ ld hl, wde43
add hl, bc
add hl, bc
pop de
@@ -238,7 +238,7 @@ SFX_loop: ; fc138 (3f:4138)
ld [hl], e
inc hl
ld [hl], d
- ld hl, $de3f
+ ld hl, wde3f
add hl, bc
ld [hl], a
ld l, e
@@ -246,13 +246,13 @@ SFX_loop: ; fc138 (3f:4138)
jp Func_fc094
SFX_endloop: ; fc14d (3f:414d)
- ld hl, $de3f
+ ld hl, wde3f
add hl, bc
ld a, [hl]
dec a
jr z, .asm_fc162
ld [hl], a
- ld hl, $de43
+ ld hl, wde43
add hl, bc
add hl, bc
ld a, [hli]
@@ -265,7 +265,7 @@ SFX_endloop: ; fc14d (3f:414d)
jp Func_fc094
SFX_5: ; fc166 (3f:4166)
- ld hl, $de2f
+ ld hl, wde2f
add hl, bc
ld e, l
ld d, h
@@ -283,7 +283,7 @@ SFX_6: ; fc172 (3f:4172)
.asm_fc17c
call Func_fc18d
.asm_fc17f
- ld hl, $de33
+ ld hl, wde33
add hl, bc
ld e, l
ld d, h
@@ -295,12 +295,12 @@ SFX_6: ; fc172 (3f:4172)
jp Func_fc105
Func_fc18d: ; fc18d (3f:418d)
- ld hl, $de2f
+ ld hl, wde2f
add hl, bc
ld a, [hl]
or a
jr z, .asm_fc1cc
- ld hl, $de37
+ ld hl, wde37
add hl, bc
add hl, bc
bit 7, a
@@ -325,7 +325,7 @@ Func_fc18d: ; fc18d (3f:418d)
adc b
.asm_fc1b1
ld [hl], a
- ld hl, $de2b
+ ld hl, wde2b
add hl, bc
ld d, [hl]
ld [hl], $0
@@ -349,11 +349,11 @@ Func_fc18d: ; fc18d (3f:418d)
ret
Func_fc1cd: ; fc1cd (3f:41cd)
- ld hl, $de32
+ ld hl, wde32
ld a, [hl]
or a
jr z, .asm_fc201
- ld hl, $de3d
+ ld hl, wde3d
bit 7, a
jr z, .asm_fc1e5
xor $ff
@@ -375,7 +375,7 @@ Func_fc1cd: ; fc1cd (3f:41cd)
xor e
and $8
swap a
- ld hl, $de2e
+ ld hl, wde2e
ld e, [hl]
ld [hl], $0
or e
@@ -434,7 +434,7 @@ SFX_8: ; fc22d (3f:422d)
jr .asm_fc234
.asm_fc23c
ld d, a
- ld hl, $dd85
+ ld hl, wdd85
ld a, [hl]
and e
or d
@@ -476,7 +476,7 @@ Func_fc26c: ; fc26c (3f:426c)
ld [wde53], a
ld [wdd83], a
ld a, $80
- ld [wdd82], a
+ ld [wCurSfxID], a
ret
Func_fc279: ; fc279 (3f:4279)
diff --git a/src/wram.asm b/src/wram.asm
index fd102f6..3dde46c 100755
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -874,8 +874,6 @@ wd111:: ; d111
wd112:: ; d112
ds $1
-;--- Music ------------------------------------------------
-
wMatchStartTheme:: ; d113
ds $1
@@ -1201,20 +1199,27 @@ wBoosterDataTypeChanceData:: ; d689
ds $9
ds $6ee
-wdd80:: ; dd80
+;--- Music ------------------------------------------------
+
+; bit 7 is set once the song has been started
+wCurSongID:: ; dd80
ds $1
-wdd81:: ; dd81
+wCurSongBank:: ; dd81
ds $1
-wdd82:: ; dd82
+; bit 7 is set once the sfx has been started
+wCurSfxID:: ; dd82
ds $1
wdd83:: ; dd83
ds $1
wMusicDC:: ; dd84
- ds $2
+ ds $1
+
+wdd85:: ; dd85
+ ds $1
wMusicDuty1:: ; dd86
ds $1
@@ -1270,7 +1275,10 @@ wddac:: ; ddac
ds $3
wMusicOctave:: ; ddaf
- ds $8
+ ds $4
+
+wddb3:: ; ddb3
+ ds $4
wddb7:: ; ddb7
ds $1
@@ -1321,7 +1329,10 @@ wMusicVolume:: ; dde7
ds $3
wMusicE4:: ; ddea
- ds $5
+ ds $3
+
+wdded:: ; dded
+ ds $2
wddef:: ; ddef
ds $1
@@ -1354,7 +1365,37 @@ wMusicCh3Stack:: ; de13
wMusicCh4Stack:: ; de1f
ds $c
- ds $28
+;--- SFX --------------------------------------------------
+
+wde2b:: ; de2b
+ ds $3
+
+wde2e:: ; de2e
+ ds $1
+
+wde2f:: ; de2f
+ ds $3
+
+wde32:: ; de32
+ ds $1
+
+wde33:: ; de33
+ ds $4
+
+wde37:: ; de37
+ ds $6
+
+wde3d:: ; de3d
+ ds $2
+
+wde3f:: ; de3f
+ ds $4
+
+wde43:: ; de43
+ ds $8
+
+wde4b:: ; de4b
+ ds $8
wde53:: ; de53
ds $1
@@ -1362,27 +1403,91 @@ wde53:: ; de53
wde54:: ; de54
ds $1
-wde55:: ; de55
+wCurSongIDBackup:: ; de55
ds $1
-wde56:: ; de56
+wCurSongBankBackup:: ; de56
ds $1
-wde57:: ; de57
- ds $5
+wMusicDCBackup:: ; de57
+ ds $1
+
+wMusicDuty1Backup:: ; de58
+ ds $4
-wde5c:: ; de5c
+wMusicWaveBackup:: ; de5c
ds $1
-wde5d:: ; de5d
- ds $19
+wMusicWaveChangeBackup:: ; de5d
+ ds $1
+
+wMusicIsPlayingBackup:: ; de5e
+ ds $4
+
+wMusicTieBackup:: ; de62
+ ds $4
+
+wMusicChannelPointersBackup:: ; de66
+ ds $8
+
+wMusicMainLoopStartBackup:: ; de6e
+ ds $8
wde76:: ; de76
ds $1
wde77:: ; de77
- ds $35
+ ds $1
+
+wMusicOctaveBackup:: ; de78
+ ds $4
+
+wde7c:: ; de7c
+ ds $4
+
+wde80:: ; de80
+ ds $4
+
+wde84:: ; de84
+ ds $4
+
+wMusicE8Backup:: ; de88
+ ds $4
+
+wde8c:: ; de8c
+ ds $4
+
+wMusicE9Backup:: ; de90
+ ds $4
+
+wMusicECBackup:: ; de94
+ ds $4
+
+wMusicSpeedBackup:: ; de98
+ ds $4
+
+wMusicVibratoType2Backup:: ; de9c
+ ds $4
+
+wMusicVibratoDelayBackup:: ; dea0
+ ds $4
+
+wMusicVolumeBackup:: ; dea4
+ ds $3
+
+wMusicE4Backup:: ; dea7
+ ds $3
+
+wdeaa:: ; deaa
+ ds $2
wdeac:: ; deac
+ ds $1
+
+wMusicChannelStackPointersBackup:: ; dead
+ ds $8
+
+wMusicCh1StackBackup:: ; deb5
+ ds $c * 4
INCLUDE "sram.asm"