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