summaryrefslogtreecommitdiff
path: root/macros.asm
diff options
context:
space:
mode:
Diffstat (limited to 'macros.asm')
-rw-r--r--macros.asm60
1 files changed, 53 insertions, 7 deletions
diff --git a/macros.asm b/macros.asm
index 9efb69e5..76951248 100644
--- a/macros.asm
+++ b/macros.asm
@@ -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