diff options
-rw-r--r-- | data/sound_test_text_pointers.inc | 94 | ||||
-rw-r--r-- | engine/menu/debug_menu.asm | 139 | ||||
-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 |
7 files changed, 254 insertions, 14 deletions
diff --git a/data/sound_test_text_pointers.inc b/data/sound_test_text_pointers.inc new file mode 100644 index 0000000..a2a4e43 --- /dev/null +++ b/data/sound_test_text_pointers.inc @@ -0,0 +1,94 @@ +SoundTestTextPointers: +; 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_HurryAlongText + dbbw $00, $3A, SoundTest_MeetOakText + dbbw $00, $3A, SoundTest_RivalText + dbbw $00, $3A, SoundTest_SSAnneText + 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_OaksLabText + 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_CaveText + dbbw $00, $3C, SoundTest_CaveText + dbbw $00, $3C, SoundTest_CaveText + dbbw $00, $3C, SoundTest_CaveText + dbbw $00, $3C, SoundTest_PokemonTowerText + dbbw $00, $3C, SoundTest_PokemonTowerText + 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, SoundTestTextPointers + +SoundTest_PalletTownText: db "マサラタウン@" +SoundTest_PokecenterText: db "#センター@" +SoundTest_PokegymText: db "#ジム@" +SoundTest_PokeEvolutionText: db "#しんか@" +SoundTest_HealingText: db "あさあさあさ@" +SoundTest_HurryAlongText: db "つれていかれる@" +SoundTest_MeetOakText: db "オーキドとともに@" +SoundTest_RivalText: db "ライバル@" +SoundTest_SSAnneText: 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_OaksLabText: db "けんきゆうじよ@" +SoundTest_JigglypuffSongText: db "プりンノうた@" +SoundTest_BikeText: db "じてんしや@" +SoundTest_SurfText: db "うみ@" +SoundTest_CasinoText: db "カジノ@" +SoundTest_IntroBattleText: db "オープニングデモ@" +SoundTest_CaveText: db "どうくつ@" +SoundTest_PokemonTowerText: db "とう@" +SoundTest_DealerText: db "ディーラー@" +SoundTest_QuestionMarkText: db "?@" diff --git a/engine/menu/debug_menu.asm b/engine/menu/debug_menu.asm index e33d61c..728dc8e 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 @@ -82,19 +82,19 @@ DebugMenuOptionSubGames:: DebugMenuOptionMonsterTest:: ld hl, wPokedexOwned ld de, wPokedexSeen - ld b, $1F - ld a, $FF + ld b, NUM_POKEMON / 8 + ld a, %11111111 .loop - ld [hl+], a + ld [hli], a ld [de], a inc de dec b jr nz, .loop - ld a, $03 + ld a, (1 << ((NUM_POKEMON - 1) % 8)) - 1 ; discount #251 ld [hl], a ld [de], a callab MonsterTest - ld a, $e4 + ld a, %11100100 ldh [rBGP], a Function40eb:: @@ -102,6 +102,131 @@ Function40eb:: DebugMenuOptionName:: callab OpenTrainerGear - ld a, $e4 + ld a, %11100100 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, $ff + ld [wcdb4], a + jr .RefreshScreenAndLoop + +.DetermineDescriptionPointer: + ld hl, SoundTestTextPointers + ldh a, [hDebugMenuSoundMenuIndex] + add a + add a ; a * 4 + 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 + +INCLUDE "data/sound_test_text_pointers.inc" 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 d2bf1f1..a52e750 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 8f86a2a..da8f685 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 c861704..56e87b8 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -728,6 +728,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 @@ -167,7 +167,6 @@ 3F:4C24 Functionfcc24 3F:4E3E Functionfce3e 3F:5B66 Functionfdb66 -3F:6255 Functionfe255 3F:64CE MonsterTest 3F:654E PicTest 3F:6750 PicTestMenu |