diff options
Diffstat (limited to 'home/farcall.asm')
-rw-r--r-- | home/farcall.asm | 8 |
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] |