diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-03-31 22:22:22 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-03-31 22:22:22 -0400 |
commit | bbc5294685ffa4b93442f7e6aeb095900c35868c (patch) | |
tree | 7daf6510c000fda53ba46e727a62c4dd85efe013 | |
parent | 38ce770883544d5b815f63c0137441db0aa7523c (diff) |
Audio channel wram addresses
-rwxr-xr-x | audio/engine_0f.asm | 39 | ||||
-rwxr-xr-x | home.asm | 28 | ||||
-rwxr-xr-x | main.asm | 102 | ||||
-rwxr-xr-x | wram.asm | 65 |
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 @@ -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] @@ -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 @@ -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 |