summaryrefslogtreecommitdiff
path: root/src/macros
diff options
context:
space:
mode:
Diffstat (limited to 'src/macros')
-rw-r--r--src/macros/code.asm32
-rw-r--r--src/macros/constants.asm19
-rw-r--r--src/macros/data.asm19
3 files changed, 38 insertions, 32 deletions
diff --git a/src/macros/code.asm b/src/macros/code.asm
index 276bd6a..9e8a4ce 100644
--- a/src/macros/code.asm
+++ b/src/macros/code.asm
@@ -1,20 +1,3 @@
-INCROM: MACRO
-INCBIN "baserom.gbc", \1, \2 - \1
-ENDM
-
-const_def: MACRO
-if _NARG > 0
-const_value = \1
-else
-const_value = 0
-endc
-ENDM
-
-const: MACRO
-\1 EQU const_value
-const_value = const_value + 1
-ENDM
-
lb: MACRO ; r, hi, lo
ld \1, (\2) << 8 + ((\3) & $ff)
ENDM
@@ -39,19 +22,6 @@ else
endc
ENDM
-; the rst $38 handler is a single ret
+; the rst $38 handler is a single ret instruction
; probably used for testing purposes during development
debug_ret EQUS "rst $38"
-
-emptybank: MACRO
- rept $4000
- db $ff
- endr
-ENDM
-
-textpointer: MACRO
- dw ((\1 + ($4000 * (BANK(\1) - 1))) - (TextOffsets + ($4000 * (BANK(TextOffsets) - 1)))) & $ffff
- db ((\1 + ($4000 * (BANK(\1) - 1))) - (TextOffsets + ($4000 * (BANK(TextOffsets) - 1)))) >> 16
- const \1_
-GLOBAL \1_
-ENDM
diff --git a/src/macros/constants.asm b/src/macros/constants.asm
new file mode 100644
index 0000000..3fffd10
--- /dev/null
+++ b/src/macros/constants.asm
@@ -0,0 +1,19 @@
+const_def: MACRO
+if _NARG > 0
+const_value = \1
+else
+const_value = 0
+endc
+ENDM
+
+const: MACRO
+\1 EQU const_value
+const_value = const_value + 1
+ENDM
+
+deck_const: MACRO
+if const_value > 1
+\1_ID EQU const_value + -2
+endc
+ const \1
+ENDM
diff --git a/src/macros/data.asm b/src/macros/data.asm
index 2fd4b7d..80978b7 100644
--- a/src/macros/data.asm
+++ b/src/macros/data.asm
@@ -1,3 +1,7 @@
+INCROM: MACRO
+INCBIN "baserom.gbc", \1, \2 - \1
+ENDM
+
dn: MACRO
db \1 << 4 | \2
ENDM
@@ -40,7 +44,20 @@ rgb: MACRO
dw (\3 << 10 | \2 << 5 | \1)
ENDM
-; macros used in data/cards.asm, but might be useful elsewhere eventually
+emptybank: MACRO
+ rept $4000
+ db $ff
+ endr
+ENDM
+
+; poketcg specific macros below
+
+textpointer: MACRO
+ dw ((\1 + ($4000 * (BANK(\1) - 1))) - (TextOffsets + ($4000 * (BANK(TextOffsets) - 1)))) & $ffff
+ db ((\1 + ($4000 * (BANK(\1) - 1))) - (TextOffsets + ($4000 * (BANK(TextOffsets) - 1)))) >> 16
+ const \1_
+GLOBAL \1_
+ENDM
energy: MACRO
en = 0