diff options
Diffstat (limited to 'macros.asm')
-rw-r--r-- | macros.asm | 47 |
1 files changed, 43 insertions, 4 deletions
@@ -25,18 +25,57 @@ const_value = const_value + 1 ENDM +homecall_jump: MACRO + ld a, [H_LOADEDROMBANK] + push af + ld a, BANK(\1) + call BankswitchCommon + call \1 + pop af + jp BankswitchCommon + ENDM + +homecall_jump_sf: MACRO + ld a, [H_LOADEDROMBANK] + push af + ld a, BANK(\1) + call BankswitchCommon + call \1 + pop bc + jp BankswitchCommon + ENDM + homecall: MACRO ld a, [H_LOADEDROMBANK] push af ld a, BANK(\1) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a + call BankswitchCommon call \1 pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a + call BankswitchCommon ENDM +homecall_sf: MACRO ; homecall but save flags by popping into bc instead of af + ld a, [H_LOADEDROMBANK] + push af + ld a, BANK(\1) + call BankswitchCommon + call \1 + pop bc + ld a,b + call BankswitchCommon + ENDM + +switchbank: MACRO + ld a, BANK(\1) + call BankswitchCommon + ENDM + +callsb: MACRO + ld a, BANK(\1) + call BankswitchCommon + call \1 + callba: MACRO ld b, BANK(\1) ld hl, \1 |