summaryrefslogtreecommitdiff
path: root/home/farcall.asm
diff options
context:
space:
mode:
Diffstat (limited to 'home/farcall.asm')
-rw-r--r--home/farcall.asm8
1 files changed, 3 insertions, 5 deletions
diff --git a/home/farcall.asm b/home/farcall.asm
index ebec3881b..567272651 100644
--- a/home/farcall.asm
+++ b/home/farcall.asm
@@ -1,23 +1,21 @@
FarCall_de::
; Call a:de.
; Preserves other registers.
-
ldh [hTempBank], a
ldh a, [hROMBank]
push af
ldh a, [hTempBank]
rst Bankswitch
- call .de
+ call FarCall_JumpToDE
jr ReturnFarCall
-.de
+FarCall_JumpToDE:
push de
ret
FarCall_hl::
; Call a:hl.
; Preserves other registers.
-
ldh [hTempBank], a
ldh a, [hROMBank]
push af
@@ -29,7 +27,6 @@ FarCall_hl::
ReturnFarCall::
; We want to retain the contents of f.
; To do this, we can pop to bc instead of af.
-
ld a, b
ld [wFarCallBCBuffer], a
ld a, c
@@ -40,6 +37,7 @@ ReturnFarCall::
ld a, b
rst Bankswitch
+; Restore the contents of bc.
ld a, [wFarCallBCBuffer]
ld b, a
ld a, [wFarCallBCBuffer + 1]