disassembled overworld interaction code and a lot of relevant routines. Also ripped a data table and a couple pointer tables.

This commit is contained in:
Andrew Martinek
2016-06-09 01:45:03 -04:00
parent 3186149041
commit 3d06cd73df
9 changed files with 4246 additions and 51 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ compare: baserom.gbc tcg.gbc
$(OBJS): $$*.asm $$($$*_dep)
@python $(EXTRAS)/gfx.py 2bpp $(2bppq)
@python $(EXTRAS)/gfx.py 1bpp $(1bppq)
rgbasm -i src/ -o $@ $<
rgbasm -h -i src/ -o $@ $<
tcg.gbc: $(OBJS)
rgblink -n $*.sym -m $*.map -o $@ $^
+1513
View File
File diff suppressed because it is too large Load Diff
+16 -2
View File
@@ -1350,7 +1350,21 @@ BuildVersion: ; 7354 (1:7354)
INCBIN "baserom.gbc",$7364,$7571 - $7364
Func_7571: ; 7571 (1:7571)
INCBIN "baserom.gbc",$7571,$758f - $7571
INCBIN "baserom.gbc",$7571,$7576 - $7571
Func_7576: ; 7576 (1:7576)
farcallx $6, $591f
ret
; 0x757b
INCBIN "baserom.gbc",$757b,$758f - $757b
Func_758f: ; 758f (1:758f)
INCBIN "baserom.gbc",$758f,$8000 - $758f
INCBIN "baserom.gbc",$758f,$7594 - $758f
Func_7594: ; 7594 (1:7594)
farcallx $6, $661f
ret
; 0x7599
INCBIN "baserom.gbc",$7599,$8000 - $7599
+289 -1
View File
@@ -783,4 +783,292 @@ Unknown_a77e: ; a77e (2:677e)
INCBIN "baserom.gbc",$a77e,$b177 - $a77e
Func_b177: ; b177 (2:7177)
INCBIN "baserom.gbc",$b177,$c000 - $b177
INCBIN "baserom.gbc",$b177,$b19d - $b177
Func_b19d: ; b19d (2:719d)
xor a
ld [$cea1], a
ld de, CheckForCGB
ld hl, $d0a2
ld [hl], e
inc hl
ld [hl], d
call $7379
ld a, $3c
ld [$d0a5], a
xor a
.asm_b1b3
ld hl, $76fb
call $5a6d
call $7704
call $7545
ld hl, $0224
call DrawWideTextBox_PrintText
ld de, $0224
call $7285
call $729f
jr c, .asm_b1b3
cp $ff
ret z
ld b, a
ld a, [$cea1]
add b
ld [$d088], a
call Func_905a
call DrawWideTextBox
ld hl, $7274
call Func_2c08
call DoFrame
call Func_9065
jp nc, $71e7
cp $ff
jr nz, .asm_b1fa
ld a, [$d086]
jp $71b3
.asm_b1fa
ld a, [wceb0]
sla a
ld hl, wceaf
add [hl]
or a
jr nz, .asm_b22c
call $735b
jr nc, .asm_b216
call $7592
ld a, [$d086]
jp c, $71b3
jr .asm_b25e
.asm_b216
ld hl, $0272
call Func_2af0
ld a, [$d086]
jr c, .asm_b1b3
call $7592
ld a, [$d086]
jp c, $71b3
jr .asm_b25e
.asm_b22c
cp $1
jr nz, .asm_b24c
call $735b
jr c, .asm_b240
call $76ca
ld a, [$d086]
jp c, $71b3
jr .asm_b25e
.asm_b240
ld hl, WaitForVBlank
call DrawWideTextBox_WaitForInput
ld a, [$d086]
jp $71b3
.asm_b24c
cp $2
jr nz, .asm_b273
call $735b
jr c, .asm_b240
call $77c6
ld a, [$d086]
jp nc, $71b3
.asm_b25e
ld a, [$d087]
ld [$cea1], a
call $7379
call $7704
call $7545
ld a, [$d086]
jp $71b3
.asm_b273
ret
; 0xb274
INCBIN "baserom.gbc",$b274,$ba04 - $b274
Func_ba04: ; ba04 (2:7a04)
ld a, [wd0a9]
ld hl, $7b83
sla a
ld c, a
ld b, $0
add hl, bc
ld de, $d0a2
ld a, [hli]
ld [de], a
inc de
ld a, [hl]
ld [de], a
xor a
ld [$cea1], a
call $7b97
ld a, $5
ld [$d0a5], a
xor a
ld hl, $7b6e
call InitializeCursorParameters
ld hl, $0224
call DrawWideTextBox_PrintText
ld a, $5
ld [$cea9], a
ld hl, $73fe
ld d, h
ld a, l
ld hl, $cece
ld [hli], a
ld [hl], d
.asm_ba40
call DoFrame
call MenuCursorAcceptInput
jr c, .asm_baa3
ld a, [$ff8f]
and $c0
jr z, .asm_ba4e
.asm_ba4e
ld a, [$ff8f]
and $8
jr z, .asm_ba40
ld a, [$cea1]
ld [$d087], a
ld b, a
ld a, [wCurMenuItem]
ld [$d086], a
add b
ld c, a
inc a
or $80
ld [wceb1], a
sla c
ld b, $0
ld hl, $d00d
add hl, bc
call $7653
ld a, [hli]
ld h, [hl]
ld l, a
push hl
ld bc, $0018
add hl, bc
ld d, h
ld e, l
ld a, [hl]
pop hl
call $7644
or a
jr z, .asm_ba40
ld a, $1
call Func_90fb
call $7653
call Func_8e1f
call $7644
ld a, [$d087]
ld [$cea1], a
call $7b97
ld a, [$d086]
jp $7a25
.asm_baa3
call Func_270b
ld a, [$cea1]
ld [$d087], a
ld a, [wCurMenuItem]
ld [$d086], a
ld a, [$ffb1]
cp $ff
jp z, $7b0d
ld [$d088], a
call Func_905a
xor a
ld [$ce5e], a
call DrawWideTextBox
ld hl, $7b76
call Func_2c08
call DoFrame
call $46ac
jp nc, $7acc
cp $ff
jr nz, .asm_badf
ld a, [$d086]
jp $7a25
.asm_badf
ld a, [wceb0]
sla a
ld hl, wceaf
add [hl]
or a
jr nz, .asm_bb09
call $7653
call $77c6
call $7644
ld a, [$d086]
jp nc, $7a25
ld a, [$d087]
ld [$cea1], a
call $7b97
ld a, [$d086]
jp $7a25
.asm_bb09
cp $1
jr nz, .asm_bb12
xor a
ld [$d0a4], a
ret
.asm_bb12
ld a, [$cea1]
ld [$d087], a
ld b, a
ld a, [wCurMenuItem]
ld [$d086], a
add b
ld c, a
ld [wceb1], a
sla c
ld b, $0
ld hl, $d00d
add hl, bc
push hl
ld hl, $d0aa
add hl, bc
ld bc, $cfda
ld a, [hli]
ld [bc], a
inc bc
ld a, [hl]
ld [bc], a
pop hl
call $7653
ld a, [hli]
ld h, [hl]
ld l, a
push hl
ld bc, $0018
add hl, bc
ld d, h
ld e, l
ld a, [hl]
pop hl
call $7644
or a
jp z, $7a40
ld a, $1
call Func_90fb
call $7653
xor a
call $6dfe
call $7644
ld a, [$d087]
ld [$cea1], a
call $7b97
ld a, [$d086]
jp $7a25
; 0xbb6e
INCBIN "baserom.gbc",$bb6e,$c000 - $bb6e
+82 -1
View File
@@ -124,7 +124,88 @@ Func_804d8: ; 804d8 (20:44d8)
INCBIN "baserom.gbc",$804d8,$80b7a - $804d8
Func_80b7a: ; 80b7a (20:4b7a)
INCBIN "baserom.gbc",$80b7a,$80e5a - $80b7a
INCBIN "baserom.gbc",$80b7a,$80ba4 - $80b7a
Func_80ba4: ; 80ba4 (20:4ba4)
push af
xor a
ld [$d292], a
pop af
push hl
push bc
push de
ld c, a
ld a, [wd131]
push af
ld a, [$d23d]
push af
ld a, [$d12f]
push af
ld a, [$d130]
push af
ld a, [$d23a]
push af
ld a, [$d23b]
push af
ld b, $0
ld hl, wd323
add hl, bc
ld a, $1
ld [hl], a
ld a, c
add a
ld c, a
ld b, $0
ld hl, $4c21
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
ld b, [hl]
inc hl
ld c, [hl]
inc hl
ld a, [wConsole]
cp $2
jr nz, .asm_80be7
inc hl
.asm_80be7
ld a, [hl]
ld [wd131], a
push bc
farcallx $20, $4082
pop bc
srl b
ld a, c
rrca
and $f
swap a
add b
ld c, a
ld b, $0
ld hl, wBoosterViableCardList
add hl, bc
farcallx $3, $438f
pop af
ld [$d23b], a
pop af
ld [$d23a], a
pop af
ld [$d130], a
pop af
ld [$d12f], a
pop af
ld [$d23d], a
pop af
ld [wd131], a
pop de
pop bc
pop hl
ret
; 0x80c21
INCBIN "baserom.gbc",$80c21,$80e5a - $80c21
Unknown_80e5a: ; 80e5a (20:4e5a)
INCBIN "baserom.gbc",$80e5a,$80e5d - $80e5a
+1530 -20
View File
File diff suppressed because it is too large Load Diff
+396 -8
View File
@@ -1,4 +1,45 @@
INCBIN "baserom.gbc",$10000,$10059 - $10000
Func_10000: ; 10000 (4:4000)
ld a, $0
ld [wTileMapFill], a
call Func_04a2
call Func_2119
ld de, $307f
call Func_2275
call Set_OBJ_8x8
xor a
ld [$ff92], a
ld [$ff93], a
ld a, [wLCDC]
bit 7, a
jr nz, .asm_10025
xor a
ld [rSCX], a
ld [rSCY], a
.asm_10025
call Func_1288c
call Func_099c
ld a, $1
ld [wVBlankOAMCopyToggle], a
ret
Func_10031: ; 10031 (4:4031)
ld a, [$ff81]
push af
ld a, $1
call BankswitchRAM
call $4cbb
call DisableExtRAM
call $4b28
call Func_0404
call EnableLCD
call DoFrameIfLCDEnabled
call $4cea
call Func_0404
pop af
call BankswitchRAM
call DisableExtRAM
ret
Func_10059: ; 10059 (4:4059)
INCBIN "baserom.gbc",$10059,$100a2 - $10059
@@ -196,7 +237,44 @@ Func_10548: ; 10548 (4:4548)
INCBIN "baserom.gbc",$10548,$10756 - $10548
Func_10756: ; 10756 (4:4756)
INCBIN "baserom.gbc",$10756,$10a9b - $10756
INCBIN "baserom.gbc",$10756,$10a70 - $10756
Func_10a70: ; 10a70 (4:4a70)
push hl
push bc
push de
ld b, a
ld c, $f
ld hl, wPCPacks
.asm_10a79
ld a, [hli]
and $7f
cp b
jr z, .asm_10a97
dec c
jr nz, .asm_10a79
ld c, $f
ld hl, wPCPacks
.asm_10a87
ld a, [hl]
and $7f
jr z, .asm_10a93
inc hl
dec c
jr nz, .asm_10a87
rst $38
jr .asm_10a97
.asm_10a93
ld a, b
or $80
ld [hl], a
.asm_10a97
pop de
pop bc
pop hl
ret
Func_10a9b: ; 10a9b (4:4a9b)
INCBIN "baserom.gbc",$10a9b,$10ab4 - $10a9b
@@ -205,7 +283,62 @@ Func_10ab4: ; 10ab4 (4:4ab4)
INCBIN "baserom.gbc",$10ab4,$10af9 - $10ab4
Func_10af9: ; 10af9 (4:4af9)
INCBIN "baserom.gbc",$10af9,$10e28 - $10af9
INCBIN "baserom.gbc",$10af9,$10c96 - $10af9
Func_10c96: ; 10c96 (4:4c96)
ld a, [$ff81]
push af
push bc
ld a, $1
call BankswitchRAM
call $4cbb
call Func_10ab4
pop bc
ld a, c
or a
jr nz, .asm_10cb0
call $4cea
call Func_10af9
.asm_10cb0
call EnableLCD
pop af
call BankswitchRAM
call DisableExtRAM
ret
; 0x10cbb
INCBIN "baserom.gbc",$10cbb,$10dba - $10cbb
Func_10dba: ; 10dba (4:4dba)
ld a, $1
farcall Func_c29b
ld a, [wd0ba]
ld hl, $4e17
farcall Func_111e9
.asm_10dca
call DoFrameIfLCDEnabled
call MenuCursorAcceptInput
jr nc, .asm_10dca
ld a, e
ld [wd0ba], a
ld a, [$ffb1]
cp e
jr z, .asm_10ddd
ld a, $4
.asm_10ddd
ld [wd10e], a
push af
ld hl, $4df0
call JumpToFunctionInTable
farcall Func_c135
call DoFrameIfLCDEnabled
pop af
ret
; 0x10df0
INCBIN "baserom.gbc",$10df0,$10e28 - $10df0
Func_10e28: ; 10e28 (4:4e28)
INCBIN "baserom.gbc",$10e28,$10e55 - $10e28
@@ -671,17 +804,272 @@ Func_11416: ; 11416 (4:5416)
INCBIN "baserom.gbc",$11416,$11430 - $11416
Func_11430: ; 11430 (4:5430)
INCBIN "baserom.gbc",$11430,$1162a - $11430
INCBIN "baserom.gbc",$11430,$1157c - $11430
Func_1157c: ; 1157c (4:557c)
ld a, c
or a
jr nz, .asm_11586
farcall Func_c228
jr .asm_1159f
.asm_11586
ld a, $2
ld [wd0bc], a
ld a, $4
ld [wd0bd], a
ld a, $2
ld [wd0be], a
ld a, $1
ld [wd0bb], a
ld a, $1
ld [wd32e], a
.asm_1159f
call $5238
ret
; 0x115a3
INCBIN "baserom.gbc",$115a3,$1162a - $115a3
INCLUDE "data/map_scripts.asm"
INCBIN "baserom.gbc",$1184a,$11857 - $1184a
; loads a pointer into hl found on PointerTable_118f5
Func_1184a: ; 1184a (4:584a)
; this may have been a macro
rlca
add (PointerTable_118f5 & $ff)
ld l, a
ld a, PointerTable_118f5 >> 8
adc $00
ld h, a
ld a, [hli]
ld h, [hl]
ld l, a
ret
Func_11857: ; 11857 (4:5857)
INCBIN "baserom.gbc",$11857,$1217b - $11857
push hl
push bc
call Func_1184a
ld a, [hli]
ld [wd3ab], a
ld a, [hli]
ld [$d3b3], a
ld a, [hli]
ld [wd3b1], a
ld a, [hli]
push af
ld a, [hli]
ld [wd3b2], a
pop bc
ld a, [wConsole]
cp $2
jr nz, .asm_1187a
ld a, b
ld [wd3b1], a
.asm_1187a
pop bc
pop hl
ret
Unknown_1217b: ; 1217b (4:617b)
INCBIN "baserom.gbc",$1217b,$1229f - $1217b
; this appears to find data about the NPC we're talking to
Func_1187d: ; 1187d (4:587d)
push hl
call Func_1184a
ld bc, $5
add hl, bc
ld c, [hl]
inc hl
ld b, [hl]
inc hl
ld a, [hli]
ld [wd0c8], a
ld a, [hli]
ld [wd0c9], a
pop hl
ret
Func_11893: ; 11893 (4:5893)
push hl
push bc
call Func_1184a
ld bc, $0007
add hl, bc
ld a, [hli]
ld [wd0c8], a
ld a, [hli]
ld [wd0c9], a
pop bc
pop hl
ret
Func_118a7: ; 118a7 (4:58a7)
push hl
push bc
call Func_1184a
ld bc, $0007
add hl, bc
ld a, [hli]
ld [wcc16], a
ld a, [hli]
ld [wcc17], a
ld a, [hli]
ld [wcc15], a
pop bc
pop hl
ret
Func_118bf: ; 118bf (4:58bf)
push hl
push bc
call Func_1184a
ld bc, $000a
add hl, bc
ld a, [hli]
ld [wcc19], a
ld a, [hli]
ld [wDuelTheme], a
pop bc
pop hl
ret
Func_118d3: ; 118d3 (4:58d3)
push hl
push bc
push af
call Func_1184a
ld bc, $000c
add hl, bc
ld a, [hli]
ld [wMatchStartTheme], a
pop af
cp $2
jr nz, .asm_118f2
ld a, [wCurMap]
cp $20
jr nz, .asm_118f2
ld a, $17
ld [wMatchStartTheme], a
.asm_118f2
pop bc
pop hl
ret
INCLUDE "data/unknownNPCData.asm"
INCBIN "baserom.gbc",$11f4e,$1217b - $11f4e
PointerTable_1217b: ; 1217b (4:617b)
dw Func_ccbe
dw Func_ccc6
dw Func_ccd4 ; Seems to begin dialogue with NPCs
dw Func_ccdc
dw Func_cce9 ; opens the "start battle?" box
dw Func_cd01 ; seems to start a battle.
dw Func_cd83
dw Func_cda8
dw Func_cdb9
dw Func_cdcb
dw Func_ce26
dw Func_ce84
dw Func_ce8a ; Called after player wins a battle. Handles Booster Packs.
dw Func_cf0c
dw Func_cf12
dw Func_cf3f
dw Func_cf4c
dw Func_cf53
dw Func_cf7b
dw Func_cf2d
dw Func_cf96
dw Func_cfc6
dw Func_cfd4
dw Func_d00b
dw Func_d025
dw Func_d032
dw Func_d03f
dw Func_d049
dw Func_d04f
dw Func_d055
dw Func_d05c
dw Func_cee2
dw Func_d080
dw Func_d088
dw Func_d095
dw Func_d0be
dw Func_d0ce
dw Func_d0d9
dw Func_d0f2
dw Func_ce4a
dw Func_ceba
dw Func_d103
dw Func_d125
dw Func_d135
dw Func_d16b
dw Func_cd4f
dw Func_cd94
dw Func_ce52
dw Func_cdd8
dw Func_cdf5
dw Func_d195
dw Func_d1ad
dw Func_d1b3
dw Func_cccc ; Ends dialoge. Seems to do it after player answers the "start fight?" question.
dw Func_d244
dw Func_d24c
dw DeckMachine_d336
dw Func_d271
dw Func_d36d
dw Func_ce6f
dw Func_d209
dw Func_d38f
dw Func_d396
dw Func_cd76
dw Func_d39d
dw Func_d3b9
dw Func_d3c9
dw Func_d3d1
dw Func_d3d4
dw Func_d3e0
dw Func_d3fe
dw Func_d408
dw Func_d40f
dw Func_d416
dw Func_d423
dw Func_d429
dw Func_d41d
dw Func_d42f
dw Func_d435
dw Func_cce4
dw Func_d2f6
dw Func_d317
dw Func_d43d
dw Func_ccbe
dw Func_ccbe
dw Func_ccbe
dw Func_ccbe
dw Func_ccbe
dw Func_d44a
dw Func_d460
dw Func_d47b
dw Func_d484
dw Func_d49e
dw Func_d4a6
dw Func_d4ae
dw Func_d4bc
dw Func_d4c3
dw Func_d4ca
dw Func_d4df ; Used by 2 lightning club members and npcs in mason's lab. Not sure why.
dw Func_d452
dw Func_ccbe
dw Func_ccbe
dw Func_ccbe
dw Func_ccbe
INCBIN "baserom.gbc",$1224b,$1229f - $1224b
Unknown_1229f: ; 1229f (4:629f)
INCBIN "baserom.gbc",$1229f,$126d1 - $1229f
+258 -5
View File
@@ -91,10 +91,137 @@ Func_1c33b: ; 1c33b (7:433b)
INCLUDE "data/map_songs.asm"
Func_1c440: ; 1c440 (7:4440)
INCBIN "baserom.gbc",$1c440,$1c485 - $1c440
INCBIN "baserom.gbc",$1c440,$1c455 - $1c440
Func_1c455: ; 1c455 (7:4455)
push hl
ld a, [wd3aa]
ld l, $4
call Func_39ad
ld a, [hl]
pop hl
ret
Func_1c461: ; 1c461 (7:4461)
push hl
push bc
call Func_1c719
ld a, [wd3aa]
ld l, $2
call Func_39ad
ld a, b
ld [hli], a
ld [hl], c
call $46e3
pop bc
pop hl
ret
Func_1c477: ; 1c477 (7:4477)
push hl
ld a, [wd3aa]
ld l, $2
call Func_39ad
ld a, [hli]
ld b, a
ld c, [hl]
pop hl
ret
Func_1c485: ; 1c485 (7:4485)
INCBIN "baserom.gbc",$1c485,$1c58e - $1c485
INCBIN "baserom.gbc",$1c485,$1c50a - $1c485
Func_1c50a: ; 1c50a (7:450a)
push hl
call Func_1c719
ld a, [wd3aa]
call $39a7
ld a, [hl]
or a
jr z, .asm_1c52c
call $44fa
jr nc, .asm_1c521
xor a
ld [wd3b8], a
.asm_1c521
xor a
ld [hli], a
ld a, [hl]
farcallx $4, $69fd
ld hl, $d349
dec [hl]
.asm_1c52c
pop hl
ret
Func_1c52e: ; 1c52e (7:452e)
push hl
push af
ld a, [wd3aa]
ld l, $7
call Func_39ad
pop af
ld [hl], a
call Func_1c5e9
pop hl
ret
Func_1c53f: ; 1c53f (7:453f)
push hl
push bc
ld a, [wd3aa]
ld l, $4
call Func_39ad
ld a, [hl]
ld bc, $0003
add hl, bc
ld [hl], a
push af
call Func_1c5e9
pop af
pop bc
pop hl
ret
Func_1c557: ; 1c557 (7:4557)
push bc
ld c, a
ld a, [wd3aa]
push af
ld a, [wd3ab]
push af
ld a, c
ld [wd3ab], a
ld c, $0
call Func_39c3
jr c, .asm_1c570
call Func_1c53f
ld c, a
.asm_1c570
pop af
ld [wd3ab], a
pop af
ld [wd3aa], a
ld a, c
pop bc
ret
Func_1c57b: ; 1c57b (7:457b)
push hl
push bc
push af
ld a, [wd3aa]
ld l, $6
call Func_39ad
pop af
ld [hl], a
call Func_1c58e
pop bc
pop hl
ret
Func_1c58e: ; 1c58e (7:458e)
INCBIN "baserom.gbc",$1c58e,$1c5e9 - $1c58e
@@ -106,16 +233,142 @@ Func_1c610: ; 1c610 (7:4610)
INCBIN "baserom.gbc",$1c610,$1c6f8 - $1c610
Func_1c6f8: ; 1c6f8 (7:46f8)
INCBIN "baserom.gbc",$1c6f8,$1c72e - $1c6f8
INCBIN "baserom.gbc",$1c6f8,$1c719 - $1c6f8
Func_1c719: ; 1c719 (7:4719)
push hl
push bc
ld a, [wd3aa]
ld l, $2
call Func_39ad
ld a, [hli]
ld b, a
ld c, [hl]
ld a, $40
call $3937
pop bc
pop hl
ret
Func_1c72e: ; 1c72e (7:472e)
INCBIN "baserom.gbc",$1c72e,$1c768 - $1c72e
Func_1c768: ; 1c768 (7:4768)
INCBIN "baserom.gbc",$1c768,$1c82e - $1c768
push hl
ld a, [wd3aa]
ld l, $04
call Func_39ad
ld a, [wd334]
xor $02
ld [hl], a
call Func_1c58e
ld a, $02
farcall Func_c29b
ld a, [wd3aa]
call $39a7
ld a, [hl]
farcall Func_1187d
pop hl
ret
Func_1c78d: ; 1c78d (7:478d)
push hl
ld a, [wd3aa]
ld l, $5
call Func_39ad
set 5, [hl]
ld a, [wd3aa]
ld l, $8
call Func_39ad
xor a
ld [hli], a
.asm_1c7a2
ld [hl], c
inc hl
ld [hl], b
dec hl
call $39ea
cp $f0
jr nc, .asm_1c7bb
push af
and $7f
call $45ff
pop af
bit 7, a
jr z, .asm_1c7dc
inc bc
jr .asm_1c7a2
.asm_1c7bb
cp $ff
jr z, .asm_1c7d2
inc bc
call $39ea
push hl
ld l, a
ld h, $0
bit 7, l
jr z, .asm_1c7cc
dec h
.asm_1c7cc
add hl, bc
ld c, l
ld b, h
pop hl
jr .asm_1c7a2
.asm_1c7d2
ld a, [wd3aa]
ld l, $5
call Func_39ad
res 5, [hl]
.asm_1c7dc
pop hl
ret
Func_1c7de: ; 1c7de (7:47de)
ld a, [$d3b7]
and $20
ret
; 0x1c7e4
INCBIN "baserom.gbc",$1c7e4,$1c82e - $1c7e4
Func_1c82e: ; 1c82e (7:482e)
INCBIN "baserom.gbc",$1c82e,$1d078 - $1c82e
INCBIN "baserom.gbc",$1c82e,$1c83d - $1c82e
Func_1c83d: ; 1c83d (7:483d)
push hl
push bc
ld b, a
ld c, $a
ld hl, $d3bb
.asm_1c845
ld a, [hl]
or a
jr z, .asm_1c853
cp b
jr z, .asm_1c855
inc hl
dec c
jr nz, .asm_1c845
rst $38
jr .asm_1c855
.asm_1c853
ld a, b
ld [hl], a
.asm_1c855
pop bc
pop hl
ret
; 0x1c858
INCBIN "baserom.gbc",$1c858,$1d078 - $1c858
Func_1d078: ; 1d078 (7:5078)
ld a, [wd627]
+161 -13
View File
@@ -219,6 +219,7 @@ WaitForVBlank: ; 0264 (0:0264)
ld a, [hl]
.asm_270
halt
nop
cp [hl]
jr z, .asm_270
.asm_275
@@ -3237,9 +3238,112 @@ PrintOpponentName: ; 1c8e (0:1c8e)
.printPlayer2
text_hl Player2
jp PrintTextBoxBorderLabel
; 0x1caa
INCBIN "baserom.gbc",$1caa,$1d2e - $1caa
Func_1caa: ; 1caa (0:1caa)
push de
push bc
call EnableExtRAM
ld hl, $0000
ld de, sDeck1Cards
ld c, $4
.asm_1cb7
ld a, [de]
or a
jr z, .asm_1cc1
ld a, c
ld bc, $003c
add hl, bc
ld c, a
.asm_1cc1
ld a, $54
add e
ld e, a
ld a, $0
adc d
ld d, a
dec c
jr nz, .asm_1cb7
ld de, sCardCollection
.asm_1ccf
ld a, [de]
bit 7, a
jr nz, .asm_1cd8
ld c, a
ld b, $0
add hl, bc
.asm_1cd8
inc e
jr nz, .asm_1ccf
call DisableExtRAM
pop bc
pop de
ret
Func_1ce1: ; 1ce1 (0:1ce1)
push hl
push de
push bc
call EnableExtRAM
ld c, a
ld b, $0
ld hl, sDeck1Cards
ld d, $4
.asm_1cef
ld a, [hl]
or a
jr z, .asm_1cff
push hl
ld e, $3c
.asm_1cf6
ld a, [hli]
cp c
jr nz, .asm_1cfb
inc b
.asm_1cfb
dec e
jr nz, .asm_1cf6
pop hl
.asm_1cff
push de
ld de, $0054
add hl, de
pop de
dec d
jr nz, .asm_1cef
ld h, $a1
ld l, c
ld a, [hl]
bit 7, a
jr nz, .asm_1d11
add b
.asm_1d11
and $7f
call DisableExtRAM
pop bc
pop de
pop hl
or a
ret nz
scf
ret
Func_1d1d: ; 1d1d (0:1d1d)
push hl
call EnableExtRAM
ld h, $a1
ld l, a
ld a, [hl]
call DisableExtRAM
pop hl
and $7f
ret nz
scf
ret
;creates a list at $c000 of every card the player owns and how many
CreateTempCardCollection: ; 1d2e (0:1d2e)
@@ -3305,7 +3409,24 @@ AddCardToCollection: ; 1d6e (0:1d6e)
pop hl
ret
INCBIN "baserom.gbc",$1d91,$1dca - $1d91
Func_1d91: ; 1d91 (0:1d91)
push hl
call EnableExtRAM
ld h, $a1
ld l, a
ld a, [hl]
and $7f
jr z, .asm_1d9f
dec a
ld [hl], a
.asm_1d9f
call DisableExtRAM
pop hl
ret
; 0x1da4
INCBIN "baserom.gbc",$1da4,$1dca - $1da4
; memcpy(HL, DE, C)
Memcpy: ; 1dca (0:1dca)
@@ -5391,9 +5512,24 @@ Func_2f32: ; 2f32 (0:2f32)
.asm_2f43
pop hl
ret
; 0x2f45
INCBIN "baserom.gbc",$2f45,$2f5d - $2f45
Func_2f45: ; 2f45 (0:2f45)
push hl
call GetCardPointer
jr c, .asm_2f5b
ld a, $c
call BankpushHome2
ld de, $0003
add hl, de
ld e, [hl]
inc hl
ld d, [hl]
call BankpopHome
or a
.asm_2f5b
pop hl
ret
; from the card id in a, loads type into a, rarity into b, and set into c
GetCardHeader: ; 2f5d (0:2f5d)
@@ -6730,9 +6866,14 @@ Credits_3911: ; 3911 (0:3911)
farcall Credits_1d6ad
or a
ret
; 0x3917
INCBIN "baserom.gbc",$3917,$3927 - $3917
Func_3917: ; 3917 (0:3917)
ld a, $22
farcall Func_ca6c
call EnableExtRAM
ld [$a00a], a
call DisableExtRAM
ret
Func_3927: ; 3927 (0:3927)
push hl
@@ -6787,9 +6928,11 @@ Func_3997: ; 3997 (0:3997)
pop af
call BankswitchHome
ret
; 0x39a7
INCBIN "baserom.gbc",$39a7,$39ad - $39a7
Func_39a7: ; 39a7 (0:39a7)
ld l, $0
call Func_39ad
ret
Func_39ad: ; 39ad (0:39ad)
push bc
@@ -6991,6 +7134,7 @@ Func_3abd: ; 3abd (0:3abd)
INCBIN "baserom.gbc",$3ae8,$3aed - $3ae8
; finds a pointer on a table (in bank 4) using the data after rst20 is called and jumps to it (in bank 3)
Func_3aed: ; 3aed (0:3aed)
ld hl, $d413
ld a, [hli]
@@ -7004,11 +7148,11 @@ Func_3aed: ; 3aed (0:3aed)
rlca
ld c, a
ld b, $0
ld hl, Unknown_1217b
ld hl, PointerTable_1217b
add hl, bc
ldh a, [hBankROM]
push af
ld a, BANK(Unknown_1217b)
ld a, BANK(PointerTable_1217b)
call BankswitchHome
ld a, [hli]
ld h, [hl]
@@ -7193,9 +7337,13 @@ DivideBCbyDE: ; 3c5a (0:3c5a)
dec a
jr nz, .asm_3c63
ret
; 0x3c83
INCBIN "baserom.gbc",$3c83,$3c96 - $3c83
Func_3c83: ; 3c83 (0:3c83)
call PlaySong
ret
; 0x3c87
INCBIN "baserom.gbc",$3c87,$3c96 - $3c87
Func_3c96: ; 3c96 (0:3c96)
call DoFrameIfLCDEnabled