diff options
Diffstat (limited to 'macros')
-rwxr-xr-x | macros/code.asm | 2 | ||||
-rw-r--r-- | macros/farcall.asm | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/macros/code.asm b/macros/code.asm index 8507b1ad..e0b3e9c9 100755 --- a/macros/code.asm +++ b/macros/code.asm @@ -4,7 +4,7 @@ lb: MACRO ; r, hi, lo ld \1, ((\2) & $ff) << 8 + ((\3) & $ff) ENDM -ldPal: MACRO +ldpal: MACRO ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5 ENDM diff --git a/macros/farcall.asm b/macros/farcall.asm index 122e5207..93f8f1ac 100644 --- a/macros/farcall.asm +++ b/macros/farcall.asm @@ -33,3 +33,16 @@ homecall: MACRO ldh [hLoadedROMBank], a ld [MBC1RomBank], a ENDM + +homecall_sf: MACRO ; 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 |