mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08: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:
|
; example usage in rejection sampling:
|
||||||
; .loop
|
; .loop
|
||||||
; call Random
|
; call Random
|
||||||
; maskbits 30
|
; maskbits 26
|
||||||
; cp 30
|
; cp 26
|
||||||
; jr nc, .loop
|
; jr nc, .loop
|
||||||
x = 1
|
x = 1
|
||||||
rept 8
|
rept 8
|
||||||
|
@ -112,10 +112,11 @@ ENDM
|
|||||||
|
|
||||||
|
|
||||||
sine_wave: MACRO
|
sine_wave: MACRO
|
||||||
x = 0.0
|
; \1 samples of sin(x) from x=0 to x<32768 (pi radians)
|
||||||
|
x = 0
|
||||||
rept \1
|
rept \1
|
||||||
dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up
|
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
|
endr
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user