diff options
Diffstat (limited to 'macros.asm')
-rw-r--r-- | macros.asm | 60 |
1 files changed, 53 insertions, 7 deletions
@@ -28,19 +28,63 @@ const: MACRO const_value = const_value + 1 ENDM +dr: MACRO +INCBIN "baserom.gbc",\1,\2 - \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 + ld a,b + 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 + +callbs: MACRO + ld a, BANK(\1) + call BankswitchCommon + call \1 + ENDM + callba: MACRO ld b, BANK(\1) ld hl, \1 @@ -220,7 +264,7 @@ add_predef: MACRO ENDM predef_id: MACRO - ld a, (\1Predef - PredefPointers) / 3 + ld a, (\1Predef) ; - PredefPointers) / 3 ENDM predef: MACRO @@ -233,7 +277,10 @@ predef_jump: MACRO jp Predef ENDM - +predef_const: MACRO + const \1Predef + ENDM + add_tx_pre: MACRO \1_id:: dw \1 ENDM @@ -290,7 +337,6 @@ object: MACRO ENDC ENDM - ;1_channel EQU $00 ;2_channels EQU $40 ;3_channels EQU $80 |