diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-07-10 20:12:38 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-07-13 10:59:22 -0400 |
commit | 4eeab8973c8367b3ae8885d158197392489e6174 (patch) | |
tree | 4734c3387645630e3092ef858b2433159a8abdf6 /engine/menus/debug.asm | |
parent | 30c327276c937e06e3c8b7990cb9029937739f8e (diff) |
Disassemble the final English debug ROMs
Diffstat (limited to 'engine/menus/debug.asm')
-rw-r--r-- | engine/menus/debug.asm | 1455 |
1 files changed, 0 insertions, 1455 deletions
diff --git a/engine/menus/debug.asm b/engine/menus/debug.asm deleted file mode 100644 index 0df9ea3f..00000000 --- a/engine/menus/debug.asm +++ /dev/null @@ -1,1455 +0,0 @@ -; Left-over debug code from pokegold-debug - - const_def $6a - const DEBUGTEST_TICKS_1 ; $6a - const DEBUGTEST_TICKS_2 ; $6b - const DEBUGTEST_WHITE ; $6c - const DEBUGTEST_LIGHT ; $6d - const DEBUGTEST_DARK ; $6e - const DEBUGTEST_BLACK ; $6f - const DEBUGTEST_0 ; $70 - const DEBUGTEST_1 ; $71 - const DEBUGTEST_2 ; $72 - const DEBUGTEST_3 ; $73 - const DEBUGTEST_4 ; $74 - const DEBUGTEST_5 ; $75 - const DEBUGTEST_6 ; $76 - const DEBUGTEST_7 ; $77 - const DEBUGTEST_8 ; $78 - const DEBUGTEST_9 ; $79 - const DEBUGTEST_A ; $7a - const DEBUGTEST_B ; $7b - const DEBUGTEST_C ; $7c - const DEBUGTEST_D ; $7d - const DEBUGTEST_E ; $7e - const DEBUGTEST_F ; $7f - -DebugColorPicker: -; A debug menu to test monster and trainer palettes at runtime. - - ldh a, [hCGB] - and a - jr nz, .set - ldh a, [hSGB] - and a - ret z - -.set - ldh a, [hInMenu] - push af - ld a, 1 - ldh [hInMenu], a - call DisableLCD - call DebugColor_InitVRAM - call DebugColor_LoadGFX - call DebugColor_InitPalettes - call DebugColor_InitMonColor - call EnableLCD - ld de, MUSIC_NONE - call PlayMusic - xor a - ld [wJumptableIndex], a - ld [wce66], a - ld [wceee], a -.loop - ld a, [wJumptableIndex] - bit 7, a - jr nz, .exit - call DebugColorMain - call DebugColor_PlaceCursor - call DelayFrame - jr .loop - -.exit - pop af - ldh [hInMenu], a - ret - -DebugColor_InitMonColor: - ld a, [wceed] - and a - jr nz, DebugColor_InitTrainerColor - ld hl, PokemonPalettes - -DebugColor_InitMonColor2: - ld de, wOverworldMapBlocks - ld c, NUM_POKEMON + 1 -.loop - push bc - push hl - call DebugColor_InitColor - pop hl - ld bc, 8 - add hl, bc - pop bc - dec c - jr nz, .loop - ret - -DebugColor_InitTrainerColor: - ld hl, TrainerPalettes - ld de, wOverworldMapBlocks - ld c, NUM_TRAINER_CLASSES -.loop - push bc - push hl - call DebugColor_InitColor - pop hl - ld bc, 4 - add hl, bc - pop bc - dec c - jr nz, .loop - ret - -DebugColor_InitColor: - ld a, BANK(PokemonPalettes) ; aka BANK(TrainerPalettes) - call GetFarByte - ld [de], a - inc de - inc hl - - ld a, BANK(PokemonPalettes) ; aka BANK(TrainerPalettes) - call GetFarByte - ld [de], a - inc de - inc hl - - ld a, BANK(PokemonPalettes) ; aka BANK(TrainerPalettes) - call GetFarByte - ld [de], a - inc de - inc hl - - ld a, BANK(PokemonPalettes) ; aka BANK(TrainerPalettes) - call GetFarByte - ld [de], a - inc de - ret - -DebugColor_InitVRAM: - ld a, 1 - ldh [rVBK], a - ld hl, vTiles0 - ld bc, sScratch - vTiles0 - xor a - call ByteFill - - ld a, 0 - ldh [rVBK], a - ld hl, vTiles0 - ld bc, sScratch - vTiles0 - xor a - call ByteFill - - hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call ByteFill - - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call ByteFill - - call ClearSprites - ret - -DebugColor_LoadGFX: - ld hl, DebugColor_GFX - ld de, vTiles2 tile DEBUGTEST_TICKS_1 - ld bc, 22 tiles - call CopyBytes - ld hl, DebugColor_UpArrowGFX - ld de, vTiles0 - ld bc, 1 tiles - call CopyBytes - call LoadStandardFont - ld hl, vTiles1 - lb bc, 8, 0 -.loop - ld a, [hl] - xor $ff - ld [hli], a - dec bc - ld a, c - or b - jr nz, .loop - ret - -DebugColor_InitPalettes: - ldh a, [hCGB] - and a - ret z - ld hl, Palette_DebugBG - ld de, wBGPals2 - ld bc, 16 palettes - call CopyBytes - ld a, 1 << rBGPI_AUTO_INCREMENT - ldh [rBGPI], a - ld hl, Palette_DebugBG - ld c, 8 palettes - xor a -.loop1 - ldh [rBGPD], a - dec c - jr nz, .loop1 - - ld a, 1 << rOBPI_AUTO_INCREMENT - ldh [rOBPI], a - ld hl, Palette_DebugOB - ld c, 8 palettes -.loop2 - ld a, [hli] - ldh [rOBPD], a - dec c - jr nz, .loop2 - - ld a, $94 - ld [wc508], a - ld a, $52 - ld [wc508 + 1], a - ld a, $4a - ld [wc508 + 2], a - ld a, $29 - ld [wc508 + 3], a - ret - -Palette_DebugBG: -INCLUDE "gfx/debug/bg.pal" - -Palette_DebugOB: -INCLUDE "gfx/debug/ob.pal" - -DebugColorMain: - call JoyTextDelay - ld a, [wJumptableIndex] - cp 4 - jr nc, .asm_fd49e - ld hl, hJoyLast - ld a, [hl] - and SELECT - jr nz, .NextMon - ld a, [hl] - and START - jr nz, .PreviousMon - -.asm_fd49e - jumptable Jumptable_fd4e2, wJumptableIndex - -.NextMon: - call DebugColor_BackupSpriteColors - call DebugColor_SetMaxNum - ld e, a - ld a, [wce66] - inc a - cp e - jr c, .SwitchMon - xor a - jr .SwitchMon - -.PreviousMon: - call DebugColor_BackupSpriteColors - ld a, [wce66] - dec a - cp -1 - jr nz, .SwitchMon - call DebugColor_SetMaxNum - dec a - -.SwitchMon: - ld [wce66], a - ld a, 0 ; ScreenInitNo - ld [wJumptableIndex], a - ret - -DebugColor_SetMaxNum: - ld a, [wceed] - and a - jr nz, .trainer -; .mon - ld a, NUM_POKEMON - ret -.trainer - ld a, NUM_TRAINER_CLASSES - 1 - ret - -Jumptable_fd4e2: - dw DebugColor_InitScreen - dw Functionfd62b - dw Functionfd646 - dw Functionfd6cb - dw Functionfd797 - dw Functionfd7b8 - -DebugColor_InitScreen: - xor a - ldh [hBGMapMode], a - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, DEBUGTEST_BLACK - call ByteFill - hlcoord 1, 3 - lb bc, 7, 18 - ld a, DEBUGTEST_WHITE - call DebugColor_FillBoxWithByte - hlcoord 11, 0 - lb bc, 2, 3 - ld a, DEBUGTEST_LIGHT - call DebugColor_FillBoxWithByte - hlcoord 16, 0 - lb bc, 2, 3 - ld a, DEBUGTEST_DARK - call DebugColor_FillBoxWithByte - call DebugColor_LoadRGBMeter - call DebugColor_SetRGBMeter - ld a, [wce66] - inc a - ld [wCurPartySpecies], a - ld [wDeciramBuffer], a - hlcoord 0, 1 - ld de, wDeciramBuffer - lb bc, PRINTNUM_LEADINGZEROS | 1, 3 - call PrintNum - ld a, [wceed] - and a - jr nz, .Trainer - -.MonSpriteViewer: - ld a, 1 - ld [wUnownLetter], a - call GetPokemonName - hlcoord 4, 1 - call PlaceString - xor a - ld [wBoxAlignment], a - hlcoord 2, 3 - call _PrepMonFrontpic - ld de, vTiles2 tile $31 - predef GetMonBackpic - ld a, $31 - ldh [hGraphicStartTile], a - hlcoord 12, 4 - lb bc, 6, 6 - predef PlaceGraphic - ld a, [wceee] - and a - jr z, .load_normal_text - -.load_shiny_text - ld de, DebugColor_ShinyText - jr .place_switch_text - -.load_normal_text - ld de, DebugColor_NormalText - -.place_switch_text - hlcoord 7, 17 - call PlaceString - hlcoord 0, 17 - ld de, DebugColor_SwitchText - call PlaceString - jr .asm_fd5bc - -.Trainer: - ld a, [wDeciramBuffer] - ld [wTrainerClass], a - callfar GetTrainerAttributes - ld de, wStringBuffer1 - hlcoord 4, 1 - call PlaceString - ld de, vTiles2 - callfar GetTrainerPic - xor a - ld [wTempEnemyMonSpecies], a - ldh [hGraphicStartTile], a - hlcoord 2, 3 - lb bc, 7, 7 - predef PlaceGraphic - -.asm_fd5bc - ld a, 1 - ld [wJumptableIndex], a - ret - -DebugColor_ShinyText: - db "レア", DEBUGTEST_BLACK, DEBUGTEST_BLACK, "@" ; Rare (shiny) - -DebugColor_NormalText: - db "ノーマル@" ; Normal - -DebugColor_SwitchText: - db DEBUGTEST_A, "きりかえ▶@" ; Switch - -DebugColor_LoadRGBMeter: - decoord 0, 11, wAttrmap - hlcoord 2, 11 - ld a, 1 - call Functionfd5f1 - decoord 0, 13, wAttrmap - hlcoord 2, 13 - ld a, 2 - call Functionfd5f1 - decoord 0, 15, wAttrmap - hlcoord 2, 15 - ld a, 3 - -Functionfd5f1: - push af - ld a, DEBUGTEST_TICKS_1 - ld [hli], a - ld bc, 15 - ld a, DEBUGTEST_TICKS_2 - call ByteFill - ld l, e - ld h, d - pop af - ld bc, 20 * 2 - call ByteFill - ret - -DebugColor_SetRGBMeter: - ld a, [wce66] - inc a - ld l, a - ld h, 0 - add hl, hl - add hl, hl - ld de, wOverworldMapBlocks - add hl, de - ld de, wc508 - ld bc, 4 - call CopyBytes - xor a - ld [wce64], a - ld [wce65], a - ld de, wc508 - call DebugColor_CalculateRGB - ret - -Functionfd62b: - ldh a, [hCGB] - and a - jr z, .asm_fd63d - ld a, 2 - ldh [hBGMapMode], a - call DelayFrame - call DelayFrame - call DelayFrame - -.asm_fd63d - call WaitBGMap - ld a, 2 - ld [wJumptableIndex], a - ret - -Functionfd646: - ldh a, [hCGB] - and a - jr z, .sgb - -.cgb - ld hl, wBGPals2 - ld de, wc508 - ld c, 1 - call Functionfd8ec - hlcoord 10, 2 - ld de, wc508 - call Functionfd6b0 - hlcoord 15, 2 - ld de, wc508 + 2 - call Functionfd6b0 - ld a, 1 - ldh [hCGBPalUpdate], a - ld a, 3 - ld [wJumptableIndex], a - ret - -.sgb - ld hl, wSGBPals - ld a, 1 - ld [hli], a - ld a, LOW(PALRGB_WHITE) - ld [hli], a - ld a, HIGH(PALRGB_WHITE) - ld [hli], a - ld a, [wc508] - ld [hli], a - ld a, [wc508 + 1] - ld [hli], a - ld a, [wc508 + 2] - ld [hli], a - ld a, [wc508 + 3] - ld [hli], a - xor a - ld [hli], a - ld [hli], a - ld [hl], a - ld hl, wSGBPals - call Functionfd915 - hlcoord 10, 2 - ld de, wc508 - call Functionfd6b0 - hlcoord 15, 2 - ld de, wc508 + 2 - call Functionfd6b0 - ld a, 3 - ld [wJumptableIndex], a - ret - -Functionfd6b0: - inc hl - inc hl - inc hl - ld a, [de] - call Functionfd6c5 - ld a, [de] - swap a - call Functionfd6c5 - inc de - ld a, [de] - call Functionfd6c5 - ld a, [de] - swap a - -Functionfd6c5: - and $f - add DEBUGTEST_0 - ld [hld], a - ret - -Functionfd6cb: - ldh a, [hJoyLast] - and B_BUTTON - jr nz, .asm_fd6e8 - ldh a, [hJoyLast] - and A_BUTTON - jr nz, .asm_fd6ee - ld a, [wce64] - and 3 - ld e, a - ld d, 0 - ld hl, Jumptable_fd70b - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.asm_fd6e8 - ld a, 4 - ld [wJumptableIndex], a - ret - -.asm_fd6ee - ld a, [wceed] - and a - ret nz - ld a, [wceee] - xor 4 - ld [wceee], a - ld c, a - ld b, 0 - ld hl, PokemonPalettes - add hl, bc - call DebugColor_InitMonColor2 - ld a, 0 - ld [wJumptableIndex], a - ret - -Jumptable_fd70b: - dw DebugColor_SelectColorBox - dw DebugColor_ChangeRedValue - dw DebugColor_ChangeGreenValue - dw DebugColor_ChangeBlueValue - -DebugColor_SelectColorBox: - ld hl, hJoyLast - ld a, [hl] - and D_DOWN - jr nz, DebugColor_NextRGBColor - ld a, [hl] - and D_LEFT - jr nz, .lightcolor - ld a, [hl] - and D_RIGHT - jr nz, .darkcolor - ret - -.lightcolor: - xor a - ld [wce65], a - ld de, wc508 - call DebugColor_CalculateRGB - ret - -.darkcolor: - ld a, 1 - ld [wce65], a - ld de, wc508 + 2 - call DebugColor_CalculateRGB - ret - -DebugColor_ChangeRedValue: - ld hl, hJoyLast - ld a, [hl] - and D_DOWN - jr nz, DebugColor_NextRGBColor - ld a, [hl] - and D_UP - jr nz, DebugColor_PreviousRGBColor - ld hl, wc508 + 10 - jr DebugColor_UpdateSpriteColor - -DebugColor_ChangeGreenValue: - ld hl, hJoyLast - ld a, [hl] - and D_DOWN - jr nz, DebugColor_NextRGBColor - ld a, [hl] - and D_UP - jr nz, DebugColor_PreviousRGBColor - ld hl, wc508 + 11 - jr DebugColor_UpdateSpriteColor - -DebugColor_ChangeBlueValue: - ld hl, hJoyLast - ld a, [hl] - and D_UP - jr nz, DebugColor_PreviousRGBColor - ld hl, wc508 + 12 - -DebugColor_UpdateSpriteColor: - ldh a, [hJoyLast] - and D_RIGHT - jr nz, .increment_color_value - ldh a, [hJoyLast] - and D_LEFT - jr nz, .decrement_color_value - ret - -.increment_color_value - ld a, [hl] - cp $1f - ret nc - inc [hl] - jr .asm_fd784 - -.decrement_color_value - ld a, [hl] - and a - ret z - dec [hl] - -.asm_fd784 - call DebugColor_CalculatePalette - ld a, 2 - ld [wJumptableIndex], a - ret - -DebugColor_PreviousRGBColor: - ld hl, wce64 - dec [hl] - ret - -DebugColor_NextRGBColor: - ld hl, wce64 - inc [hl] - ret - -Functionfd797: - hlcoord 0, 10 - ld bc, 20 * 8 - ld a, DEBUGTEST_BLACK - call ByteFill - hlcoord 2, 12 - ld de, String_fd9d6 - call PlaceString - xor a - ld [wceef], a - call Functionfd7fd - ld a, 5 - ld [wJumptableIndex], a - ret - -Functionfd7b8: - ld hl, hJoyPressed - ld a, [hl] - and B_BUTTON - jr nz, .cancel -; ld a,(hl) -; and A_BUTTON -; jr nz, .exit - call DebugColor_TMHMJoypad - ret - -.cancel - ld a, 0 - ld [wJumptableIndex], a - ret - -.exit - ld hl, wJumptableIndex - set 7, [hl] - ret - -DebugColor_TMHMJoypad: - ld hl, hJoyLast - ld a, [hl] - and D_UP - jr nz, .asm_fd7de - ld a, [hl] - and D_DOWN - jr nz, .asm_fd7eb - ret - -.asm_fd7de - ld a, [wceef] - cp 56 - jr z, .asm_fd7e8 - inc a - jr .asm_fd7f6 - -.asm_fd7e8 - xor a - jr .asm_fd7f6 - -.asm_fd7eb - ld a, [wceef] - and a - jr z, .asm_fd7f4 - dec a - jr .asm_fd7f6 - -.asm_fd7f4 - ld a, 56 - -.asm_fd7f6 - ld [wceef], a - call Functionfd7fd - ret - -Functionfd7fd: - hlcoord 10, 11 - call Functionfd867 - hlcoord 10, 12 - call Functionfd867 - hlcoord 10, 13 - call Functionfd867 - hlcoord 10, 14 - call Functionfd867 - ld a, [wceef] - inc a - ld [wTempTMHM], a - predef GetTMHMMove - ld a, [wTempTMHM] - ld [wPutativeTMHMMove], a - call GetMoveName - hlcoord 10, 12 - call PlaceString - ld a, [wceef] - call Functionfd85e - ld [wCurItem], a - predef CanLearnTMHMMove - ld a, c - and a - ld de, DebugColor_AbleText - jr nz, .place_string - ld de, DebugColor_NotAbleText - -.place_string - hlcoord 10, 14 - call PlaceString - ret - -DebugColor_AbleText: - db "おぼえられる@" ; Learnable - -DebugColor_NotAbleText: - db "おぼえられない@" ; Not learnable - -Functionfd85e: - cp NUM_TMS - jr c, .tm -.hm - inc a - inc a -.tm - add TM01 - ret - -Functionfd867: - ld bc, 10 - ld a, DEBUGTEST_BLACK - call ByteFill - ret - -DebugColor_CalculatePalette: - ld a, [wc508 + 10] - and %00011111 - ld e, a - ld a, [wc508 + 11] - and %00000111 - sla a - swap a - or e - ld e, a - ld a, [wc508 + 11] - and %00011000 - sla a - swap a - ld d, a - ld a, [wc508 + 12] - and %00011111 - sla a - sla a - or d - ld d, a - ld a, [wce65] - and a - jr z, .LightPalette - -.DarkPalette - ld a, e - ld [wc508 + 2], a - ld a, d - ld [wc508 + 3], a - ret - -.LightPalette - ld a, e - ld [wc508], a - ld a, d - ld [wc508 + 1], a - ret - -DebugColor_CalculateRGB: - ld a, [de] - and $1f - ld [wc508 + 10], a - ld a, [de] - and $e0 - swap a - srl a - ld b, a - inc de - ld a, [de] - and 3 - swap a - srl a - or b - ld [wc508 + 11], a - ld a, [de] - and $7c - srl a - srl a - ld [wc508 + 12], a - ret - -DebugColor_BackupSpriteColors: - ld a, [wce66] - inc a - ld l, a - ld h, 0 - add hl, hl - add hl, hl - ld de, wOverworldMapBlocks ; MonPalette - add hl, de - ld e, l - ld d, h - ld hl, wc508 - ld bc, 4 - call CopyBytes - ret - -Functionfd8ec: -; Set palette buffer -.loop - ld a, LOW(PALRGB_WHITE) - ld [hli], a - ld a, HIGH(PALRGB_WHITE) - ld [hli], a - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a - xor a - ld [hli], a - ld [hli], a - dec c - jr nz, .loop - ret - -DebugColor_FillBoxWithByte: -; For some reason, we have another copy of FillBoxWithByte here -.row - push bc - push hl -.col - ld [hli], a - dec c - jr nz, .col - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .row - ret - -Functionfd915: -; SGB Related - - ld a, [wd8ba] - push af - set 7, a - ld [wd8ba], a - call Functionfd926 - pop af - ld [wd8ba], a - ret - -Functionfd926: - ld a, [hl] - and 7 - ret z - ld b, a -.asm_fd92b - push bc - xor a - ldh [rJOYP], a - ld a, $30 - ldh [rJOYP], a - ld b, $10 -.asm_fd935 - ld e, 8 - ld a, [hli] - ld d, a -.asm_fd939 - bit 0, d - ld a, $10 - jr nz, .asm_fd941 - ld a, $20 -.asm_fd941 - ldh [rJOYP], a - ld a, $30 - ldh [rJOYP], a - rr d - dec e - jr nz, .asm_fd939 - dec b - jr nz, .asm_fd935 - ld a, $20 - ldh [rJOYP], a - ld a, $30 - ldh [rJOYP], a - ld de, 7000 -.wait - nop - nop - nop - dec de - ld a, d - or e - jr nz, .wait - pop bc - dec b - jr nz, .asm_fd92b - ret - -DebugColor_PlaceCursor: - ld a, DEBUGTEST_BLACK - hlcoord 10, 0 - ld [hl], a - hlcoord 15, 0 - ld [hl], a - hlcoord 1, 11 - ld [hl], a - hlcoord 1, 13 - ld [hl], a - hlcoord 1, 15 - ld [hl], a - ld a, [wJumptableIndex] - cp 3 - jr nz, .clearsprites - ld a, [wce64] - and a - jr z, .asm_fd996 - dec a - hlcoord 1, 11 - ld bc, 2 * SCREEN_WIDTH - call AddNTimes - ld [hl], "▶" - -.asm_fd996 - ld a, [wce65] - and a - jr z, .lightcolor - -.darkcolor - hlcoord 15, 0 - jr .place - -.lightcolor - hlcoord 10, 0 - -.place - ld [hl], "▶" - ld b, $70 - ld c, 5 - ld hl, wVirtualOAM - ld de, wc508 + 10 - call .PlaceSprites - ld de, wc508 + 11 - call .PlaceSprites - ld de, wc508 + 12 - call .PlaceSprites - ret - -.PlaceSprites: - ld a, b - ld [hli], a ; y - ld a, [de] - add a - add a - add 3 * TILE_WIDTH - ld [hli], a ; x - xor a - ld [hli], a ; tile id - ld a, c - ld [hli], a ; attributes - ld a, 2 * TILE_WIDTH - add b - ld b, a - inc c - ret - -.clearsprites - call ClearSprites - ret - -String_fd9d6: - db "おわりますか?" ; Are you finished? - next "はい<DOT><DOT><DOT>", DEBUGTEST_A ; YES...(A) - next "いいえ<DOT><DOT>", DEBUGTEST_B ; NO..(B) - db "@" - -DebugColor_UpArrowGFX: -INCBIN "gfx/debug/up_arrow.2bpp" - -DebugColor_GFX: -INCBIN "gfx/debug/color_test.2bpp" - -TilesetColorTest: - ret -; dummied out - xor a - ld [wJumptableIndex], a - ld [wce64], a - ld [wce65], a - ld [wce66], a - ldh [hMapAnims], a - call ClearSprites - call OverworldTextModeSwitch - call WaitBGMap2 - xor a - ldh [hBGMapMode], a - ld de, DebugColor_GFX - ld hl, vTiles2 tile DEBUGTEST_TICKS_1 - lb bc, BANK(DebugColor_GFX), 22 - call Request2bpp - ld de, DebugColor_UpArrowGFX - ld hl, vTiles1 - lb bc, BANK(DebugColor_UpArrowGFX), 1 - call Request2bpp - ld a, HIGH(vBGMap1) - ldh [hBGMapAddress + 1], a - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, DEBUGTEST_BLACK - call ByteFill - hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, 7 - call ByteFill - ld de, $15 - ld a, DEBUGTEST_WHITE - call Functionfdbdb - ld de, $1a - ld a, DEBUGTEST_LIGHT - call Functionfdbdb - ld de, $1f - ld a, DEBUGTEST_DARK - call Functionfdbdb - ld de, $24 - ld a, DEBUGTEST_BLACK - call Functionfdbdb - call Functionfdbfd - call Functionfdc18 - call WaitBGMap2 - ld [wJumptableIndex], a - ld a, $40 - ldh [hWY], a - ret - -Functionfdbdb: - hlcoord 0, 0 - call Functionfdbe7 - -Functionfdbe1: - ld a, [wce64] - hlcoord 0, 0, wAttrmap - -Functionfdbe7: - add hl, de -rept 4 - ld [hli], a -endr - ld bc, $10 - add hl, bc -rept 4 - ld [hli], a -endr - ld bc, $10 - add hl, bc -rept 4 - ld [hli], a -endr - ret - -Functionfdbfd: - hlcoord 2, 4 - call .Place - hlcoord 2, 6 - call .Place - hlcoord 2, 8 - -.Place: - ld a, DEBUGTEST_TICKS_1 - ld [hli], a - ld bc, $10 - 1 - ld a, DEBUGTEST_TICKS_2 - call ByteFill - ret - -Functionfdc18: - ld a, [wce64] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - add hl, hl - ld de, wBGPals1 - add hl, de - ld de, wc508 - ld bc, 8 - call CopyBytes - ld de, wc508 - call DebugColor_CalculateRGB - ret - -DebugColorMain2: - ld hl, hJoyLast - ld a, [hl] - and SELECT - jr nz, .loop7 - ld a, [hl] - and B_BUTTON - jr nz, .asm_fdc8e - call Functionfdcdb - ret - -.loop7 - ld hl, wce64 - ld a, [hl] - inc a - and 7 - cp 7 - jr nz, .asm_fdc52 - xor a - -.asm_fdc52 - ld [hl], a - ld de, $15 - call Functionfdbe1 - ld de, $1a - call Functionfdbe1 - ld de, $1f - call Functionfdbe1 - ld de, $24 - call Functionfdbe1 - ld hl, wBGPals2 - ld a, [wce64] - ld bc, 1 palettes - call AddNTimes - ld de, wc508 - ld bc, 1 palettes - call CopyBytes - ld a, 2 - ldh [hBGMapMode], a - ld c, 3 - call DelayFrames - ld a, 1 - ldh [hBGMapMode], a - ret - -.asm_fdc8e - call ClearSprites - ldh a, [hWY] - xor $d0 - ldh [hWY], a - ret - -Functionfdc98: - ld hl, wBGPals2 - ld a, [wce64] - ld bc, 1 palettes - call AddNTimes - ld e, l - ld d, h - ld hl, wc508 - ld bc, 1 palettes - call CopyBytes - hlcoord 1, 0 - ld de, wc508 - call Functionfd6b0 - hlcoord 6, 0 - ld de, wc508 + 2 - call Functionfd6b0 - hlcoord 11, 0 - ld de, wc508 + 4 - call Functionfd6b0 - hlcoord 16, 0 - ld de, wc508 + 6 - call Functionfd6b0 - ld a, 1 - ldh [hCGBPalUpdate], a - call DelayFrame - ret - -Functionfdcdb: - ld a, [wce65] - and 3 - ld e, a - ld d, 0 - ld hl, .PointerTable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.PointerTable: - dw DebugColor_SelectColorBox2 - dw Functionfdd24 ; Red - dw Functionfdd36 ; Green - dw Functionfdd48 ; Blue - -DebugColor_SelectColorBox2: - ld hl, hJoyLast - ld a, [hl] - and D_DOWN - jr nz, Functionfdd77 - ld a, [hl] - and D_LEFT - jr nz, .asm_fdd07 - ld a, [hl] - and D_RIGHT - jr nz, .asm_fdd0d - ret - -.asm_fdd07 - ld a, [wce66] - dec a - jr .asm_fdd11 - -.asm_fdd0d - ld a, [wce66] - inc a - -.asm_fdd11 - and 3 - ld [wce66], a - ld e, a - ld d, 0 - ld hl, wc508 - add hl, de - add hl, de - ld e, l - ld d, h - call DebugColor_CalculateRGB - ret - -Functionfdd24: - ld hl, hJoyLast - ld a, [hl] - and D_DOWN - jr nz, Functionfdd77 - ld a, [hl] - and D_UP - jr nz, Functionfdd72 - ld hl, wc508 + 10 - jr Functionfdd53 - -Functionfdd36: - ld hl, hJoyLast - ld a, [hl] - and D_DOWN - jr nz, Functionfdd77 - ld a, [hl] - and D_UP - jr nz, Functionfdd72 - ld hl, wc508 + 11 - jr Functionfdd53 - -Functionfdd48: - ld hl, hJoyLast - ld a, [hl] - and D_UP - jr nz, Functionfdd72 - ld hl, wc508 + 12 - -Functionfdd53: - ldh a, [hJoyLast] - and D_RIGHT - jr nz, .asm_fdd60 - ldh a, [hJoyLast] - and D_LEFT - jr nz, .asm_fdd67 - ret - -.asm_fdd60 - ld a, [hl] - cp $1f - ret nc - inc [hl] - jr .asm_fdd6b - -.asm_fdd67 - ld a, [hl] - and a - ret z - dec [hl] - -.asm_fdd6b - call Functionfdd7c - call Functionfdc98 - ret - -Functionfdd72: - ld hl, wce65 - dec [hl] - ret - -Functionfdd77: - ld hl, wce65 - inc [hl] - ret - -Functionfdd7c: - ld a, [wc508 + 10] - and $1f - ld e, a - ld a, [wc508 + 11] - and 7 - sla a - swap a - or e - ld e, a - ld a, [wc508 + 11] - and $18 - sla a - swap a - ld d, a - ld a, [wc508 + 12] - and $1f - sla a - sla a - or d - ld d, a - ld a, [wce66] - ld c, a - ld b, 0 - ld hl, wc508 - add hl, bc - add hl, bc - ld a, e - ld [hli], a - ld [hl], d - ret - -DebugColor_PlaceCursor2: - ld a, DEBUGTEST_BLACK - hlcoord 0, 4 - ld [hl], a - hlcoord 0, 6 - ld [hl], a - hlcoord 0, 8 - ld [hl], a - hlcoord 0, 2 - ld [hl], a - hlcoord 5, 2 - ld [hl], a - hlcoord 10, 2 - ld [hl], a - hlcoord 15, 2 - ld [hl], a - ld a, [wce65] - and a - jr z, .asm_fdde1 - dec a - hlcoord 0, 4 - ld bc, 2 * SCREEN_WIDTH - call AddNTimes - ld [hl], "▶" - -.asm_fdde1 - ld a, [wce66] - hlcoord 0, 2 - ld bc, 5 - call AddNTimes - ld [hl], "▶" - ld b, $78 - ld hl, wVirtualOAM - ld de, wc508 + 10 - call .PlaceSprites - ld de, wc508 + 11 - call .PlaceSprites - ld de, wc508 + 12 - call .PlaceSprites - ret - -.PlaceSprites: - ld a, b - ld [hli], a ; y - ld a, [de] - add a - add a - add 3 * TILE_WIDTH - ld [hli], a ; x - ld a, 16 * TILE_WIDTH - ld [hli], a ; tile id - ld a, 5 - ld [hli], a ; attributes - ld a, 2 * TILE_WIDTH - add b - ld b, a - inc c - ret - -; unused - call ClearSprites - ret - -; unused - ret |