summaryrefslogtreecommitdiff
path: root/macros.asm
diff options
context:
space:
mode:
authordannye <corrnondacqb@yahoo.com>2016-07-27 20:21:56 -0500
committerdannye <corrnondacqb@yahoo.com>2016-07-27 20:21:56 -0500
commit4992ae2233d55a045e5e6803bc76972704c1a082 (patch)
tree8efc9999443e670f37579c328e6a956005a6b0bd /macros.asm
parent9984527c2c40cf3e08625098c5ad353f0daaf554 (diff)
Macros to automate music and sound effect headers
Diffstat (limited to 'macros.asm')
-rw-r--r--macros.asm47
1 files changed, 47 insertions, 0 deletions
diff --git a/macros.asm b/macros.asm
index 43ffa0ad..d5159005 100644
--- a/macros.asm
+++ b/macros.asm
@@ -406,6 +406,53 @@ CH5 EQU 5
CH6 EQU 6
CH7 EQU 7
+CH0_ EQU 1 << CH0
+CH1_ EQU 1 << CH1
+CH2_ EQU 1 << CH2
+CH3_ EQU 1 << CH3
+CH4_ EQU 1 << CH4
+CH5_ EQU 1 << CH5
+CH6_ EQU 1 << CH6
+CH7_ EQU 1 << CH7
+
+music: MACRO
+ db ((((\2 & CH0_) >> CH0) + ((\2 & CH1_) >> CH1) + ((\2 & CH2_) >> CH2) + ((\2 & CH3_) >> CH3)) - 1) << 6 | CH0
+ IF \2 & CH0_
+ dw \1_Ch0
+ ENDC
+ IF \2 & CH1_
+ db CH1
+ dw \1_Ch1
+ ENDC
+ IF \2 & CH2_
+ db CH2
+ dw \1_Ch2
+ ENDC
+ IF \2 & CH3_
+ db CH3
+ dw \1_Ch3
+ ENDC
+ENDM
+
+sfx: MACRO
+ IF \2 & CH4_
+ db ((((\2 & CH4_) >> CH4) + ((\2 & CH5_) >> CH5) + ((\2 & CH6_) >> CH6) + ((\2 & CH7_) >> CH7)) - 1) << 6 | CH4
+ dw \1_Ch4
+ ENDC
+ IF \2 & CH5_
+ db CH5
+ dw \1_Ch5
+ ENDC
+ IF \2 & CH6_
+ db CH6
+ dw \1_Ch6
+ ENDC
+ IF \2 & CH7_
+ db CH7
+ dw \1_Ch7
+ ENDC
+ENDM
+
unknownsfx0x10: MACRO
db $10
db \1