ref: 715a19fd593d10f3cd2e13d0dbc3f7713ebea4cf
parent: 1eab7959f4458dafe488997772881ac94e24da26
author: yenatch <[email protected]>
date: Tue Sep 3 17:15:03 EDT 2013
split farcall functions into engine/farcall.asm
--- a/main.asm
+++ b/main.asm
@@ -2906,60 +2906,7 @@
; 2d54
-FarCall_de: ; 2d54
-; 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
+INCLUDE "engine/farcall.asm"
Predef: ; 2d83