aboutsummaryrefslogtreecommitdiffstats
path: root/macros/asserts.asm
diff options
context:
space:
mode:
authorvulcandth <vulcandth@gmail.com>2022-06-06 16:25:31 -0500
committerGitHub <noreply@github.com>2022-06-06 17:25:31 -0400
commit6b5be9129cabe72b9f775b02db1bf7e7169153da (patch)
treed92012450c70f90bf8086bed32ec3dc87b68b332 /macros/asserts.asm
parentImproved Virtual Console patch identifiers (#357) (diff)
downloadpokeyellow-6b5be9129cabe72b9f775b02db1bf7e7169153da.tar.gz
pokeyellow-6b5be9129cabe72b9f775b02db1bf7e7169153da.tar.xz
pokeyellow-6b5be9129cabe72b9f775b02db1bf7e7169153da.zip
RGBDS syntax updates (#358)
New MACRO and DEF syntax
Diffstat (limited to 'macros/asserts.asm')
-rw-r--r--macros/asserts.asm172
1 files changed, 86 insertions, 86 deletions
diff --git a/macros/asserts.asm b/macros/asserts.asm
index df2cdcd4..64e6bc7b 100644
--- a/macros/asserts.asm
+++ b/macros/asserts.asm
@@ -1,122 +1,122 @@
; Macros to verify assumptions about the data or code
-table_width: MACRO
-CURRENT_TABLE_WIDTH = \1
-IF _NARG == 2
-REDEF CURRENT_TABLE_START EQUS "\2"
-ELSE
-REDEF CURRENT_TABLE_START EQUS "._table_width\@"
-{CURRENT_TABLE_START}:
-ENDC
+MACRO table_width
+ DEF CURRENT_TABLE_WIDTH = \1
+ IF _NARG == 2
+ REDEF CURRENT_TABLE_START EQUS "\2"
+ ELSE
+ REDEF CURRENT_TABLE_START EQUS "._table_width\@"
+ {CURRENT_TABLE_START}:
+ ENDC
ENDM
-assert_table_length: MACRO
-x = \1
+MACRO assert_table_length
+ DEF x = \1
ASSERT x * CURRENT_TABLE_WIDTH == @ - {CURRENT_TABLE_START}, \
"{CURRENT_TABLE_START}: expected {d:x} entries, each {d:CURRENT_TABLE_WIDTH} bytes"
ENDM
-list_start: MACRO
-list_index = 0
-IF _NARG == 1
-REDEF CURRENT_LIST_START EQUS "\1"
-ELSE
-REDEF CURRENT_LIST_START EQUS "._list_start\@"
-{CURRENT_LIST_START}:
-ENDC
+MACRO list_start
+ DEF list_index = 0
+ IF _NARG == 1
+ REDEF CURRENT_LIST_START EQUS "\1"
+ ELSE
+ REDEF CURRENT_LIST_START EQUS "._list_start\@"
+ {CURRENT_LIST_START}:
+ ENDC
ENDM
-li: MACRO
+MACRO li
ASSERT !STRIN(\1, "@"), STRCAT("String terminator \"@\" in list entry: ", \1)
db \1, "@"
-list_index += 1
+ DEF list_index += 1
ENDM
-assert_list_length: MACRO
-x = \1
+MACRO assert_list_length
+ DEF x = \1
ASSERT x == list_index, \
"{CURRENT_LIST_START}: expected {d:x} entries, got {d:list_index}"
ENDM
-nybble_array: MACRO
-CURRENT_NYBBLE_ARRAY_VALUE = 0
-CURRENT_NYBBLE_ARRAY_LENGTH = 0
-IF _NARG == 1
-REDEF CURRENT_NYBBLE_ARRAY_START EQUS "\1"
-ELSE
-REDEF CURRENT_NYBBLE_ARRAY_START EQUS "._nybble_array\@"
-{CURRENT_NYBBLE_ARRAY_START}:
-ENDC
+MACRO nybble_array
+ DEF CURRENT_NYBBLE_ARRAY_VALUE = 0
+ DEF CURRENT_NYBBLE_ARRAY_LENGTH = 0
+ IF _NARG == 1
+ REDEF CURRENT_NYBBLE_ARRAY_START EQUS "\1"
+ ELSE
+ REDEF CURRENT_NYBBLE_ARRAY_START EQUS "._nybble_array\@"
+ {CURRENT_NYBBLE_ARRAY_START}:
+ ENDC
ENDM
-nybble: MACRO
+MACRO nybble
ASSERT 0 <= (\1) && (\1) < $10, "nybbles must be 0-15"
-CURRENT_NYBBLE_ARRAY_VALUE = (\1) | (CURRENT_NYBBLE_ARRAY_VALUE << 4)
-CURRENT_NYBBLE_ARRAY_LENGTH += 1
-IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 == 0
- db CURRENT_NYBBLE_ARRAY_VALUE
-CURRENT_NYBBLE_ARRAY_VALUE = 0
-ENDC
+ DEF CURRENT_NYBBLE_ARRAY_VALUE = (\1) | (CURRENT_NYBBLE_ARRAY_VALUE << 4)
+ DEF CURRENT_NYBBLE_ARRAY_LENGTH += 1
+ IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 == 0
+ db CURRENT_NYBBLE_ARRAY_VALUE
+ DEF CURRENT_NYBBLE_ARRAY_VALUE = 0
+ ENDC
ENDM
-end_nybble_array: MACRO
-IF CURRENT_NYBBLE_ARRAY_LENGTH % 2
- db CURRENT_NYBBLE_ARRAY_VALUE << 4
-ENDC
-IF _NARG == 1
-x = \1
- ASSERT x == CURRENT_NYBBLE_ARRAY_LENGTH, \
- "{CURRENT_NYBBLE_ARRAY_START}: expected {d:x} nybbles, got {d:CURRENT_NYBBLE_ARRAY_LENGTH}"
-x = (x + 1) / 2
- ASSERT x == @ - {CURRENT_NYBBLE_ARRAY_START}, \
- "{CURRENT_NYBBLE_ARRAY_START}: expected {d:x} bytes"
-ENDC
+MACRO end_nybble_array
+ IF CURRENT_NYBBLE_ARRAY_LENGTH % 2
+ db CURRENT_NYBBLE_ARRAY_VALUE << 4
+ ENDC
+ IF _NARG == 1
+ DEF x = \1
+ ASSERT x == CURRENT_NYBBLE_ARRAY_LENGTH, \
+ "{CURRENT_NYBBLE_ARRAY_START}: expected {d:x} nybbles, got {d:CURRENT_NYBBLE_ARRAY_LENGTH}"
+ DEF x = (x + 1) / 2
+ ASSERT x == @ - {CURRENT_NYBBLE_ARRAY_START}, \
+ "{CURRENT_NYBBLE_ARRAY_START}: expected {d:x} bytes"
+ ENDC
ENDM
-bit_array: MACRO
-CURRENT_BIT_ARRAY_VALUE = 0
-CURRENT_BIT_ARRAY_LENGTH = 0
-IF _NARG == 1
-REDEF CURRENT_BIT_ARRAY_START EQUS "\1"
-ELSE
-REDEF CURRENT_BIT_ARRAY_START EQUS "._bit_array\@"
-{CURRENT_BIT_ARRAY_START}:
-ENDC
+MACRO bit_array
+ DEF CURRENT_BIT_ARRAY_VALUE = 0
+ DEF CURRENT_BIT_ARRAY_LENGTH = 0
+ IF _NARG == 1
+ REDEF CURRENT_BIT_ARRAY_START EQUS "\1"
+ ELSE
+ REDEF CURRENT_BIT_ARRAY_START EQUS "._bit_array\@"
+ {CURRENT_BIT_ARRAY_START}:
+ ENDC
ENDM
-dbit: MACRO
+MACRO dbit
ASSERT (\1) == 0 || (\1) == 1, "bits must be 0 or 1"
-CURRENT_BIT_ARRAY_VALUE |= (\1) << (CURRENT_BIT_ARRAY_LENGTH % 8)
-CURRENT_BIT_ARRAY_LENGTH += 1
-IF CURRENT_BIT_ARRAY_LENGTH % 8 == 0
- db CURRENT_BIT_ARRAY_VALUE
-CURRENT_BIT_ARRAY_VALUE = 0
-ENDC
+ DEF CURRENT_BIT_ARRAY_VALUE |= (\1) << (CURRENT_BIT_ARRAY_LENGTH % 8)
+ DEF CURRENT_BIT_ARRAY_LENGTH += 1
+ IF CURRENT_BIT_ARRAY_LENGTH % 8 == 0
+ db CURRENT_BIT_ARRAY_VALUE
+ DEF CURRENT_BIT_ARRAY_VALUE = 0
+ ENDC
ENDM
-end_bit_array: MACRO
-IF CURRENT_BIT_ARRAY_LENGTH % 8
- db CURRENT_BIT_ARRAY_VALUE
-ENDC
-IF _NARG == 1
-x = \1
- ASSERT x == CURRENT_BIT_ARRAY_LENGTH, \
- "{CURRENT_BIT_ARRAY_START}: expected {d:x} bits, got {d:CURRENT_BIT_ARRAY_LENGTH}"
-x = (x + 7) / 8
- ASSERT x == @ - {CURRENT_BIT_ARRAY_START}, \
- "{CURRENT_BIT_ARRAY_START}: expected {d:x} bytes"
-ENDC
+MACRO end_bit_array
+ IF CURRENT_BIT_ARRAY_LENGTH % 8
+ db CURRENT_BIT_ARRAY_VALUE
+ ENDC
+ IF _NARG == 1
+ DEF x = \1
+ ASSERT x == CURRENT_BIT_ARRAY_LENGTH, \
+ "{CURRENT_BIT_ARRAY_START}: expected {d:x} bits, got {d:CURRENT_BIT_ARRAY_LENGTH}"
+ DEF x = (x + 7) / 8
+ ASSERT x == @ - {CURRENT_BIT_ARRAY_START}, \
+ "{CURRENT_BIT_ARRAY_START}: expected {d:x} bytes"
+ ENDC
ENDM
-def_grass_wildmons: MACRO
+MACRO def_grass_wildmons
;\1: encounter rate
-CURRENT_GRASS_WILDMONS_RATE = \1
-REDEF CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1"
+ DEF CURRENT_GRASS_WILDMONS_RATE = \1
+ REDEF CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1"
{CURRENT_GRASS_WILDMONS_LABEL}:
db \1
ENDM
-end_grass_wildmons: MACRO
+MACRO end_grass_wildmons
IF CURRENT_GRASS_WILDMONS_RATE == 0
ASSERT 1 == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \
"def_grass_wildmons {d:CURRENT_GRASS_WILDMONS_RATE}: expected 1 byte"
@@ -126,15 +126,15 @@ end_grass_wildmons: MACRO
ENDC
ENDM
-def_water_wildmons: MACRO
+MACRO def_water_wildmons
;\1: encounter rate
-CURRENT_WATER_WILDMONS_RATE = \1
-REDEF CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1"
+ DEF CURRENT_WATER_WILDMONS_RATE = \1
+ REDEF CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1"
{CURRENT_WATER_WILDMONS_LABEL}:
db \1
ENDM
-end_water_wildmons: MACRO
+MACRO end_water_wildmons
IF CURRENT_WATER_WILDMONS_RATE == 0
ASSERT 1 == @ - {CURRENT_WATER_WILDMONS_LABEL}, \
"def_water_wildmons {d:CURRENT_WATER_WILDMONS_RATE}: expected 1 byte"