diff options
author | Zumi Daxuya <daxuya.zumi+code@protonmail.com> | 2020-12-16 20:59:36 +0700 |
---|---|---|
committer | Zumi Daxuya <daxuya.zumi+code@protonmail.com> | 2020-12-16 21:04:40 +0700 |
commit | 906ec5730c0ad831f68143b227b850189b0baed9 (patch) | |
tree | 1ea572f74ce6199feee30e777bf9e21a9da87b24 | |
parent | dd5fd058034e087165afe5e6b6ffc669781fffd6 (diff) |
Disassemble sound test debug menu
-rw-r--r-- | engine/menu/debug_menu.asm | 290 | ||||
-rw-r--r-- | home/unknown.asm | 8 | ||||
-rw-r--r-- | layout.link | 4 | ||||
-rw-r--r-- | ram/hram.asm | 16 | ||||
-rw-r--r-- | ram/wram.asm | 6 | ||||
-rwxr-xr-x | shim.sym | 1 |
6 files changed, 317 insertions, 8 deletions
diff --git a/engine/menu/debug_menu.asm b/engine/menu/debug_menu.asm index e33d61c..a754c1b 100644 --- a/engine/menu/debug_menu.asm +++ b/engine/menu/debug_menu.asm @@ -25,7 +25,7 @@ DebugMenu:: DebugJumpTable:: dw DebugMenuOptionFight dw DebugMenuOptionField - dw Function094c ; sound test + dw DebugMenuSoundTest ; to home bank dw DebugMenuOptionSubGames dw DebugMenuOptionMonsterTest dw DebugMenuOptionName @@ -105,3 +105,291 @@ DebugMenuOptionName:: ld a, $e4 ldh [rBGP], a jp DebugMenu + +SECTION "engine/menu/debug_menu.asm@Sound Test", ROMX + +_DebugMenuSoundTest:: + call ClearTileMap + call LoadFontExtra + call ClearSprites + call GetMemSGBLayout + xor a + ldh [hDebugMenuSoundMenuIndex], a + call .DetermineDescriptionPointer + +.RefreshScreenAndLoop: + call WaitBGMap + +.Loop: + call ClearJoypad + call GetJoypad + ldh a, [hJoyDown] + and a + jr z, .Loop + + bit A_BUTTON_F, a + jr nz, .a_pressed + + bit B_BUTTON_F, a + jr nz, .b_pressed + + bit START_F, a + jr nz, .start_pressed + + bit D_UP_F, a + jr nz, .up_pressed + + bit D_DOWN_F, a + jr nz, .down_pressed + + ret + +.a_pressed + ldh a, [hDebugMenuSoundBank] + ld c, a + ldh a, [hDebugMenuSoundID] + jr .RefreshScreenAndLoop + +.up_pressed + ldh a, [hDebugMenuSoundMenuIndex] + inc a + cp 55 + jr nz, .SetIndex + + xor a + +.SetIndex: + ldh [hDebugMenuSoundMenuIndex], a + call .DetermineDescriptionPointer + jr .RefreshScreenAndLoop + +.down_pressed + ldh a, [hDebugMenuSoundMenuIndex] + dec a + cp -1 + jr nz, .SetIndex2 + + ld a, 54 + +.SetIndex2: + ldh [hDebugMenuSoundMenuIndex], a + call .DetermineDescriptionPointer + jr .RefreshScreenAndLoop + +.start_pressed + ldh a, [hDebugMenuSoundBank] + ld c, a + ld a, -1 + jr .RefreshScreenAndLoop + +.b_pressed + ldh a, [hDebugMenuSoundBank] + ld c, a + ld a, 10 + ld [wcdb5], a + ld [wcdb6], a + ld a, -1 + ld [wcdb4], a + jr .RefreshScreenAndLoop + +.DetermineDescriptionPointer: + ld hl, .TextPointers + ldh a, [hDebugMenuSoundMenuIndex] + add a + add a ; a * 8 + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ldh [hDebugMenuSoundID], a + ld a, [hli] + ldh [hDebugMenuSoundBank], a + ld a, [hli] + ld e, a + ld d, [hl] + call CopyStringToStringBuffer2 + call .DisplayText + ret + +.DisplayText: + ld hl, hDebugMenuSoundMenuIndex + inc [hl] + ld hl, .String + call PrintText + ld hl, hDebugMenuSoundMenuIndex + dec [hl] + ld c, 3 + call DelayFrames + ret + +.String: + deciram hDebugMenuSoundMenuIndex, 1, 1 + text "<LINE>@" + text_from_ram wStartDay + text " " + done + +.TextPointers: +; id? bank? description + dbbw $00, $3A, SoundTest_PalletTownText + dbbw $00, $3A, SoundTest_PokecenterText + dbbw $00, $3A, SoundTest_PokegymText + dbbw $07, $3A, SoundTest_QuestionMarkText + dbbw $00, $3A, SoundTest_QuestionMarkText + dbbw $00, $3A, SoundTest_QuestionMarkText + dbbw $00, $3A, SoundTest_QuestionMarkText + dbbw $00, $3A, SoundTest_QuestionMarkText + dbbw $00, $3A, SoundTest_QuestionMarkText + dbbw $0C, $3A, SoundTest_PokeEvolutionText + dbbw $08, $3A, SoundTest_HealingText + dbbw $02, $3A, SoundTest_QuestionMarkText + dbbw $03, $3A, SoundTest_QuestionMarkText + dbbw $00, $3A, SoundTest_QuestionMarkText + dbbw $00, $3A, SoundTest_QuestionMarkText + dbbw $00, $3A, SoundTest_QuestionMarkText + dbbw $00, $3A, SoundTest_ReservedText + dbbw $00, $3A, SoundTest_OakText + dbbw $00, $3A, SoundTest_RivalText + dbbw $00, $3A, SoundTest_StAnneText + dbbw $66, $3A, SoundTest_Fanfare3Text + dbbw $68, $3A, SoundTest_Fanfare5Text + dbbw $69, $3A, SoundTest_Fanfare6Text + dbbw $63, $3A, SoundTest_FanfareText + dbbw $21, $3A, SoundTest_FluteText + dbbw $04, $3B, SoundTest_BattleText + dbbw $05, $3B, SoundTest_BattleText + dbbw $00, $3B, SoundTest_BattleText + dbbw $00, $3B, SoundTest_ChampionBattleText + dbbw $0B, $3B, SoundTest_VictoryText + dbbw $00, $3B, SoundTest_VictoryText + dbbw $00, $3B, SoundTest_VictoryText + dbbw $67, $3B, SoundTest_Fanfare4Text + dbbw $68, $3B, SoundTest_Fanfare5Text_2 + dbbw $6B, $3B, SoundTest_Fanfare8Text + dbbw $00, $3C, SoundTest_TitleText + dbbw $00, $3C, SoundTest_EndingText + dbbw $00, $3C, SoundTest_HallOfFameText + dbbw $00, $3C, SoundTest_KenkiYujiyoText + dbbw $00, $3C, SoundTest_JigglypuffSongText + dbbw $09, $3C, SoundTest_BikeText + dbbw $00, $3C, SoundTest_SurfText + dbbw $00, $3C, SoundTest_CasinoText + dbbw $00, $3C, SoundTest_IntroBattleText + dbbw $00, $3C, SoundTest_DungeonText + dbbw $00, $3C, SoundTest_DungeonText + dbbw $00, $3C, SoundTest_DungeonText + dbbw $00, $3C, SoundTest_DungeonText + dbbw $00, $3C, SoundTest_TouText + dbbw $00, $3C, SoundTest_TouText + dbbw $0A, $3C, SoundTest_DealerText + dbbw $00, $3C, SoundTest_DealerText + dbbw $00, $3C, SoundTest_DealerText + dbbw $66, $3C, SoundTest_Fanfare3Text_2 + dbbw $69, $3C, SoundTest_Fanfare6Text_2 + dbbw -1 -1, .TextPointers + +SoundTest_PalletTownText: + db "マサラタウン@" + +SoundTest_PokecenterText: + db "#センター@" + +SoundTest_PokegymText: + db "#ジム@" + +SoundTest_PokeEvolutionText: + db "#しんか@" + +SoundTest_HealingText: + db "あさあさあさ@" + +SoundTest_ReservedText: + db "つれていかれる@" + +SoundTest_OakText: + db "オーキドとともに@" + +SoundTest_RivalText: + db "ライバル@" + +SoundTest_StAnneText: + db "サントアンヌゴウ@" + +SoundTest_FluteText: + db "ふえ@" + +SoundTest_BattleText: + db "せんとう@" + +SoundTest_ChampionBattleText: + db "さいしゆうせんとう@" + +SoundTest_VictoryText: + db "かち@" + +SoundTest_FanfareText: + db "フぁンファーレ@" + +SoundTest_Fanfare3Text: + db "フぁンファーレ3@" + +SoundTest_Fanfare5Text: + db "フぁンファーレ5@" + +SoundTest_Fanfare6Text: + db "フぁンファーレ6@" + +SoundTest_Fanfare4Text: + db "フぁンファーレ4@" + +SoundTest_Fanfare5Text_2: + db "フぁンファーレ5@" + +SoundTest_Fanfare8Text: + db "フぁンファーレ8@" + +SoundTest_Fanfare3Text_2: + db "フぁンファーレ3@" + +SoundTest_Fanfare6Text_2: + db "フぁンファーレ6@" + +SoundTest_TitleText: + db "タイトル@" + +SoundTest_EndingText: + db "エンディング@" + +SoundTest_HallOfFameText: + db "でんどういり@" + +SoundTest_KenkiYujiyoText: + db "けんきゆうじよ@" + +SoundTest_JigglypuffSongText: + db "プりンノうた@" + +SoundTest_BikeText: + db "じてんしや@" + +SoundTest_SurfText: + db "うみ@" + +SoundTest_CasinoText: + db "カジノ@" + +SoundTest_IntroBattleText: + db "オープニングデモ@" + +SoundTest_DungeonText: + db "どうくつ@" + +SoundTest_TouText: + db "とう@" + +SoundTest_DealerText: + db "ディーラー@" + +SoundTest_QuestionMarkText: + db "?@" + diff --git a/home/unknown.asm b/home/unknown.asm index f06101b..e808518 100644 --- a/home/unknown.asm +++ b/home/unknown.asm @@ -45,14 +45,14 @@ Function20f8:: ret -SECTION "home/unknown.asm@Unknown_094c", ROM0 +SECTION "home/unknown.asm@Debug menu sound test call", ROM0 -Function094c:: +DebugMenuSoundTest:: ldh a, [hROMBank] push af - ld a, BANK(Functionfe255) + ld a, BANK(_DebugMenuSoundTest) call Bankswitch - call Functionfe255 + call _DebugMenuSoundTest pop af call Bankswitch diff --git a/layout.link b/layout.link index e03d166..17467cc 100644 --- a/layout.link +++ b/layout.link @@ -42,7 +42,7 @@ ROM0 "home/serial.asm" "home/interrupts.asm@Joypad dummy interrupt" "home/joypad.asm" - "home/unknown.asm@Unknown_094c" + "home/unknown.asm@Debug menu sound test call" "home/pic.asm" "home/copy2.asm" "home/text.asm" @@ -953,6 +953,8 @@ ROMX $3f "engine/landmarks.asm@2" org $506f "gfx.asm@Town Map Cursor" + org $6255 + "engine/menu/debug_menu.asm@Sound Test" WRAM0 org $c000 diff --git a/ram/hram.asm b/ram/hram.asm index 4acfbfa..c0d49a1 100644 --- a/ram/hram.asm +++ b/ram/hram.asm @@ -57,7 +57,21 @@ hJoyDebounceSrc:: db hJoypadState2:: db - ds 6 ; TODO +UNION + +hFFA7:: db +hFFA8:: db +hFFA9:: db + +NEXTU + +hDebugMenuSoundMenuIndex:: db +hDebugMenuSoundID:: db +hDebugMenuSoundBank:: db + +ENDU + + ds 3 ; TODO hGraphicStartTile:: db hMoveMon:: db diff --git a/ram/wram.asm b/ram/wram.asm index da6d364..e0356b9 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -633,6 +633,12 @@ wTalkingTargetType:: db wcdb1:: ds 1 wcdb2:: ds 1 +ds 1 + +wcdb4:: ds 1 +wcdb5:: ds 1 +wcdb6:: ds 1 + SECTION "CDB9", WRAM0[$CDB9] wcdb9:: ds 1 @@ -170,7 +170,6 @@ 3F:4C24 Functionfcc24 3F:4E3E Functionfce3e 3F:5B66 Functionfdb66 -3F:6255 Functionfe255 3F:64CE MonsterTest 3F:654E PicTest 3F:6750 PicTestMenu |