diff options
author | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-04-20 08:41:24 -0400 |
---|---|---|
committer | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-04-20 08:44:50 -0400 |
commit | 3a1044641060ee6e7763e63457b6d6f6e1d87236 (patch) | |
tree | 8e9d7ea6c5ee2826ddc2e6bbefb39ed1786a50ef | |
parent | 012089679ffc534c7dec23c896c5e8e870939d90 (diff) |
bank6.asm
-rwxr-xr-x | engine/bank6.asm | 113 | ||||
-rwxr-xr-x | engine/home.asm | 87 | ||||
-rwxr-xr-x | main.asm | 11 |
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] @@ -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] |