kep-hack/macros/farcall.asm
2024-01-29 16:43:33 +13:00

49 lines
678 B
NASM

MACRO farcall
ld b, BANK(\1)
ld hl, \1
rst _Bankswitch
ENDM
MACRO callfar
ld hl, \1
ld b, BANK(\1)
rst _Bankswitch
ENDM
MACRO farjp
ld b, BANK(\1)
ld hl, \1
jp Bankswitch
ENDM
MACRO jpfar
ld hl, \1
ld b, BANK(\1)
jp Bankswitch
ENDM
MACRO homecall
ldh a, [hLoadedROMBank]
push af
ld a, BANK(\1)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call \1
pop af
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
ENDM
MACRO homecall_sf ; homecall but save flags by popping into bc instead of af
ldh a, [hLoadedROMBank]
push af
ld a, BANK(\1)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call \1
pop bc
ld a, b
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
ENDM