mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
Use fixed-point DIV function for a generalized sine_wave table macro
This commit is contained in:
parent
d11cac9e83
commit
b0d84c64a6
@ -41,8 +41,8 @@ maskbits: MACRO
|
||||
; example usage in rejection sampling:
|
||||
; .loop
|
||||
; call Random
|
||||
; maskbits 30
|
||||
; cp 30
|
||||
; maskbits 26
|
||||
; cp 26
|
||||
; jr nc, .loop
|
||||
x = 1
|
||||
rept 8
|
||||
|
@ -112,10 +112,11 @@ ENDM
|
||||
|
||||
|
||||
sine_wave: MACRO
|
||||
x = 0.0
|
||||
; \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 = x + 1024.0 ; a circle has 65536.0 "degrees"
|
||||
x = x + DIV(32768, \1) ; a circle has 65536 "degrees"
|
||||
endr
|
||||
ENDM
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user