diff options
author | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-04-20 08:29:12 -0400 |
---|---|---|
committer | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-04-20 08:29:12 -0400 |
commit | 012089679ffc534c7dec23c896c5e8e870939d90 (patch) | |
tree | 6073cd4268d289ba94291dee56975201a1892dcd | |
parent | 67ccd2f483fa8e759726733b20d488fd00e7b653 (diff) |
bank3.asm
-rwxr-xr-x | engine/bank3.asm | 100 | ||||
-rwxr-xr-x | engine/home.asm | 32 | ||||
-rwxr-xr-x | engine/overworldmap.asm | 5 | ||||
-rwxr-xr-x | main.asm | 10 |
4 files changed, 136 insertions, 11 deletions
diff --git a/engine/bank3.asm b/engine/bank3.asm new file mode 100755 index 0000000..652232b --- /dev/null +++ b/engine/bank3.asm @@ -0,0 +1,100 @@ +INCBIN "baserom.gbc",$c000,$c5d5 - $c000
+
+Func_c5d5: ; c5d5 (3:45d5)
+ push hl
+ ld hl, Unknown_c5e5
+ or a
+ jr z, .asm_c5e2
+.asm_c5dc
+ rlca
+ jr c, .asm_c5e2
+ inc hl
+ jr .asm_c5dc
+.asm_c5e2
+ ld a, [hl]
+ pop hl
+ ret
+
+Unknown_c5e5: ; c5e5 (3:45e5)
+ db $02,$00,$03,$01
+
+Func_c5e9: ; c5e9 (3:45e9)
+ push bc
+ ld a, [$d336]
+ ld [$d4cf], a
+ ld a, [$d337]
+ ld b, a
+ ld a, [$d334]
+ add b
+ farcall Func_12ab5
+ pop bc
+ ret
+; 0xc5fe
+
+INCBIN "baserom.gbc",$c5fe,$ca6c - $c5fe
+
+Func_ca6c: ; ca6c (3:4a6c)
+ push hl
+ push bc
+ call Func_cb1d
+ ld c, [hl]
+ ld a, [$d3d1]
+.asm_ca75
+ bit 0, a
+ jr nz, .asm_ca7f
+ srl a
+ srl c
+ jr .asm_ca75
+.asm_ca7f
+ and c
+ pop bc
+ pop hl
+ or a
+ ret
+; 0xca84
+
+INCBIN "baserom.gbc",$ca84,$cb1d - $ca84
+
+Func_cb1d: ; cb1d (3:4b1d)
+ push bc
+ ld c, a
+ ld b, $0
+ sla c
+ rl b
+ ld hl, Unknown_cb37
+ add hl, bc
+ ld a, [hli]
+ ld c, a
+ ld a, [hl]
+ ld [$d3d1], a
+ ld b, $0
+ ld hl, $d3d2
+ add hl, bc
+ pop bc
+ ret
+
+Unknown_cb37: ; cb37 (3:4b37)
+INCBIN "baserom.gbc",$cb37,$cc42 - $cb37
+
+RST20: ; cc42 (3:4c42)
+ pop hl
+ ld a, l
+ ld [$d413], a
+ ld a, h
+ ld [$d414], a
+ xor a
+ ld [$d412], a
+.asm_cc4f
+ call Func_3aed
+ ld a, [$d412]
+ or a
+ jr z, .asm_cc4f
+ ld hl, $d413
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ push bc
+ ret
+; 0xcc60
+
+INCBIN "baserom.gbc",$cc60,$10000 - $cc60
\ No newline at end of file diff --git a/engine/home.asm b/engine/home.asm index 66e1005..986d95a 100755 --- a/engine/home.asm +++ b/engine/home.asm @@ -2908,7 +2908,37 @@ Func_37a0: ; 37a0 (0:37a0) INCBIN "baserom.gbc",$37a5,$397b - $37a5 Unknown_397b: ; 397b (0:397b) -INCBIN "baserom.gbc",$397b,$3bf5 - $397b +INCBIN "baserom.gbc",$397b,$3aed - $397b + +Func_3aed: ; 3aed (0:7aed) + ld hl, $d413 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hli] + ld c, [hl] + inc hl + ld b, [hl] + push bc + rlca + ld c, a + ld b, $0 + ld hl, Unknown_1217b + add hl, bc + ld a, [$ff80] + push af + ld a, BANK(Unknown_1217b) + call BankswitchHome + ld a, [hli] + ld h, [hl] + ld l, a + pop af + call BankswitchHome + pop bc + jp [hl] +; 0x3b11 + +INCBIN "baserom.gbc",$3b11,$3bf5 - $3b11 Func_3bf5: ; 3bf5 (0:3bf5) ld a, [$ff80] diff --git a/engine/overworldmap.asm b/engine/overworldmap.asm index 4ef1e30..aa3a189 100755 --- a/engine/overworldmap.asm +++ b/engine/overworldmap.asm @@ -464,7 +464,10 @@ Func_11184: ; 11184 (4:5184) ret ; 0x111b3 -INCBIN "baserom.gbc",$111b3,$1229f - $111b3 +INCBIN "baserom.gbc",$111b3,$1217b - $111b3 + +Unknown_1217b: ; 1217b (4:617b) +INCBIN "baserom.gbc",$1217b,$1229f - $1217b Unknown_1229f: ; 1229f (4:629f) INCBIN "baserom.gbc",$1229f,$126d1 - $1229f @@ -11,15 +11,7 @@ SECTION "bank2",ROMX,BANK[$2] INCBIN "baserom.gbc",$8000,$4000 SECTION "bank3",ROMX,BANK[$3] -INCBIN "baserom.gbc",$c000,$c5d5 - $c000 -Func_c5d5: ; c5d5 (3:45d5) -INCBIN "baserom.gbc",$c5d5,$c5e9 - $c5d5 -Func_c5e9: ; c5e9 (3:45e9) -INCBIN "baserom.gbc",$c5e9,$ca6c - $c5e9 -Func_ca6c: ; ca6c (3:4a6c) -INCBIN "baserom.gbc",$ca6c,$cc42 - $ca6c -RST20: ; cc42 (3:4c42) -INCBIN "baserom.gbc",$cc42,$10000 - $cc42 +INCLUDE "engine/bank3.asm" SECTION "bank4",ROMX,BANK[$4] INCLUDE "engine/overworldmap.asm" |