diff options
author | Remy Oukaour <remy.oukaour@gmail.com> | 2017-12-14 00:36:24 -0500 |
---|---|---|
committer | Remy Oukaour <remy.oukaour@gmail.com> | 2017-12-14 00:36:24 -0500 |
commit | e48a401290e794854880f06fc230a369f37e6b9b (patch) | |
tree | dcad6cd5d1a7e62a2f2a92522c5619d41dc416cf /macros/coords.asm | |
parent | 8745915dbd38e9647e0b27d20cb73da0fdde353f (diff) |
Reorganize macros
Diffstat (limited to 'macros/coords.asm')
-rw-r--r-- | macros/coords.asm | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/macros/coords.asm b/macros/coords.asm new file mode 100644 index 000000000..2a672c3d0 --- /dev/null +++ b/macros/coords.asm @@ -0,0 +1,51 @@ +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 + ld \1, \4 + SCREEN_WIDTH * (\3) + (\2) + endc + ENDM + +dwcoord: MACRO + rept _NARG / 2 + dw TileMap + SCREEN_WIDTH * (\2) + (\1) + shift + shift + 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 + + +bgrows EQUS "* $20" ; SCREEN_WIDTH + +hlbgcoord EQUS "bgcoord hl," +debgcoord EQUS "bgcoord de," +bcbgcoord EQUS "bgcoord bc," + +bgcoord: MACRO +IF _NARG >= 4 + ld \1, \3 bgrows + \2 + \4 +ELSE + ld \1, \3 bgrows + \2 + VBGMap0 +ENDC +ENDM |