mirror of
https://github.com/pret/poketcg.git
synced 2026-10-02 14:40:41 -04:00
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:
@@ -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 $@ $^
|
||||
|
||||
Executable
+1513
File diff suppressed because it is too large
Load Diff
+16
-2
@@ -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
@@ -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
@@ -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
File diff suppressed because it is too large
Load Diff
+396
-8
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user