summaryrefslogtreecommitdiff
path: root/macros.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2015-10-26 01:34:08 -0400
committeryenatch <yenatch@gmail.com>2015-10-26 01:34:08 -0400
commite638cdb74cabff705d4879568e74b8ed43da64e1 (patch)
tree02869ee6058c1b7d00d554af86e6eb6b197cd660 /macros.asm
parentb8da3874bbc06e858b7b2d7a602fe33baa046e93 (diff)
parent0d17d4a75866d053f5e0b48c66deb2508071d98b (diff)
Merge remote-tracking branch 'origin/master' into pngs-kind-of
Conflicts: INSTALL.md
Diffstat (limited to 'macros.asm')
-rw-r--r--macros.asm28
1 files changed, 28 insertions, 0 deletions
diff --git a/macros.asm b/macros.asm
index 7ed3ecf36..16b298268 100644
--- a/macros.asm
+++ b/macros.asm
@@ -78,17 +78,28 @@ bigdw: MACRO ; big-endian word
dx 2, \1
ENDM
+dba: MACRO ; dbw bank, address
+ dbw BANK(\1), \1
+ ENDM
+
+dab: MACRO ; dwb address, bank
+ dwb \1, BANK(\1)
+ ENDM
lb: MACRO ; r, hi, lo
ld \1, (\2) << 8 + (\3)
ENDM
+ln: MACRO ; r, hi, lo
+ ld \1, (\2) << 4 + (\3)
+ ENDM
bccoord equs "coord bc,"
decoord equs "coord de,"
hlcoord equs "coord hl,"
coord: MACRO
+; register, x, y[, origin]
if _NARG < 4
ld \1, TileMap + SCREEN_WIDTH * (\3) + (\2)
else
@@ -104,6 +115,21 @@ dwcoord: MACRO
endr
ENDM
+ldcoord_a: MACRO
+ if _NARG < 3
+ ld [TileMap + SCREEN_WIDTH * (\2) + (\1)], a
+ else
+ ld [\3 + SCREEN_WIDTH * (\2) + (\1)], a
+ endc
+ ENDM
+
+lda_coord: MACRO
+ if _NARG < 3
+ ld a, [TileMap + SCREEN_WIDTH * (\2) + (\1)]
+ else
+ ld a, [\3 + SCREEN_WIDTH * (\2) + (\1)]
+ endc
+ ENDM
; pic animations
frame: MACRO
@@ -142,3 +168,5 @@ bcd: MACRO
shift
endr
ENDM
+
+tile EQUS "+ $10 *"