diff options
author | Bryan Bishop <kanzure@gmail.com> | 2013-09-05 11:30:12 -0700 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2013-09-05 11:30:12 -0700 |
commit | 40b4c87db7e9472d99186b67bdec3d48a2132e73 (patch) | |
tree | b0ea0d40187c103dbb9f8bd185ee5f40770b5b53 /macros.asm | |
parent | 4e36d85ee966f8f22531183679549061263b2166 (diff) | |
parent | 60dde1d03ed43de1e7ef777e4198963620c73958 (diff) |
Merge pull request #188 from yenatch/split-common
recomment and split out a ton of common asm (bank 0)
Diffstat (limited to 'macros.asm')
-rw-r--r-- | macros.asm | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/macros.asm b/macros.asm new file mode 100644 index 000000000..e5291ade5 --- /dev/null +++ b/macros.asm @@ -0,0 +1,95 @@ +; rgbds macros + +dwb: MACRO + dw \1 + db \2 + ENDM + +dbw: MACRO + db \1 + dw \2 + ENDM + +dn: MACRO + db \1 << 4 + \2 + ENDM + +dt: MACRO ; three-byte (big-endian) + db (\1 >> 16) & $ff + db (\1 >> 8) & $ff + db \1 & $ff + ENDM + +bigdw: MACRO ; big-endian word + dw ((\1)/$100) + (((\1)&$ff)*$100) + ENDM + +callab: MACRO ; address, bank + ld hl, \1 + ld a, BANK(\1) + rst FarCall + ENDM + +callba: MACRO ; bank, address + ld a, BANK(\1) + ld hl, \1 + rst FarCall + ENDM + +TX_RAM: MACRO + db 1 + dw \1 + ENDM + +TX_FAR: MACRO + db $16 + dw \1 + db BANK(\1) + ENDM + +RGB: MACRO + dw ((\3 << 10) | (\2 << 5) | (\1)) + ENDM + +note: MACRO + db \1 + ENDM + +; It's better to use *coord than FuncCoord. +FuncCoord: MACRO +Coord = $c4a0 + 20 * \2 + \1 + ENDM + +bccoord: MACRO + FuncCoord \1, \2 + ld bc, Coord + ENDM + +decoord: MACRO + FuncCoord \1, \2 + ld de, Coord + ENDM + +hlcoord: MACRO + FuncCoord \1, \2 + ld hl, Coord + ENDM + + +; pic animations +frame: MACRO + db \1 + db \2 + ENDM +setrepeat: MACRO + db $fe + db \1 + ENDM +dorepeat: MACRO + db $fd + db \1 + ENDM +endanim: MACRO + db $ff + ENDM + |