mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
split macros out from constants.asm into macros.asm
This commit is contained in:
parent
dad64b1d9d
commit
1ecb307824
@ -23,99 +23,7 @@ FarCall EQU $08
|
||||
Bankswitch EQU $10
|
||||
JumpTable EQU $28
|
||||
|
||||
|
||||
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
|
||||
INCLUDE "macros.asm"
|
||||
|
||||
|
||||
NONE EQU 0
|
||||
|
95
macros.asm
Normal file
95
macros.asm
Normal file
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user