pokered/macros/farcall.asm

49 lines
678 B
NASM
Raw Normal View History

MACRO farcall
ld b, BANK(\1)
ld hl, \1
call Bankswitch
ENDM
MACRO callfar
ld hl, \1
ld b, BANK(\1)
call 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