(Partially) dump banks $0D and $0F (#99)

* Bank $0f dumping (will not build)

* Optimize title logo graphic

* Make buildable again

* Add some more labels to bank $0f

* Add bank $0d, non-building

* fix erroneous shim

* bank $0D dump buildable

* Make buildable again

---------

Co-authored-by: vulcandth <vulcandth@gmail.com>
This commit is contained in:
Zumi 2023-11-18 10:40:28 +07:00 committed by GitHub
parent bde9a8d34c
commit 44cdca9cdd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 18128 additions and 75 deletions

View File

@ -46,7 +46,7 @@ GiveItemPredef::
add_predef PlaceGraphic
add_predef Function3f068 ; 20
add_predef Function3f04a
add_predef Function3d08c
add_predef AnyPartyAlive
add_predef Function3d67c
add_predef Function3e1a4
add_predef Function3ef19

View File

@ -1,7 +1,3 @@
INCLUDE "constants.asm"
SECTION "data/types/type_matchups.asm", ROMX
TypeMatchups:
; attacker, defender, *=
db TYPE_NORMAL, TYPE_ROCK, NOT_VERY_EFFECTIVE

View File

@ -151,7 +151,7 @@ FieldDebug_DoVRAMViewer:
ld bc, $180 tiles
call ByteFill
call LoadFont
callab Function3e39f
callab Call_LoadBattleGraphics
xor a
ldh [hMapAnims], a
call EnableLCD

View File

@ -3466,8 +3466,8 @@ Textec69:
Functionec7a:
call ClearPalettes
ld hl, Function3e39f
ld a, BANK(Function3e39f)
ld hl, Call_LoadBattleGraphics
ld a, BANK(Call_LoadBattleGraphics)
call FarCall_hl
call GetMemSGBLayout
call CloseWindow
@ -4424,8 +4424,9 @@ Functionf318:
call WaitBGMap
xor a
ldh [hBattleTurn], a
ld a, BANK(Function3e5bf)
ld hl, Function3e5bf
; wrong bank
ld a, $f
ld hl, Function365bf
call FarCall_hl
pop hl
pop af

View File

@ -226,10 +226,10 @@ asm_2d4a3:
call PlaceString
ld a, [wCurSpecies]
dec a
ld hl, Data4a8b8
ld hl, Data418b8
ld bc, $7
call AddNTimes
ld a, BANK(Data4a8b8)
ld a, BANK(Data418b8)
call GetFarByte
ld hl, $c3a0
cp $2

11220
engine/dumps/bank0d.asm Normal file

File diff suppressed because it is too large Load Diff

6583
engine/dumps/bank0f.asm Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1579,10 +1579,10 @@ PartySelectionInputs:
predef Function500a0
ld a, [wCurSpecies]
dec a
ld hl, Data4a8b8
ld bc, $0007
ld hl, Data418b8
ld bc, $7
call AddNTimes
ld a, BANK(Data4a8b8)
ld a, BANK(Data418b8)
call GetFarByte
hlcoord 15, 12
cp 2

View File

@ -29,3 +29,5 @@ $(BUILD)/gfx/minigames/%.bin: gfx/minigames/%.bin
$(BUILD)/gfx/battle_anims/attack_animations_1.2bpp: tools/gfx += --trim-whitespace
$(BUILD)/gfx/battle_anims/attack_animations_2.2bpp: tools/gfx += --trim-whitespace
$(BUILD)/gfx/title/title_logo.2bpp: tools/gfx += --trim-whitespace

Binary file not shown.

Before

Width:  |  Height:  |  Size: 618 B

After

Width:  |  Height:  |  Size: 776 B

BIN
gfx/trainer/oldman_back.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

View File

@ -99,6 +99,7 @@ CopyNameFromMenu::
YesNoBox::
lb bc, 14, 7
asm_1dd5::
jr asm_1ddc
PlaceGenericTwoOptionBox::

View File

@ -250,8 +250,7 @@ ROMX $0c
ROMX $0d
org $4000
org $506d
"data/types/type_matchups.asm"
"engine/dumps/bank0d.asm@Function34000"
ROMX $0e
org $4000
@ -264,10 +263,11 @@ ROMX $0e
ROMX $0f
org $4000
org $63da
"engine/dumps/bank0f.asm@StartBattle"
"engine/battle/core.asm"
org $6a3c
"engine/dumps/bank0f.asm@PlayMoveAnimation"
"data/wild.asm"
"engine/dumps/bank0f.asm@Function3ee3e"
ROMX $10
org $4000

View File

@ -109,7 +109,8 @@ ENDU
hSpriteOffset::
db
db ; TODO
hFFB2::
db
UNION
@ -202,7 +203,9 @@ hBGMapTransferPosition::
hBGMapAddress::
dw
db ; TODO
hFFE2::
db
hSPTemp::
dw

View File

@ -373,12 +373,24 @@ ENDU
ds $32
wBattleAnimEnd::
ds $1aa ; TODO
ds $1a3 ; TODO
wc9e8:: ds 1
wc9e9:: ds 1
wc9ea:: ds 1
wc9eb:: ds 1
wc9ec:: ds 1
wc9ed:: ds 1
wc9ee:: ds 1
wc9ef:: ds 1
wc9f0:: ds 1
wc9f1:: ds 1
wc9f2:: ds 1
wc9f3:: ds 1
ds 6
ds 1
wc9f5:: ds 1
wBattleMonNickname:: ds 6
wEnemyMonNickname:: ds 6
@ -386,14 +398,18 @@ wEnemyMonNickname:: ds 6
wca02:: ds 1
wca03:: ds 1
wca04:: ds 1
wca05:: ds 1
ds 3
ds 2
wca08:: ds 1
wca09:: ds 1
wca0a:: ds 1
ds 5 ; TODO
ds 3
wca0e:: ds 1
wca0f:: ds 1
wIntroJumptableIndex::
wca10:: ds 1
@ -412,15 +428,37 @@ wca13:: ds 1
wca14:: ds 1
ENDU
UNION
wIntroTilesPointer:: ds 2
wIntroFrameCounter1:: ds 1
NEXTU
wca15:: ds 1
wca16:: ds 1
wca17:: ds 1
ENDU
wca18::
wIntroFrameCounter2:: ds 1
wIntroSpriteStateFlag:: ds 1
ds $1d ; TODO
wca1a:: ds 1
wca1b:: ds 1
wca1c:: ds 1
ds 1
wca1e:: ds 1
ds 1
wca20:: ds 1
wca21:: ds 1
wca22:: ds 1
wca23:: ds 1
wca24:: ds 1
ds 6
wca2b:: ds 1
ds 10
wca36:: ds 1
wca37:: ds 1
wca38:: ds 1
wca39:: ds 1
@ -439,8 +477,30 @@ wEnemySubStatus3:: db
wca43:: db
wca44:: db
wca45:: db
wca46:: db
wca47:: db
wca48:: db
wca49:: db
wca4a:: db
wca4b:: db
ds 1
wca4d:: db
wca4e:: db
wca4f:: db
wca50:: db
wca51:: db
wca52:: db
wca53:: db
ds 1
wca55:: db
wca56:: db
ds $12
wTrainerClass::
db
@ -449,12 +509,52 @@ wca59:: ds 1
wca5a:: ds 1
wca5b:: ds 1
wca5c:: ds 1
wca5d:: ds 1
ds $5c
ds $1d
wca7b:: ds 1
wca7c:: ds 1
wca7d:: ds 1
ds $15
wca93:: ds 1
ds 10
wca9e:: ds 1
ds $a
wcaa9:: ds 1
ds 4
wcaae:: ds 1
wcaaf:: ds 1
ds 1
wcab1:: ds 1
ds 4
wcab6:: ds 1
wcab7:: ds 1
ds 1
wcab9:: ds 1
wcaba:: ds 1
ds 6
ds 1
wcabc:: ds 1
wcabd:: ds 1
wcabe:: ds 1
ds 1
wcac0:: ds 1
wcac1:: ds 1
@ -462,17 +562,43 @@ wcac2:: ds 1
wLinkBattleRNCount:: db
ds 12
wcac4:: ds 1
ds 2
wcac7:: ds 1
wcac8:: ds 1
wcac9:: ds 1
wcaca:: ds 1
ds 1
wcacc:: ds 1
wcacd:: ds 1
wcace:: ds 1
ds 1
wcad0:: ds 1
ds 9
wcad1:: ds 1
wcad2:: ds 1
wcad3:: ds 1
wcad4:: ds 1
wcad5:: ds 1
wcad6:: ds 1
wcad7:: ds 1
wcad8:: ds 1
wcad9:: ds 1
wcada:: ds 1
ds 6
wcadb:: ds 1
wcadc:: ds 1
wcadd:: ds 1
wcade:: ds 1
wcadf:: ds 1
wcae0:: ds 1
wcae1:: ds 1
wcae2:: ds 1
wcae3:: ds 1
ENDU
@ -771,8 +897,13 @@ wHPBarTempHP:: dw
NEXTU
wStringBuffer2:: db ; How long is this?
ENDU
NEXTU
wcd31:: db
wcd32:: db
wcd33:: db
ENDU
SECTION "CD3C", WRAM0[$CD3C]
@ -843,13 +974,23 @@ wcd7f:: db
wcd80:: db
wcd81:: db
SECTION "CD9E", WRAM0 [$CD9E]
wLoadedMonLevel:: db
ds 7
wcd89:: db
ds 10
wcd94:: db
ds 9
wLoadedMonLevel:: db
wcd9f:: db
ds 15
SECTION "CDAF", WRAM0 [$CDAF]
wcdaf:: db
SECTION "CDB0", WRAM0 [$CDB0]
wTalkingTargetType:: db
;bit 0 = has engaged NPC in dialogue
;bit 1 = has engaged sign in dialogue
@ -857,13 +998,13 @@ wTalkingTargetType:: db
wcdb1:: ds 1
wcdb2:: ds 1
ds 1
ds 1
wcdb4:: ds 1
wcdb5:: ds 1
wcdb6:: ds 1
SECTION "CDB9", WRAM0[$CDB9]
ds 2
wcdb9:: ds 1
@ -881,7 +1022,7 @@ wNextMapGroup:: db
wNextMapId:: db
wPrevWarp:: db
ds 1
wcdc2:: db
UNION
wFieldMoveScriptID:: db
@ -898,22 +1039,46 @@ NEXTU
wcdc3:: db
wcdc4:: db
wcdc5:: db
NEXTU
wEnemyEffectivenessVsPlayerMons:: db
wPlayerEffectivenessVsEnemyMons:: db
ds 1
wcdc6:: db
ENDU
UNION
wHPBarNewHP:: dw
NEXTU
wcdc7:: db
wcdc8:: db
ENDU
wHPBarDelta:: db
wcdca:: db
wHPBarHPDifference:: dw
UNION
wLinkBattleRNs:: ds 10
NEXTU
ds 7
wcdd4: ds 1
ds 1
ENDU
wcdd7:: ds 1
wcdd8:: ds 1
wcdd9:: ds 1
@ -935,15 +1100,37 @@ wcde8:: ds 1
wcde9:: ds 1
wcdea:: ds 1
wcdeb:: ds 1
wcdec:: ds 1
wcded:: ds 1
wcdee:: ds 1
wcdef:: ds 1
ds 1
SECTION "CDFE", WRAM0[$CDFE]
wcdf1:: ds 1
wcdf2:: ds 1
wcdf3:: ds 1
ds 1
wcdf5:: ds 1
ds 1
wcdf7:: ds 1
ds 1
wcdf9:: ds 1
ds 4
wcdfe:: ds 1
wcdff:: ds 1
wBattleMode:: db
wce01:: ds 1
wce02:: ds 1
wBattleType::
wce03:: ds 1
wce04:: ds 1
wce05:: ds 1
@ -1012,7 +1199,16 @@ wMonHLearnset::
flag_array 50 + 5 ; size = 7
ds 1
SECTION "CE2D", WRAM0[$CE2D]
SECTION "CE26", WRAM0[$CE26]
wce26:: ds 1
ds 2
wce29:: ds 1
wce2a:: ds 1
ds 2
wce2d:: ds 1
wce2e:: ds 1
wce2f:: ds 1
@ -1029,6 +1225,9 @@ wCountSetBitsResult::
wce37::
db
wce38:: ds 1
wce39:: ds 1
SECTION "CE3A", WRAM0[$CE3A]
wce3a:: ds 1
@ -1114,6 +1313,7 @@ for n, 1, NUM_OBJECTS
wMap{d:n}Object:: map_object wMap{d:n}
endr
wd14f::
wToolgearFlags:: db
; 76543210
; | | \- show toolgear
@ -1239,8 +1439,9 @@ wd41d:: db
; \--- beat rival in the lab
wd41e:: db
SECTION "D4A9", WRAM0[$D4A9]
SECTION "D4A9", WRAM0[$D4A7]
wd4a7:: db
ds 1
wd4a9:: db
ds 1 ; TODO
wJoypadFlags:: db
@ -1475,6 +1676,7 @@ wd8e4:: ds 1
SECTION "D8FD", WRAM0[$D8FD]
wd8fd:: ds 1
wd8fe:: ds 1
SECTION "D913", WRAM0[$D913]
@ -1486,10 +1688,19 @@ UNION
wWildMons::
ds 41
NEXTU
ds 2
ds 1
wd91c:: ds 1
wd91d:: ds 1
ds 29
wd91e:: ds 1
ds 19
wd932:: ds 1
ds 7
wd93a:: ds 1
wd93b:: ds 1
ds 1
wd93d:: ds 1
wd93e:: ds 1
wd93f:: ds 1
ENDU
SECTION "DA3B", WRAM0[$DA3B]

80
shim.sym Executable file → Normal file
View File

@ -35,27 +35,16 @@
;0E:4BA0 LoadTrainerClassName.got_name
0E:4BA9 LoadTrainerClass
0D:7E3D Function37e3d
0F:508C Function3d08c
0F:55CE Function3d5ce
0F:567C Function3d67c
0F:5AA7 Function3daa7
0F:6043 AddPokemonToBox
0F:61A4 Function3e1a4
0F:63A7 Function3e3a7
0F:639F Function3e39f
0F:65BF Function3e5bf
0F:6874 Function3e874
0F:691E Function3e91e
0F:6963 Function3e963
0F:69A9 _LoadWildMons
0F:69DC Function3e9dc
0F:6E3E Function3ee3e
0F:6F19 Function3ef19
0F:7019 PlaceGraphic
0F:704A Function3f04a
0F:7068 Function3f068
0E:4000 Function38000
0E:4220 Function38220
0E:4340 Function38340
0E:434E Function3834e
0E:43CD Function383cd
0E:43FD Function383fd
0E:4431 Function38431
0E:44D4 Function384d4
0E:4F45 Function38f45
0E:50E9 Function390e9
10:4000 Function40000
10:40A6 ShowPokedexMenu
@ -63,11 +52,11 @@
10:4B07 Function40b07
10:4B45 Function40b45
10:4B5C Function40b5c
10:58B8 Data4a8b8
10:5F93 Function4af93
10:5FA1 Function41fa1
10:61F8 Function421f8
10:6252 Function42252
10:58B8 Data418b8
14:4000 Function50000
14:4073 Function50073
@ -119,6 +108,8 @@
33:4000 Functioncc000
33:4000 Functioncc000_2
33:4001 PlayBattleAnim
33:444F Functioncc44f
33:44D4 Functioncc4d4
33:467B QueueBattleAnimation
33:625D BattleAnim_Sine_e
33:6263 BattleAnim_Cosine_e
@ -129,8 +120,53 @@
38:4E5F Cursor_AnimateCursor
38:4EA8 Cursor_InterpretJoypad
; Cry header shims
3C:57C5 CryHeader_f17c5
3C:57CE CryHeader_f17ce
3C:57D7 CryHeader_f17d7
3C:57E0 CryHeader_f17e0
3C:57E9 CryHeader_f17e9
3C:57F2 CryHeader_f17f2
3C:57FB CryHeader_f17fb
3C:5804 CryHeader_f1804
3C:580D CryHeader_f180d
3C:5816 CryHeader_f1816
3C:581F CryHeader_f181f
3C:5828 CryHeader_f1828
3C:5831 CryHeader_f1831
3C:583A CryHeader_f183a
3C:5843 CryHeader_f1843
3C:584C CryHeader_f184c
3C:5855 CryHeader_f1855
3C:585E CryHeader_f185e
3C:5867 CryHeader_f1867
3C:5870 CryHeader_f1870
3C:5879 CryHeader_f1879
3C:5882 CryHeader_f1882
3C:588B CryHeader_f188b
3C:5894 CryHeader_f1894
3C:589D CryHeader_f189d
3C:58A6 CryHeader_f18a6
3C:58AF CryHeader_f18af
3C:58B8 CryHeader_f18b8
3C:58C1 CryHeader_f18c1
3C:58CA CryHeader_f18ca
3C:58D3 CryHeader_f18d3
3C:58DC CryHeader_f18dc
3C:58E5 CryHeader_f18e5
3C:58EE CryHeader_f18ee
3C:58F7 CryHeader_f18f7
3C:5900 CryHeader_f1900
3C:5909 CryHeader_f1909
3C:5912 CryHeader_f1912
3E:40D6 Functionf80d6
3F:40E9 InGameDebugMenu
3F:4E3E Functionfce3e
3F:5B66 Functionfdb66
3F:64CE MonsterTest
3F:654E PicTest
3F:6750 PicTestMenu