summaryrefslogtreecommitdiff
path: root/macros/data.asm
diff options
context:
space:
mode:
Diffstat (limited to 'macros/data.asm')
-rw-r--r--macros/data.asm9
1 files changed, 9 insertions, 0 deletions
diff --git a/macros/data.asm b/macros/data.asm
index 1f3c87a0..58e8f740 100644
--- a/macros/data.asm
+++ b/macros/data.asm
@@ -69,3 +69,12 @@ REPT _NARG
SHIFT
ENDR
ENDM
+
+sine_table: MACRO
+; \1 samples of sin(x) from x=0 to x<32768 (pi radians)
+x = 0
+REPT \1
+ dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up
+x += DIV(32768, \1) ; a circle has 65536 "degrees"
+ENDR
+ENDM