diff options
author | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2019-07-06 17:03:10 +0100 |
---|---|---|
committer | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2019-07-06 17:03:10 +0100 |
commit | a4cbb583e1d85b63fd7c030a86a5ff32d66fc9a2 (patch) | |
tree | 9ac33a0053494e5bda92b28f17fd8dcbceba7b08 /src | |
parent | 5d040d3c1a519401da55ae1eef91c5d9def93d86 (diff) |
More bank 2 disassembling
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/bank02.asm | 177 | ||||
-rw-r--r-- | src/engine/home.asm | 5 |
2 files changed, 172 insertions, 10 deletions
diff --git a/src/engine/bank02.asm b/src/engine/bank02.asm index c0116f9..02251a5 100644 --- a/src/engine/bank02.asm +++ b/src/engine/bank02.asm @@ -7,13 +7,13 @@ DuelCheckInterface: ; 8000 (2:4000) ld [wDuelCursorBlinkCounter], a ld hl, CheckMenuData call PlaceTextItems -.asm_8014 +.loop call DoFrame call HandleDuelMenuInput2 - jr nc, .asm_8014 + jr nc, .loop cp $ff - ret z - ld a, [wCursorDuelYPosition] + ret z ; B was pressed + ld a, [wCursorDuelYPosition] ; A was pressed sla a ld b, a ld a, [wCursorDuelXPosition] @@ -39,7 +39,46 @@ DuelCheckMenu_Glossary: ; 8042 (2:4042) ret DuelCheckMenu_YourPlayArea: ; 8047 (2:4047) - INCROM $8047, $80da + call ResetCursorPosAndBlink + xor a + ld [wce5e], a + ldh a, [hWhoseTurn] +.asm_8050 + ld h, a + ld l, a + call Func_8209 + ld a, [wCursorDuelYPosition] + sla a + ld b, a + ld a, [wCursorDuelXPosition] + add b + ld [$ce5f], a + ld b, $f8 + call Func_81ba + call DrawWideTextBox + xor a + ld [wDuelCursorBlinkCounter], a + ld hl, $4169 + call PlaceTextItems +.asm_8074 + call DoFrame + xor a + call Func_818c + call Func_86ac + jr nc, .asm_8074 + call Func_81af + cp $ff + ret z + ld a, [wCursorDuelYPosition] + sla a + ld b, a + ld a, [wCursorDuelXPosition] + add b + ld hl, $4098 + call JumpToFunctionInTable + jr .asm_8050 +; 0x8098 + INCROM $8098, $80da DuelCheckMenu_OppPlayArea: ; 80da (2:40da) INCROM $80da, $8158 @@ -52,19 +91,139 @@ CheckMenuData: ; (2:4158) db $ff Func_8169: ; 8169 (2:4169) - INCROM $8169, $8211 + INCROM $8169, $818c + +Func_818c: ; 818c (2:418c) + INCROM $818c, $81af + +Func_81af: ; 81af (2:41af) + INCROM $81af, $81ba + +Func_81ba: ; 81ba (2:41ba) + INCROM $81ba, $8209 + +Func_8209: ; 8209 (2:4209) + ld a, h + ld [wce50], a + ld a, l + ld [wce51], a Func_8211: ; 8211 (2:4211) - INCROM $8211, $833c + xor a + ld [wTileMapFill], a + call ZeroObjectPositions + ld a, $01 + ld [wVBlankOAMCopyToggle], a + call DoFrame + call EmptyScreen + call Set_OBJ_8x8 + call Func_8992 + call LoadSymbolsFont + call LoadDeckAndDiscardPileIcons + ld a, [wce50] + cp $c2 + jr nz, .asm_823e + ld de, wDefaultText + call CopyPlayerName + jr .asm_8244 +.asm_823e + ld de, wDefaultText + call CopyOpponentName +.asm_8244 + ld hl, wDefaultText + call GetTextLengthInTiles + ld a, $06 + sub b + srl a + add $04 + ld d, a + ld e, $00 + call InitTextPrinting + ld hl, $247 + ldh a, [hWhoseTurn] + cp $c2 + jr nz, .asm_8267 + ld a, [wce50] + cp $c2 + jr nz, .asm_826c +.asm_8267 + call PrintTextNoDelay + jr .asm_8275 +.asm_826c + call SwapTurn + call PrintTextNoDelay + call SwapTurn +.asm_8275 + ld a, [wce50] + ld b, a + ld a, [wce51] + cp b + jr nz, .asm_8299 + ld hl, $44b4 + call Func_8464 + ld de, $602 + call Func_837e + ld de, $109 + ld c, $04 + call Func_8511 + xor a + call Func_85aa + jr .asm_82b2 +.asm_8299 + ld hl, $44c0 + call Func_8464 + ld de, $605 + call Func_837e + ld de, $102 + ld c, $04 + call Func_8511 + ld a, $01 + call Func_85aa +.asm_82b2 + call EnableLCD + ret +; 0x82b6 + +Func_82b6: ; 82b6 (2:42b6) + INCROM $82b6, $833c Func_833c: ; 833c (2:433c) - INCROM $833c, $8764 + INCROM $833c, $837e + +Func_837e: ; 837e (2:437e) + INCROM $837e, $8464 + +Func_8464: ; 8464 (2:4464) + INCROM $8464, $8511 + +Func_8511: ; 8511 (2:4511) + INCROM $8511, $85aa + +Func_85aa: ; 85aa (2:45aa) + INCROM $85aa, $86ac + +Func_86ac: ; 86ac (2:46ac) + INCROM $86ac, $8764 Func_8764: ; 8764 (2:4764) INCROM $8764, $8932 Func_8932: ; 8932 (2:4932) - INCROM $8932, $8aaa + INCROM $8932, $8992 + +Func_8992: ; 8992 (2:4992) + ld de, v0Tiles0 + ld hl, Data_899e + ld b, 16 + call SafeCopyDataHLtoDE + ret +; 0x899e + +Data_899e: ; 899e (2:499e) + db $e0, $c0, $98, $b0, $84, $8c, $83, $82 + db $86, $8f, $9d, $be, $f4, $f8, $50, $60 + + INCROM $89ae, $8aaa Func_8aaa: ; 8aaa (2:4aaa) INCROM $8aaa, $8b85 diff --git a/src/engine/home.asm b/src/engine/home.asm index 4043ff5..528bc53 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -6238,7 +6238,10 @@ LoadPlacingThePrizesScreenTiles: ; 20f0 (0:20f0) ld de, v0Tiles1 + $20 tiles ld b, $d call CopyFontsOrDuelGraphicsTiles - ; load the Deck and the Discard Pile icons +; fallthrough + +; load the Deck and the Discard Pile icons +LoadDeckAndDiscardPileIcons: ; 20fb (0:20fb) ld hl, DuelDmgSgbSymbolGraphics + $54 tiles - $4000 ld a, [wConsole] cp CONSOLE_CGB |