summaryrefslogtreecommitdiff
path: root/home
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-06-08 13:45:50 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-06-08 13:45:50 -0400
commitb54195200748c54238ac88a06a85e8cd5517438e (patch)
tree2e1e5c1c4ca64a1c5060a7fb3d7df2b148768a1d /home
parentaa72af53ebccb0ad4ae920171fb72fef2b25797a (diff)
Disassemble another significant chunk of ROM0
Diffstat (limited to 'home')
-rw-r--r--home/math.asm25
-rw-r--r--home/mon_stats.asm82
-rw-r--r--home/scrolling_menu.asm93
-rw-r--r--home/unknown_388f.asm101
4 files changed, 301 insertions, 0 deletions
diff --git a/home/math.asm b/home/math.asm
new file mode 100644
index 0000000..8b3db6f
--- /dev/null
+++ b/home/math.asm
@@ -0,0 +1,25 @@
+include "constants.asm"
+
+if DEBUG
+SECTION "Math utility functions", ROM0 [$3380]
+else
+SECTION "Math utility functions", ROM0 [$3344]
+endc
+
+Multiply::
+ push hl
+ push bc
+ callab _Multiply
+ pop bc
+ pop hl
+ ret
+
+Divide::
+ push hl
+ push de
+ push bc
+ homecall _Divide
+ pop bc
+ pop de
+ pop hl
+ ret
diff --git a/home/mon_stats.asm b/home/mon_stats.asm
new file mode 100644
index 0000000..8d702e8
--- /dev/null
+++ b/home/mon_stats.asm
@@ -0,0 +1,82 @@
+include "constants.asm"
+
+if DEBUG
+SECTION "Mon Stats", ROM0 [$394b]
+else
+SECTION "Mon Stats", ROM0 [$390f]
+endc
+
+DrawBattleHPBar::
+ push hl
+ push de
+ push bc
+ ld a, $60
+ ld [hli], a
+ ld a, $61
+ ld [hli], a
+ push hl
+ ld a, $62
+.asm_3957: ; 00:3957
+ ld [hli], a
+ dec d
+ jr nz, .asm_3957
+ ld a, $6b
+ add b
+ ld [hl], a
+ pop hl
+ ld a, e
+ and a
+ jr nz, .asm_396a
+ ld a, c
+ and a
+ jr z, .asm_397d
+ ld e, $1
+.asm_396a: ; 00:396a
+ ld a, e
+ sub $8
+ jr c, .asm_3979
+ ld e, a
+ ld a, $6a
+ ld [hli], a
+ ld a, e
+ and a
+ jr z, .asm_397d
+ jr .asm_396a
+
+.asm_3979: ; 00:3979
+ ld a, $62
+ add e
+ ld [hl], a
+.asm_397d: ; 00:397d
+ pop bc
+ pop de
+ pop hl
+ ret
+
+PrepMonFrontpic::
+ ld a, $1
+ ld [wSpriteFlipped], a
+_PrepMonFrontpic::
+ ld a, [wMonDexIndex]
+ and a
+ jr z, .asm_39a8
+ cp 252
+ jr nc, .asm_39a8
+ push hl
+ ld de, $9000
+ call LoadMonFrontSprite
+ pop hl
+ xor a
+ ldh [hGraphicStartTile], a
+ lb bc, 7, 7
+ predef PlaceGraphic
+ xor a
+ ld [wSpriteFlipped], a
+ ret
+
+.asm_39a8: ; 00:39a8
+ xor a
+ ld [wSpriteFlipped], a
+ inc a
+ ld [wMonDexIndex], a
+ ret
diff --git a/home/scrolling_menu.asm b/home/scrolling_menu.asm
new file mode 100644
index 0000000..28d3d3e
--- /dev/null
+++ b/home/scrolling_menu.asm
@@ -0,0 +1,93 @@
+include "constants.asm"
+
+if DEBUG
+SECTION "Scrolling Menu", ROM0 [$3810]
+else
+SECTION "Scrolling Menu", ROM0 [$37D4]
+endc
+
+Function3810::
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc hl
+ push hl
+ ld h, d
+ ld l, e
+ call CopyMenuHeader
+ pop hl
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc hl
+ ld a, [de]
+ ld [wMenuCursorBuffer], a
+ push de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc hl
+ ld a, [de]
+ ld [wMenuScrollPosition], a
+ push de
+ call ScrollingMenu
+ pop de
+ ld a, [wMenuScrollPosition]
+ ld [de], a
+ pop de
+ ld a, [wMenuCursorY]
+ ld [de], a
+ ld a, [wMenuJoypad]
+ ret
+
+ScrollingMenu:: ; 00:383e
+ call CopyMenuData
+ ldh a, [hROMBank]
+ push af
+
+ ld a, BANK(_InitScrollingMenu) ; and BANK(_ScrollingMenu)
+ call Bankswitch
+
+ call _InitScrollingMenu
+ call SetPalettes
+ call _ScrollingMenu
+
+ pop af
+ call Bankswitch
+
+ ld a, [wMenuJoypad]
+ ret
+
+Function385a::
+ push hl
+ jr asm_3865
+
+Function385d::
+ callab Function_8f1cb
+asm_3865: ; 00:3865
+ pop hl
+ call MenuTextBox
+ ld c, $0
+ call Function3872
+ call CloseWindow
+ ret
+
+Function3872:: ; 00:3872
+ push bc
+ jr asm_387d
+
+Function3875::
+ callab Function8cd0c
+asm_387d: ; 00:387d
+ pop bc
+ call GetJoypad
+ ldh a, [hJoyDown]
+ and A_BUTTON | B_BUTTON
+ jr nz, .asm_388e
+ ld a, c
+ and a
+ jr z, Function3872
+ dec c
+ jr z, Function3872
+.asm_388e: ; 00:388e
+ ret
diff --git a/home/unknown_388f.asm b/home/unknown_388f.asm
new file mode 100644
index 0000000..54aea4d
--- /dev/null
+++ b/home/unknown_388f.asm
@@ -0,0 +1,101 @@
+include "constants.asm"
+
+if DEBUG
+SECTION "Unknown 388F", ROM0 [$388F]
+else
+SECTION "Unknown 388F", ROM0 [$3853]
+endc
+
+
+Function388f::
+ ret
+
+Function3890::
+ callba Function14cac
+ ret
+
+Function3899::
+ callba Function14dac
+ ret
+
+Function38a2::
+ callba Function14dc4
+ ret
+
+Function38ab::
+ callba Function14ddd
+ ret
+
+Function38b4::
+ callba Function14e00
+ ret
+
+Function38bd::
+ callba Function14e5f
+ ret
+
+Function38c6::
+ callba Function14e27
+ ret
+
+Function38cf::
+ callba Function14e4a
+ ret
+
+Function38d8::
+ ld hl, wc5ed
+ set 7, [hl]
+ ld a, $8
+ ld [wd637], a
+ ret
+
+Function38e3::
+ ldh a, [hJoyState]
+ and $f0
+ ret z
+ call Function3233
+ jp nz, Function323e
+ callab Function3ee3e
+ ld a, [wBattleMode]
+ and a
+ ret z
+ ld a, $3
+ call Function2117
+ call Function3240
+ ret
+
+Function3904::
+ predef Function3ef19
+ ld a, $f3
+ ldh [hMapEntryMethod], a
+ ld hl, wd4a9
+ set 5, [hl]
+ ld hl, wJoypadFlags
+ set 4, [hl]
+ set 6, [hl]
+ ld a, $b
+ call Function2117
+ ret
+
+Function391f::
+ ret
+
+Function3910::
+ ld a, [wcd5d]
+ cp $1
+ jr z, .asm_392d
+ ld a, $4
+ call Function2117
+ ret
+
+.asm_392d: ; 00:392d
+ ld hl, wJoypadFlags
+ res 4, [hl]
+ ld hl, .text
+ call Function3111
+ call RotateFourPalettesLeft
+ jp Init
+
+.text:
+ text "つぎは がんばるぞ!!"
+ done