diff options
Diffstat (limited to 'src/engine/bank20.asm')
-rwxr-xr-x | src/engine/bank20.asm | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm new file mode 100755 index 0000000..11ca29a --- /dev/null +++ b/src/engine/bank20.asm @@ -0,0 +1,133 @@ +Func_80000: ; 80000 (20:4000) +INCBIN "baserom.gbc",$80000,$80028 - $80000 + +Func_80028: ; 80028 (20:4028) +INCBIN "baserom.gbc",$80028,$8020f - $80028 + +Func_8020f: ; 8020f (20:420f) + push bc + push af + ld bc, MapDataPointers + ld h, $0 + add hl, bc + ld c, [hl] + inc hl + ld b, [hl] + pop af + ld l, a + ld h, $0 + sla l + rl h + sla l + rl h + add hl, bc + pop bc + ret + +Func_80229: ; 80229 (20:4229) + ld a, [hli] + ld [$d4c4], a + ld a, [hli] + ld [$d4c5], a + ld a, [hli] + add $20 + ld [$d4c6], a + ret +; 0x80238 + +INCBIN "baserom.gbc",$80238,$8025b - $80238 + +Func_8025b: ; 8025b (20:425b) + push hl + ld l, $4 + call Func_8020f + call Func_80229 + ld a, [hl] + push af + ld [$d4c8], a + ld a, $10 + ld [$d4c7], a + call Func_80274 + pop af + pop hl + ret + +Func_80274: ; 80274 (20:4274) + call Func_8029f + jr asm_8027c + +Func_80279: ; 80279 (20:4279) + call Func_802bb +asm_8027c + push hl + push bc + push de + ld a, [$d4c8] + ld b, a + ld a, [$d4c7] + ld c, a + ld hl, $d4c2 + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $d4c4 + ld a, [hli] + ld h, [hl] + ld l, a + inc hl + inc hl + call Func_395a + call BankswitchVRAM_0 + pop de + pop bc + pop hl + ret + +Func_8029f: ; 8029f (20:429f) + ld a, [$d4ca] + swap a + push af + and $f0 + ld [$d4c2], a + pop af + and $f + add $80 + ld [$d4c3], a + ld a, [$d4cb] + and $1 + call BankswitchVRAM + ret + +Func_802bb: ; 802bb (20:42bb) + ld a, [$d4ca] + push af + xor $80 + ld [$d4ca], a + call Func_8029f + ld a, [$d4c3] + add $8 + ld [$d4c3], a + pop af + ld [$d4ca], a + ret +; 0x802d4 + +INCBIN "baserom.gbc",$802d4,$80418 - $802d4 + +Func_80418: ; 80418 (20:4418) +INCBIN "baserom.gbc",$80418,$80480 - $80418 + +Func_80480: ; 80480 (20:4480) +INCBIN "baserom.gbc",$80480,$804d8 - $80480 + +Func_804d8: ; 804d8 (20:44d8) +INCBIN "baserom.gbc",$804d8,$80b7a - $804d8 + +Func_80b7a: ; 80b7a (20:4b7a) +INCBIN "baserom.gbc",$80b7a,$80e5a - $80b7a + +Unknown_80e5a: ; 80e5a (20:4e5a) +INCBIN "baserom.gbc",$80e5a,$80e5d - $80e5a + +MapDataPointers: ; 80e5d (20:4e5d) +INCBIN "baserom.gbc",$80e5d,$84000 - $80e5d |