summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-04-20 08:41:24 -0400
committerU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-04-20 08:44:50 -0400
commit3a1044641060ee6e7763e63457b6d6f6e1d87236 (patch)
tree8e9d7ea6c5ee2826ddc2e6bbefb39ed1786a50ef
parent012089679ffc534c7dec23c896c5e8e870939d90 (diff)
bank6.asm
-rwxr-xr-xengine/bank6.asm113
-rwxr-xr-xengine/home.asm87
-rwxr-xr-xmain.asm11
3 files changed, 202 insertions, 9 deletions
diff --git a/engine/bank6.asm b/engine/bank6.asm
new file mode 100755
index 0000000..df0491e
--- /dev/null
+++ b/engine/bank6.asm
@@ -0,0 +1,113 @@
+INCBIN "baserom.gbc",$18000,$1996e - $18000
+
+Func_1996e: ; 1996e (6:596e)
+ call Func_07b6
+ ld a, $c2
+ ld [$ff97], a
+ ld hl, $a100
+ ld bc, $1607
+.asm_1997b
+ xor a
+ ld [hli], a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_1997b
+ ld a, $5
+ ld hl, $a350
+ call Func_199e0
+ ld a, $7
+ ld hl, $a3a4
+ call Func_199e0
+ ld a, $9
+ ld hl, $a3f8
+ call Func_199e0
+ call Func_07b6
+ ld hl, $a100
+ ld a, $80
+.asm_199a2
+ ld [hl], a
+ inc l
+ jr nz, .asm_199a2
+ ld hl, $bc00
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ ld hl, $bb00
+ ld c, $10
+.asm_199b2
+ ld [hl], $0
+ ld de, $0010
+ add hl, de
+ dec c
+ jr nz, .asm_199b2
+ ld a, $2
+ ld [$a003], a
+ ld a, $2
+ ld [$a006], a
+ ld [$ce47], a
+ xor a
+ ld [$a007], a
+ ld [$a009], a
+ ld [$a004], a
+ ld [$a005], a
+ ld [$a00a], a
+ farcall Func_8cf9
+ call Func_07be
+ ret
+
+Func_199e0: ; 199e0 (6:59e0)
+ push de
+ push bc
+ push hl
+ call Func_302c
+ jr c, .asm_19a0e
+ call Func_19a12
+ pop hl
+ call Func_07b6
+ push hl
+ ld de, $c590
+.asm_199f3
+ ld a, [de]
+ inc de
+ ld [hli], a
+ or a
+ jr nz, .asm_199f3
+ pop hl
+ push hl
+ ld de, $0018
+ add hl, de
+ ld de, $c400
+ ld c, $3c
+.asm_19a04
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .asm_19a04
+ call Func_07be
+ or a
+.asm_19a0e
+ pop hl
+ pop bc
+ pop de
+ ret
+
+Func_19a12: ; 19a12 (6:5a12)
+ ld hl, $cce9
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, $c590
+ call Func_2e89
+ ret
+; 0x19a1f
+
+INCBIN "baserom.gbc",$19a1f,$1a6cc - $19a1f
+
+Func_1a6cc: ; 1a6cc (6:66cc)
+ ret
+; 0x1a6cd
+
+INCBIN "baserom.gbc",$1a6cd,$1c000 - $1a6cd \ No newline at end of file
diff --git a/engine/home.asm b/engine/home.asm
index 986d95a..4e6e2f3 100755
--- a/engine/home.asm
+++ b/engine/home.asm
@@ -1492,7 +1492,55 @@ Func_0ea6: ; 0ea6 (0:0ea6)
ret
; 0xebf
-INCBIN "baserom.gbc",$0ebf,$1c7d - $0ebf
+INCBIN "baserom.gbc",$0ebf,$1072 - $0ebf
+
+Func_1072: ; 1072 (0:1072)
+ ld hl, $c400
+ ld a, [$ff97]
+ cp $c2
+ jr z, .asm_107e
+ ld hl, $c480
+.asm_107e
+ push hl
+ ld bc, $003b
+ add hl, bc
+ ld [hl], $0
+ pop hl
+ push hl
+.asm_1087
+ ld a, [de]
+ inc de
+ ld b, a
+ or a
+ jr z, .asm_1097
+ ld a, [de]
+ inc de
+ ld c, a
+.asm_1090
+ ld [hl], c
+ inc hl
+ dec b
+ jr nz, .asm_1090
+ jr .asm_1087
+.asm_1097
+ ld hl, $cce9
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ ld [hl], a
+ pop hl
+ ld bc, $003b
+ add hl, bc
+ ld a, [hl]
+ or a
+ ret nz
+ rst $38
+ scf
+ ret
+; 0x10aa
+
+INCBIN "baserom.gbc",$10aa,$1c7d - $10aa
Func_1c7d: ; 1c7d (0:1c7d)
call Func_07b6
@@ -2759,7 +2807,40 @@ Func_2e89: ; 2e89 (0:2e89)
jp Func_1c7d
; 0x2ea9
-INCBIN "baserom.gbc",$2ea9,$3189 - $2ea9
+INCBIN "baserom.gbc",$2ea9,$302c - $2ea9
+
+Func_302c: ; 302c (0:302c)
+ push hl
+ ld l, a
+ ld h, $0
+ ld a, [$ff80]
+ push af
+ ld a, BANK(Unknown_30000)
+ call BankswitchHome
+ add hl, hl
+ ld de, Unknown_30000
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld a, d
+ or e
+ jr z, .asm_304e
+ call Func_1072
+ pop af
+ call BankswitchHome
+ pop hl
+ or a
+ ret
+.asm_304e
+ pop af
+ call BankswitchHome
+ pop hl
+ scf
+ ret
+; 0x3055
+
+INCBIN "baserom.gbc",$3055,$3189 - $3055
Func_3189: ; 3189 (0:3189)
ld hl, PointerTable_3190
@@ -2910,7 +2991,7 @@ INCBIN "baserom.gbc",$37a5,$397b - $37a5
Unknown_397b: ; 397b (0:397b)
INCBIN "baserom.gbc",$397b,$3aed - $397b
-Func_3aed: ; 3aed (0:7aed)
+Func_3aed: ; 3aed (0:3aed)
ld hl, $d413
ld a, [hli]
ld h, [hl]
diff --git a/main.asm b/main.asm
index d9dccc2..eb63ec7 100755
--- a/main.asm
+++ b/main.asm
@@ -8,7 +8,9 @@ SECTION "bank1",ROMX,BANK[$1]
INCLUDE "engine/bank1.asm"
SECTION "bank2",ROMX,BANK[$2]
-INCBIN "baserom.gbc",$8000,$4000
+INCBIN "baserom.gbc",$8000,$8cf9 - $8000
+Func_8cf9: ; 8cf9 (2:4cf9)
+INCBIN "baserom.gbc",$8cf9,$c000 - $8cf9
SECTION "bank3",ROMX,BANK[$3]
INCLUDE "engine/bank3.asm"
@@ -20,11 +22,7 @@ SECTION "bank5",ROMX,BANK[$5]
INCBIN "baserom.gbc",$14000,$4000
SECTION "bank6",ROMX,BANK[$6]
-INCBIN "baserom.gbc",$18000,$1996e - $18000
-Func_1996e: ; 1996e (6:596e)
-INCBIN "baserom.gbc",$1996e,$1a6cc - $1996e
-Func_1a6cc: ; 1a6cc (6:66cc)
-INCBIN "baserom.gbc",$1a6cc,$1c000 - $1a6cc
+INCLUDE "engine/bank6.asm"
SECTION "bank7",ROMX,BANK[$7]
INCLUDE "engine/bank7.asm"
@@ -42,6 +40,7 @@ SECTION "bankB",ROMX,BANK[$B]
INCBIN "baserom.gbc",$2C000,$4000
SECTION "bankC",ROMX,BANK[$C]
+Unknown_30000: ; 30000 (c:4000)
INCBIN "baserom.gbc",$30000,$4000
SECTION "bankD",ROMX,BANK[$D]