summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-03-31 22:22:22 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-03-31 22:22:22 -0400
commitbbc5294685ffa4b93442f7e6aeb095900c35868c (patch)
tree7daf6510c000fda53ba46e727a62c4dd85efe013
parent38ce770883544d5b815f63c0137441db0aa7523c (diff)
Audio channel wram addresses
-rwxr-xr-xaudio/engine_0f.asm39
-rwxr-xr-xhome.asm28
-rwxr-xr-xmain.asm102
-rwxr-xr-xwram.asm65
4 files changed, 108 insertions, 126 deletions
diff --git a/audio/engine_0f.asm b/audio/engine_0f.asm
index 16b293a..d782bb0 100755
--- a/audio/engine_0f.asm
+++ b/audio/engine_0f.asm
@@ -4,8 +4,8 @@ Func_3c000: ; 0x3c000
push bc
push af
call Func_3cb1b
- ld hl, wdd01
- ld de, wdeb0 - wdd01
+ ld hl, wChannel1
+ ld de, wdeb0 - wChannel1
.clearLoop
xor a
ld [hli], a
@@ -21,7 +21,7 @@ Func_3c000: ; 0x3c000
ld [hli], a
ld hl, rNR10
ld e, $4
-.asm_3c022
+.loop
xor a
ld [hli], a
ld [hli], a
@@ -32,7 +32,7 @@ Func_3c000: ; 0x3c000
ld a, $80
ld [hli], a
dec e
- jr nz, .asm_3c022
+ jr nz, .loop
ld a, $8
ld [wde9a], a
ld a, $77
@@ -256,7 +256,7 @@ Func_3c180: ; 0x3c180
xor a
ld [wde97], a
ld [wde99], a
- ld bc, wdd01
+ ld bc, wChannel1
.asm_3c18f
ld hl, $0002
add hl, bc
@@ -306,16 +306,16 @@ Func_3c180: ; 0x3c180
ld a, [wde97]
cp $4
jr nc, .asm_3c219
- ld hl, wddcb
+ ld hl, wChannel5 + 2
bit 0, [hl]
jr nz, .asm_3c204
- ld hl, wddfd
+ ld hl, wChannel6 + 2
bit 0, [hl]
jr nz, .asm_3c204
- ld hl, wde2f
+ ld hl, wChannel7 + 2
bit 0, [hl]
jr nz, .asm_3c204
- ld hl, wde61
+ ld hl, wChannel8 + 2
bit 0, [hl]
jr z, .asm_3c20a
.asm_3c204
@@ -1140,10 +1140,10 @@ Func_3c704: ; 0x3c704
cp $4
ret nz
xor a
- ld hl, wde21
+ ld hl, wChannel6 + $26
ld [hli], a
ld [hl], a
- ld hl, wde85
+ ld hl, wChannel8 + $26
ld [hli], a
ld [hl], a
ld a, [wdeac]
@@ -1619,6 +1619,7 @@ Func_3c9da: ; 0x3c9da
Func_3c9e9: ; 0x3c9e9
call Func_3ca10
+ ; cast to s16
ld e, a
cp $80
jr nc, .asm_3c9f5
@@ -1754,24 +1755,24 @@ Func_3ca95: ; 0x3ca95
ld a, [wde97]
cp $4
jr nc, .asm_3cab7
- ld bc, wdd01
+ ld bc, wChannel1
call Func_3cad1
- ld bc, wdd33
+ ld bc, wChannel2
call Func_3cad1
- ld bc, wdd65
+ ld bc, wChannel3
call Func_3cad1
- ld bc, wdd97
+ ld bc, wChannel4
call Func_3cad1
jr .asm_3cacf
.asm_3cab7
- ld bc, wddc9
+ ld bc, wChannel5
call Func_3cad1
- ld bc, wddfb
+ ld bc, wChannel6
call Func_3cad1
- ld bc, wde2d
+ ld bc, wChannel7
call Func_3cad1
- ld bc, wde5f
+ ld bc, wChannel8
call Func_3cad1
.asm_3cacf
pop bc
diff --git a/home.asm b/home.asm
index d22cf46..1b7567e 100755
--- a/home.asm
+++ b/home.asm
@@ -92,7 +92,7 @@ Start: ; 0x150
ld [MBC5RomBankOn], a ; Enable RAM Banking Mode
ld a, $0
ld [MBC5SRamBank], a ; Load RAM Bank $0
- ld sp, wdfff ; Initialize stack pointer to the end of WRAM Bank $1
+ ld sp, wStack ; Initialize stack pointer to the end of WRAM Bank $1
ld hl, hPushOAM
ld bc, $007e
call ClearData ; Clear High RAM (HRAM)
@@ -194,7 +194,7 @@ SoftReset:
ld [MBC5RomBankOn], a
ld a, $0
ld [MBC5SRamBank], a
- ld sp, wdfff
+ ld sp, wStack
call WriteDMACodeToHRAM
call ClearOAMBuffer
xor a
@@ -222,7 +222,7 @@ SoftReset:
ld a, $0
ld [wd849], a
ld [wd84a], a
- ld a, $f
+ ld a, BANK(Func_3c000)
call SetSongBank
ld a, [hSGBFlag]
and a
@@ -538,9 +538,9 @@ PlaySong: ; 0x490
ld [hLoadedROMBank], a
ld [MBC5RomBank], a
ld a, e
- ld [wd7bf], a
+ ld [wStageSong], a
ld a, [wCurrentSongBank]
- ld [wd7c0], a
+ ld [wStageSongBank], a
call PlaySong_BankF ; this function is replicated in multiple banks.
pop af
ld [hLoadedROMBank], a
@@ -577,10 +577,10 @@ Func_4d8: ; 0x4d8
push bc
push de
push hl
- ld a, [wddcb]
- ld hl, wddfd
+ ld a, [wChannel5 + 2]
+ ld hl, wChannel6 + 2
or [hl]
- ld hl, wde2f
+ ld hl, wChannel7 + 2
or [hl]
and $1
call z, PlaySoundEffect
@@ -717,7 +717,7 @@ Func_597: ; 0x597
inc de
ld b, $8
.asm_5a0
- ld a, [wd80c]
+ ld a, [wBGP]
call Func_5c2
dec b
jr nz, .asm_5a0
@@ -727,9 +727,9 @@ Func_597: ; 0x597
inc de
ld b, $4
.asm_5b2
- ld a, [wd80d]
+ ld a, [wOBP0]
call Func_5c2
- ld a, [wd80e]
+ ld a, [wOBP1]
call Func_5c2
dec b
jr nz, .asm_5b2
@@ -1803,7 +1803,7 @@ Func_bbe: ; 0xbbe
and a
jp nz, Func_c19
ld hl, hBGP
- ld de, wd80c
+ ld de, wBGP
ld b, $3
.asm_bcc
ld a, [de]
@@ -1820,7 +1820,7 @@ Func_bbe: ; 0xbbe
ld bc, $0002
call AdvanceFrames
ld hl, hBGP
- ld de, wd80c
+ ld de, wBGP
ld b, $3
.asm_be9
ld a, [de]
@@ -1834,7 +1834,7 @@ Func_bbe: ; 0xbbe
ld bc, $0002
call AdvanceFrames
ld hl, hBGP
- ld de, wd80c
+ ld de, wBGP
ld b, $3
.asm_c02
ld a, [de]
diff --git a/main.asm b/main.asm
index 3b0cc30..98ee1ec 100755
--- a/main.asm
+++ b/main.asm
@@ -37,9 +37,9 @@ Func_800a: ; 0x800a
ld a, $45
ld [hLCDC], a
ld a, $e4
- ld [wd80c], a
- ld [wd80d], a
- ld [wd80e], a
+ ld [wBGP], a
+ ld [wOBP0], a
+ ld [wOBP1], a
xor a
ld [hSCX], a
ld [hSCY], a
@@ -264,10 +264,10 @@ CheckForResetButtonCombo: ; 0x8167
ld a, $41
ld [hLCDC], a
ld a, $e4
- ld [wd80c], a
+ ld [wBGP], a
xor a
- ld [wd80d], a
- ld [wd80e], a
+ ld [wOBP0], a
+ ld [wOBP1], a
ld [hSCX], a
ld [hSCY], a
ld a, [hGameBoyColorFlag]
@@ -372,10 +372,10 @@ FadeInCopyrightScreen: ; 0x8228
ld a, $41
ld [hLCDC], a
ld a, $e4
- ld [wd80c], a
+ ld [wBGP], a
xor a
- ld [wd80d], a
- ld [wd80e], a
+ ld [wOBP0], a
+ ld [wOBP1], a
ld [hSCX], a
ld [hSCY], a
ld a, [hGameBoyColorFlag]
@@ -553,7 +553,7 @@ StartBallForStage: ; 0x83ba
and a
jr z, .asm_83c7
call Func_8444
- call Func_8461
+ call RestartStageMusic
ret
.asm_83c7
@@ -576,7 +576,7 @@ StartBallForStage: ; 0x83ba
ld [wd548], a
ld [wd549], a
ld a, $20
- ld [wd7ab], a
+ ld [wSCX], a
ld a, [wCurrentStage]
call CallInFollowingTable
CallTable_8404: ; 0x8404
@@ -625,10 +625,10 @@ Func_8444: ; 0x8444
.asm_8460
ret
-Func_8461: ; 0x8461
- ld a, [wd7c0]
+RestartStageMusic: ; 0x8461
+ ld a, [wStageSongBank]
call SetSongBank
- ld a, [wd7bf]
+ ld a, [wStageSong]
ld e, a
ld d, $0
call PlaySong
@@ -2368,11 +2368,11 @@ FadeInTitlescreen: ; 0xc00e
ld a, $43
ld [hLCDC], a
ld a, $e4
- ld [wd80c], a
+ ld [wBGP], a
ld a, $d2
- ld [wd80d], a
+ ld [wOBP0], a
ld a, $e1
- ld [wd80e], a
+ ld [wOBP1], a
xor a
ld [hSCX], a
ld [hSCY], a
@@ -2836,10 +2836,10 @@ Func_c35a: ; 0xc35a
ld a, $47
ld [hLCDC], a
ld a, $e4
- ld [wd80c], a
- ld [wd80d], a
+ ld [wBGP], a
+ ld [wOBP0], a
ld a, $d2
- ld [wd80e], a
+ ld [wOBP1], a
xor a
ld [hSCX], a
ld [hSCY], a
@@ -4011,10 +4011,10 @@ Func_cb14: ; 0xcb14
ld a, $43
ld [hLCDC], a
ld a, $e0
- ld [wd80c], a
+ ld [wBGP], a
ld a, $e1
- ld [wd80d], a
- ld [wd80e], a
+ ld [wOBP0], a
+ ld [wOBP1], a
xor a
ld [hSCX], a
ld [hNextFrameHBlankSCX], a
@@ -5672,10 +5672,10 @@ LoadFieldSelectScreen: ; 0xd6dd
ld a, $43
ld [hLCDC], a
ld a, $e4
- ld [wd80c], a
+ ld [wBGP], a
ld a, $d2
- ld [wd80d], a
- ld [wd80e], a
+ ld [wOBP0], a
+ ld [wOBP1], a
xor a
ld [hSCX], a
ld [hSCY], a
@@ -5882,13 +5882,13 @@ HandlePinballGame: ; 0xd853
ld a, [wScreenState]
rst JumpTable ; calls JumpToFuncInTable
PinballGameScreenFunctions: ; 0xd857
- dw Func_d861
- dw Func_d87f
- dw Func_d909
- dw Func_da36
- dw Func_dab2
+ dw GameScreenFunction_LoadGFX
+ dw GameScreenFunction_StartBall
+ dw GameScreenFunction_HandleBallPhysics
+ dw GameScreenFunction_HandleBallLoss
+ dw GameScreenFunction_EndBall
-Func_d861: ; 0xd861
+GameScreenFunction_LoadGFX: ; 0xd861
xor a
ld [wd908], a
callba InitializeStage
@@ -5900,16 +5900,16 @@ Func_d861: ; 0xd861
inc [hl]
ret
-Func_d87f: ; 0xd87f
+GameScreenFunction_StartBall: ; 0xd87f
ld a, $67
ld [hLCDC], a
ld a, $e4
- ld [wd80c], a
+ ld [wBGP], a
ld a, $e1
- ld [wd80d], a
+ ld [wOBP0], a
ld a, $e4
- ld [wd80e], a
- ld a, [wd7ab]
+ ld [wOBP1], a
+ ld a, [wSCX]
ld [hSCX], a
xor a
ld [hSCY], a
@@ -5946,7 +5946,7 @@ Func_d87f: ; 0xd87f
inc [hl]
ret
-Func_d909: ; 0xd909
+GameScreenFunction_HandleBallPhysics: ; 0xd909
; main loop for stage logic
xor a
ld [wFlipperCollision], a
@@ -6070,7 +6070,7 @@ SaveGame: ; 0xda05
ld [wScreenState], a
ret
-Func_da36: ; 0xda36
+GameScreenFunction_HandleBallLoss: ; 0xda36
xor a
ld [hJoypadState], a
ld [hNewlyPressedButtons], a
@@ -6118,7 +6118,7 @@ Func_da36: ; 0xda36
inc [hl]
ret
-Func_dab2: ; 0xdab2
+GameScreenFunction_EndBall: ; 0xdab2
xor a
ld [wd803], a
ld a, [wGameOver]
@@ -8311,7 +8311,7 @@ BallMovingDownStageTransitions: ; 0xed4e
db $FF ; STAGE_SEEL_BONUS
Func_ed5e: ; 0xed5e
- ld hl, wd7ab
+ ld hl, wSCX
ld a, [wd7ac]
and a
jr nz, .modify_scx_and_scy
@@ -18543,7 +18543,7 @@ StartBallGengarBonusStage: ; 0x18157
ld a, $56
ld [wBallYPos + 1], a
xor a
- ld [wd7ab], a
+ ld [wSCX], a
ld [wStageCollisionState], a
ld [wd653], a
xor a
@@ -20208,7 +20208,7 @@ StartBallMewtwoBonusStage: ; 0x192e3
ld a, $80
ld [wBallXVelocity], a
xor a
- ld [wd7ab], a
+ ld [wSCX], a
ld [wStageCollisionState], a
ld [wd6a9], a
ld a, [wd4c9]
@@ -21040,7 +21040,7 @@ StartBallDiglettBonusStage: ; 0x19a38
ld a, $40
ld [wBallXVelocity], a
xor a
- ld [wd7ab], a
+ ld [wSCX], a
ld [wStageCollisionState], a
ld [wd73a], a
ld hl, wDiglettStates
@@ -21928,7 +21928,7 @@ StartBallAfterBonusStageBlueField: ; 0x1c129
ld [wBallXVelocity], a
ld [wBallXVelocity + 1], a
ld [wd496], a
- ld [wd7ab], a
+ ld [wSCX], a
ld [wd7be], a
ld a, [wBallTypeBackup]
ld [wBallType], a
@@ -28669,7 +28669,7 @@ StartBallMeowthBonusStage: ; 0x24059
ld a, $40
ld [wBallXVelocity], a
xor a
- ld [wd7ab], a
+ ld [wSCX], a
ld [wStageCollisionState], a
ld [wd6e6], a
ld hl, wd6f3
@@ -31028,7 +31028,7 @@ StartBallSeelBonusStage: ; 0x25af1
ld a, $80
ld [wBallXVelocity], a
xor a
- ld [wd7ab], a
+ ld [wSCX], a
ld [wStageCollisionState], a
ld [wd766], a
ld a, $0
@@ -32172,11 +32172,11 @@ LoadPokedexScreen: ; 0x2800e
ld a, $23
ld [hLCDC], a
ld a, $e4
- ld [wd80c], a
+ ld [wBGP], a
ld a, $93
- ld [wd80d], a
+ ld [wOBP0], a
ld a, $e4
- ld [wd80e], a
+ ld [wOBP1], a
xor a
ld [hSCX], a
ld a, $8
@@ -36489,7 +36489,7 @@ StartBallAfterBonusStageRedField: ; 0x30128
ld [wBallXVelocity], a
ld [wBallXVelocity + 1], a
ld [wd496], a
- ld [wd7ab], a
+ ld [wSCX], a
ld [wd7be], a
ld a, [wBallTypeBackup]
ld [wBallType], a
diff --git a/wram.asm b/wram.asm
index 794f2d3..d74b9cc 100755
--- a/wram.asm
+++ b/wram.asm
@@ -1699,7 +1699,7 @@ wUpperTiltPushing:: ; 0xd7a9
wd7aa:: ; 0xd7aa
ds $1
-wd7ab:: ; 0xd7ab
+wSCX:: ; 0xd7ab
ds $1
wd7ac:: ; 0xd7ac
@@ -1753,10 +1753,10 @@ wFlipperYForce:: ; 0xd7bc
wd7be:: ; 0xd7be
ds $1
-wd7bf:: ; 0xd7bf
+wStageSong:: ; 0xd7bf
ds $1
-wd7c0:: ; 0xd7c0
+wStageSongBank:: ; 0xd7c0
ds $1
wd7c1:: ; 0xd7c1
@@ -1879,13 +1879,13 @@ wd809:: ; 0xd809
wd80a:: ; 0xd80a
ds $2
-wd80c:: ; 0xd80c
+wBGP:: ; 0xd80c
ds $1
-wd80d:: ; 0xd80d
+wOBP0:: ; 0xd80d
ds $1
-wd80e:: ; 0xd80e
+wOBP1:: ; 0xd80e
ds $1
wd80f:: ; 0xd80f
@@ -2434,50 +2434,33 @@ wdaa3:: ; 0xdaa3
wdcad:: ; 0xdcad
ds $53
+SECTION "Audio RAM", WRAMX [$dd00], BANK [1]
wdd00:: ; 0xdd00
ds $1
-wdd01:: ; 0xdd01
+wChannel1:: ; 0xdd01
ds $32
-wdd33:: ; 0xdd33
+wChannel2:: ; 0xdd33
ds $32
-wdd65:: ; 0xdd65
+wChannel3:: ; 0xdd65
ds $32
-wdd97:: ; 0xdd97
+wChannel4:: ; 0xdd97
ds $32
-wddc9:: ; 0xddc9
- ds $2
-
-wddcb:: ; 0xddcb
- ds $30
-
-wddfb:: ; 0xddfb
- ds $2
-
-wddfd:: ; 0xddfd
- ds $24
-
-wde21:: ; 0xde21
- ds $c
-
-wde2d:: ; 0xde2d
- ds $2
-
-wde2f:: ; 0xde2f
- ds $30
+wChannel5:: ; 0xddc9
+ ds $32
-wde5f:: ; 0xde5f
- ds $2
+wChannel6:: ; 0xddfb
+ ds $32
-wde61:: ; 0xde61
- ds $24
+wChannel7:: ; 0xde2d
+ ds $32
-wde85:: ; 0xde85
- ds $c
+wChannel8:: ; 0xde5f
+ ds $32
wde91:: ; 0xde91
ds $1
@@ -2560,12 +2543,10 @@ wdead:: ; 0xdead
wdeae:: ; 0xdeae
ds $2
+wMusicRAMEnd:: ; deb0
wdeb0:: ; 0xdeb0
ds $50
-wStack:: ; 0xdf00
- ds $ff
-
-wdfff:: ; 0xdfff
- ds $1
-
+SECTION "Stack", WRAMX [$dfff], BANK [1]
+wStack:: ; 0xdfff
+ ds -$ff