summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xengine/home.asm27
-rwxr-xr-xengine/overworldmap.asm2
-rwxr-xr-xmain.asm9
3 files changed, 24 insertions, 14 deletions
diff --git a/engine/home.asm b/engine/home.asm
index 5e0367b..4dc3eff 100755
--- a/engine/home.asm
+++ b/engine/home.asm
@@ -1587,7 +1587,7 @@ Func_24ca: ; 24ca (0:24ca)
push bc
ld a, [$ff80]
push af
- ld a, $1d
+ ld a, BANK(Unknown_76668)
call BankswitchHome
push de
ld a, e
@@ -1620,7 +1620,7 @@ Func_24fa: ; 24fa (0:24fa)
add hl, hl
add hl, hl
add hl, hl
- ld bc, $6668
+ ld bc, Unknown_76668
add hl, bc
ld b, $8
.asm_2508
@@ -1731,7 +1731,7 @@ INCBIN "baserom.gbc",$2589,$2c29 - $2589
Func_2c29: ; 2c29 (0:2c29)
ld a, [$ff80]
push af
- call Func_2ded
+ call ReadTextOffset
call Func_21c5
pop af
call BankswitchHome
@@ -1740,14 +1740,16 @@ Func_2c29: ; 2c29 (0:2c29)
INCBIN "baserom.gbc",$2c37,$2ded - $2c37
-Func_2ded: ; 2ded (0:2ded)
+; uses the two byte text id in hl to read the three byte text offset
+; loads the correct bank for the specific text and returns the pointer in hl
+ReadTextOffset: ; 2ded (0:2ded)
push de
ld e, l
ld d, h
add hl, hl
add hl, de
- set 6, h
- ld a, $d
+ set 6, h ; hl = (hl * 3) + $4000
+ ld a, BANK(TextOffsets)
call BankswitchHome
ld e, [hl]
inc hl
@@ -1759,10 +1761,10 @@ Func_2ded: ; 2ded (0:2ded)
rla
rl h
rla
- add $d
+ add BANK(TextOffsets)
call BankswitchHome
res 7, d
- set 6, d
+ set 6, d ; $4000 ≤ de ≤ $7fff
ld l, e
ld h, d
pop de
@@ -1915,7 +1917,10 @@ Func_37a0: ; 37a0 (0:37a0)
ret
; 0x37a5
-INCBIN "baserom.gbc",$37a5,$3bf5 - $37a5
+INCBIN "baserom.gbc",$37a5,$397b - $37a5
+
+Unknown_397b: ; 397b (0:397b)
+INCBIN "baserom.gbc",$397b,$3bf5 - $397b
Func_3bf5: ; 3bf5 (0:3bf5)
ld a, [$ff80]
@@ -1978,7 +1983,7 @@ Func_3d72: ; 3d72 (0:3d72)
ld a, [$d4ca]
cp $ff
jr nz, .asm_3d84
- ld de, $4e5a
+ ld de, Func_80e5a
xor a
jr .asm_3da1
.asm_3d84
@@ -2001,7 +2006,7 @@ Func_3d72: ; 3d72 (0:3d72)
ld d, a
pop af
.asm_3da1
- add $20
+ add BANK(Func_80e5a)
pop hl
ld bc, $000b
add hl, bc
diff --git a/engine/overworldmap.asm b/engine/overworldmap.asm
index fd6da16..94b79a0 100755
--- a/engine/overworldmap.asm
+++ b/engine/overworldmap.asm
@@ -97,7 +97,7 @@ Func_10f2e: ; 10f2e (4:4f2e)
rlca
ld e, a
ld d, $0
- ld hl, $397b
+ ld hl, Unknown_397b
add hl, de
ld a, [hli]
ld h, [hl]
diff --git a/main.asm b/main.asm
index 0d1deb3..0d8dee6 100755
--- a/main.asm
+++ b/main.asm
@@ -50,6 +50,7 @@ SECTION "bankC",ROMX,BANK[$C]
INCBIN "baserom.gbc",$30000,$4000
SECTION "bankD",ROMX,BANK[$D]
+TextOffsets: ; 34000 (d:4000)
INCBIN "baserom.gbc",$34000,$4000
SECTION "bankE",ROMX,BANK[$E]
@@ -98,7 +99,9 @@ SECTION "bank1C",ROMX,BANK[$1C]
INCBIN "baserom.gbc",$70000,$4000
SECTION "bank1D",ROMX,BANK[$1D]
-INCBIN "baserom.gbc",$74000,$4000
+INCBIN "baserom.gbc",$74000,$76668 - $74000
+Unknown_76668: ; 76668 (1d:6668)
+INCBIN "baserom.gbc",$76668,$78000 - $76668
SECTION "bank1E",ROMX,BANK[$1E]
INCBIN "baserom.gbc",$78000,$4000
@@ -113,7 +116,9 @@ INCBIN "baserom.gbc",$8020f,$80229 - $8020f
Func_80229: ; 80229 (20:4229)
INCBIN "baserom.gbc",$80229,$8025b - $80229
Func_8025b: ; 8025b (20:425b)
-INCBIN "baserom.gbc",$8025b,$84000 - $8025b
+INCBIN "baserom.gbc",$8025b,$80e5a - $8025b
+Func_80e5a: ; 80e5a (20:4e5a)
+INCBIN "baserom.gbc",$80e5a,$84000 - $80e5a
SECTION "bank21",ROMX,BANK[$21]
INCBIN "baserom.gbc",$84000,$4000