summaryrefslogtreecommitdiff
path: root/macros/farcall.asm
diff options
context:
space:
mode:
Diffstat (limited to 'macros/farcall.asm')
-rw-r--r--macros/farcall.asm37
1 files changed, 37 insertions, 0 deletions
diff --git a/macros/farcall.asm b/macros/farcall.asm
new file mode 100644
index 00000000..885f8c66
--- /dev/null
+++ b/macros/farcall.asm
@@ -0,0 +1,37 @@
+farcall EQUS "callba"
+
+callba: MACRO
+ ld b, BANK(\1)
+ ld hl, \1
+ call Bankswitch
+ENDM
+
+callab: MACRO
+ ld hl, \1
+ ld b, BANK(\1)
+ call Bankswitch
+ENDM
+
+jpba: MACRO
+ ld b, BANK(\1)
+ ld hl, \1
+ jp Bankswitch
+ENDM
+
+jpab: MACRO
+ ld hl, \1
+ ld b, BANK(\1)
+ jp Bankswitch
+ENDM
+
+homecall: MACRO
+ ld a, [hLoadedROMBank]
+ push af
+ ld a, BANK(\1)
+ ld [hLoadedROMBank], a
+ ld [MBC1RomBank], a
+ call \1
+ pop af
+ ld [hLoadedROMBank], a
+ ld [MBC1RomBank], a
+ENDM