Move around some more macros.

This commit is contained in:
yenatch
2015-01-20 14:26:16 -08:00
parent 9303752e3f
commit f036cdf13b
6 changed files with 101 additions and 107 deletions

View File

@@ -1,3 +1,29 @@
map: MACRO
; This is a silly hack to get around an rgbds bug.
; Ideally:
; db GROUP_\1, MAP_\1
\1\@ EQUS "GROUP_\1"
\1\@2 EQUS "MAP_\1"
db \1\@, \1\@2
ENDM
roam_map: MACRO
; A map and an arbitrary number of some more maps.
map \1
db \2
rept \2
map \3
shift
endr
db 0
ENDM
person_event: macro
db \1 ; sprite
db \2 ; y

21
macros/predef.asm Normal file
View File

@@ -0,0 +1,21 @@
add_predef: MACRO
\1Predef::
dw \1
db BANK(\1)
ENDM
predef_id: MACRO
; Some functions load the predef id
; without immediately calling Predef.
ld a, (\1Predef - PredefPointers) / 3
ENDM
predef: MACRO
predef_id \1
call Predef
ENDM
predef_jump: MACRO
predef_id \1
jp Predef
ENDM

17
macros/rst.asm Normal file
View File

@@ -0,0 +1,17 @@
FarCall EQU $08
Bankswitch EQU $10
JumpTable EQU $28
farcall: MACRO ; bank, address
ld a, BANK(\1)
ld hl, \1
rst FarCall
ENDM
callba EQUS "farcall"
callab: MACRO ; address, bank
ld hl, \1
ld a, BANK(\1)
rst FarCall
ENDM

View File

@@ -1,3 +1,35 @@
note: MACRO
dn (\1), (\2) - 1
ENDM
sound: macro
db \1 ; duration
db \2 ; intensity
dw \3 ; frequency
endm
noise: macro
db \1 ; duration
db \2 ; intensity
db \3 ; frequency
endm
; pitch
__ EQU 0
C_ EQU 1
C# EQU 2
D_ EQU 3
D# EQU 4
E_ EQU 5
F_ EQU 6
F# EQU 7
G_ EQU 8
G# EQU 9
A_ EQU 10
A# EQU 11
B_ EQU 12
octave: macro
db $d8 - (\1)
endm