mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
split farcall functions into engine/farcall.asm
This commit is contained in:
parent
1eab7959f4
commit
715a19fd59
55
main.asm
55
main.asm
@ -2906,60 +2906,7 @@ Function2d43: ; 2d43
|
|||||||
; 2d54
|
; 2d54
|
||||||
|
|
||||||
|
|
||||||
FarCall_de: ; 2d54
|
INCLUDE "engine/farcall.asm"
|
||||||
; Call a:de.
|
|
||||||
; Preserves other registers.
|
|
||||||
|
|
||||||
ld [hBuffer], a
|
|
||||||
ld a, [hROMBank]
|
|
||||||
push af
|
|
||||||
ld a, [hBuffer]
|
|
||||||
rst Bankswitch
|
|
||||||
call .de
|
|
||||||
jr ReturnFarCall
|
|
||||||
|
|
||||||
.de
|
|
||||||
push de
|
|
||||||
ret
|
|
||||||
; 2d63
|
|
||||||
|
|
||||||
|
|
||||||
FarCall_hl: ; 2d63
|
|
||||||
; Call a:hl.
|
|
||||||
; Preserves other registers.
|
|
||||||
|
|
||||||
ld [hBuffer], a
|
|
||||||
ld a, [hROMBank]
|
|
||||||
push af
|
|
||||||
ld a, [hBuffer]
|
|
||||||
rst Bankswitch
|
|
||||||
call Function2d82
|
|
||||||
; 2d6e
|
|
||||||
|
|
||||||
ReturnFarCall: ; 2d6e
|
|
||||||
; We want to retain the contents of f.
|
|
||||||
; To do this, we can pop to bc instead of af.
|
|
||||||
|
|
||||||
ld a, b
|
|
||||||
ld [$cfb9], a
|
|
||||||
ld a, c
|
|
||||||
ld [$cfba], a
|
|
||||||
|
|
||||||
; Restore the working bank.
|
|
||||||
pop bc
|
|
||||||
ld a, b
|
|
||||||
rst Bankswitch
|
|
||||||
|
|
||||||
ld a, [$cfb9]
|
|
||||||
ld b, a
|
|
||||||
ld a, [$cfba]
|
|
||||||
ld c, a
|
|
||||||
ret
|
|
||||||
; 2d82
|
|
||||||
|
|
||||||
Function2d82: ; 2d82
|
|
||||||
jp [hl]
|
|
||||||
; 2d83
|
|
||||||
|
|
||||||
|
|
||||||
Predef: ; 2d83
|
Predef: ; 2d83
|
||||||
|
Loading…
Reference in New Issue
Block a user