mirror of
https://github.com/irmen/prog8.git
synced 2025-09-25 08:25:32 +00:00
implemented cc for integer sin and cos variants
This commit is contained in:
@@ -747,147 +747,142 @@ func_sqrt16 .proc
|
||||
|
||||
|
||||
func_sin8_into_A .proc
|
||||
inx
|
||||
ldy P8ESTACK_LO,x
|
||||
lda func_sin8._sinecos8,y
|
||||
tay
|
||||
lda _sinecos8,y
|
||||
rts
|
||||
_sinecos8 .char trunc(127.0 * sin(range(256+64) * rad(360.0/256.0)))
|
||||
.pend
|
||||
|
||||
func_sin8u_into_A .proc
|
||||
inx
|
||||
ldy P8ESTACK_LO,x
|
||||
lda func_sin8u._sinecos8u,y
|
||||
tay
|
||||
lda _sinecos8u,y
|
||||
rts
|
||||
_sinecos8u .byte trunc(128.0 + 127.5 * sin(range(256+64) * rad(360.0/256.0)))
|
||||
.pend
|
||||
|
||||
func_sin16_into_AY .proc
|
||||
inx
|
||||
ldy P8ESTACK_LO,x
|
||||
lda func_sin16._sinecos8lo,y
|
||||
tay
|
||||
lda _sinecos8lo,y
|
||||
pha
|
||||
lda func_sin16._sinecos8hi,y
|
||||
lda _sinecos8hi,y
|
||||
tay
|
||||
pla
|
||||
rts
|
||||
_ := trunc(32767.0 * sin(range(256+64) * rad(360.0/256.0)))
|
||||
_sinecos8lo .byte <_
|
||||
_sinecos8hi .byte >_
|
||||
.pend
|
||||
|
||||
func_sin16u_into_AY .proc
|
||||
inx
|
||||
ldy P8ESTACK_LO,x
|
||||
lda func_sin16u._sinecos8ulo,y
|
||||
tay
|
||||
lda _sinecos8ulo,y
|
||||
pha
|
||||
lda func_sin16u._sinecos8uhi,y
|
||||
lda _sinecos8uhi,y
|
||||
tay
|
||||
pla
|
||||
rts
|
||||
_ := trunc(32768.0 + 32767.5 * sin(range(256+64) * rad(360.0/256.0)))
|
||||
_sinecos8ulo .byte <_
|
||||
_sinecos8uhi .byte >_
|
||||
.pend
|
||||
|
||||
func_cos8_into_A .proc
|
||||
inx
|
||||
ldy P8ESTACK_LO,x
|
||||
lda func_sin8._sinecos8+64,y
|
||||
tay
|
||||
lda func_sin8_into_A._sinecos8+64,y
|
||||
rts
|
||||
.pend
|
||||
|
||||
func_cos8u_into_A .proc
|
||||
inx
|
||||
ldy P8ESTACK_LO,x
|
||||
lda func_sin8u._sinecos8u+64,y
|
||||
tay
|
||||
lda func_sin8u_into_A._sinecos8u+64,y
|
||||
rts
|
||||
.pend
|
||||
|
||||
func_cos16_into_AY .proc
|
||||
inx
|
||||
ldy P8ESTACK_LO,x
|
||||
lda func_sin16._sinecos8lo+64,y
|
||||
tay
|
||||
lda func_sin16_into_AY._sinecos8lo+64,y
|
||||
pha
|
||||
lda func_sin16._sinecos8hi+64,y
|
||||
lda func_sin16_into_AY._sinecos8hi+64,y
|
||||
tay
|
||||
pla
|
||||
rts
|
||||
.pend
|
||||
|
||||
func_cos16u_into_AY .proc
|
||||
inx
|
||||
ldy P8ESTACK_LO,x
|
||||
lda func_sin16u._sinecos8ulo+64,y
|
||||
tay
|
||||
lda func_sin16u_into_AY._sinecos8ulo+64,y
|
||||
pha
|
||||
lda func_sin16u._sinecos8uhi+64,y
|
||||
lda func_sin16u_into_AY._sinecos8uhi+64,y
|
||||
tay
|
||||
pla
|
||||
rts
|
||||
.pend
|
||||
|
||||
func_sin8 .proc
|
||||
ldy P8ESTACK_LO+1,x
|
||||
lda _sinecos8,y
|
||||
sta P8ESTACK_LO+1,x
|
||||
func_sin8_cc .proc
|
||||
tay
|
||||
lda func_sin8_into_A._sinecos8,y
|
||||
sta P8ESTACK_LO,x
|
||||
dex
|
||||
rts
|
||||
_sinecos8 .char trunc(127.0 * sin(range(256+64) * rad(360.0/256.0)))
|
||||
.pend
|
||||
|
||||
func_sin8u .proc
|
||||
ldy P8ESTACK_LO+1,x
|
||||
func_sin8u_cc .proc
|
||||
tay
|
||||
lda _sinecos8u,y
|
||||
sta P8ESTACK_LO+1,x
|
||||
sta P8ESTACK_LO,x
|
||||
dex
|
||||
rts
|
||||
_sinecos8u .byte trunc(128.0 + 127.5 * sin(range(256+64) * rad(360.0/256.0)))
|
||||
.pend
|
||||
|
||||
func_sin16 .proc
|
||||
ldy P8ESTACK_LO+1,x
|
||||
lda _sinecos8lo,y
|
||||
func_sin16_cc .proc
|
||||
tay
|
||||
lda func_sin16_into_AY._sinecos8lo,y
|
||||
sta P8ESTACK_LO+1,x
|
||||
lda _sinecos8hi,y
|
||||
lda func_sin16_into_AY._sinecos8hi,y
|
||||
sta P8ESTACK_HI+1,x
|
||||
rts
|
||||
|
||||
_ := trunc(32767.0 * sin(range(256+64) * rad(360.0/256.0)))
|
||||
_sinecos8lo .byte <_
|
||||
_sinecos8hi .byte >_
|
||||
.pend
|
||||
|
||||
func_sin16u .proc
|
||||
ldy P8ESTACK_LO+1,x
|
||||
lda _sinecos8ulo,y
|
||||
func_sin16u_cc .proc
|
||||
tay
|
||||
lda func_sin16u_into_AY._sinecos8ulo,y
|
||||
sta P8ESTACK_LO+1,x
|
||||
lda _sinecos8uhi,y
|
||||
sta P8ESTACK_HI+1,x
|
||||
rts
|
||||
|
||||
_ := trunc(32768.0 + 32767.5 * sin(range(256+64) * rad(360.0/256.0)))
|
||||
_sinecos8ulo .byte <_
|
||||
_sinecos8uhi .byte >_
|
||||
.pend
|
||||
|
||||
func_cos8 .proc
|
||||
ldy P8ESTACK_LO+1,x
|
||||
lda func_sin8._sinecos8+64,y
|
||||
sta P8ESTACK_LO+1,x
|
||||
rts
|
||||
.pend
|
||||
|
||||
func_cos8u .proc
|
||||
ldy P8ESTACK_LO+1,x
|
||||
lda func_sin8u._sinecos8u+64,y
|
||||
sta P8ESTACK_LO+1,x
|
||||
rts
|
||||
.pend
|
||||
|
||||
func_cos16 .proc
|
||||
ldy P8ESTACK_LO+1,x
|
||||
lda func_sin16._sinecos8lo+64,y
|
||||
sta P8ESTACK_LO+1,x
|
||||
lda func_sin16._sinecos8hi+64,y
|
||||
lda func_sin16u_into_AY._sinecos8uhi,y
|
||||
sta P8ESTACK_HI+1,x
|
||||
rts
|
||||
.pend
|
||||
|
||||
func_cos16u .proc
|
||||
ldy P8ESTACK_LO+1,x
|
||||
lda func_sin16u._sinecos8ulo+64,y
|
||||
func_cos8_cc .proc
|
||||
tay
|
||||
lda func_sin8_into_A._sinecos8+64,y
|
||||
sta P8ESTACK_LO,x
|
||||
dex
|
||||
rts
|
||||
.pend
|
||||
|
||||
func_cos8u_cc .proc
|
||||
tay
|
||||
lda func_sin8u_into_A._sinecos8u+64,y
|
||||
sta P8ESTACK_LO,x
|
||||
dex
|
||||
rts
|
||||
.pend
|
||||
|
||||
func_cos16_cc .proc
|
||||
tay
|
||||
lda func_sin16_into_AY._sinecos8lo+64,y
|
||||
sta P8ESTACK_LO+1,x
|
||||
lda func_sin16u._sinecos8uhi+64,y
|
||||
lda func_sin16_into_AY._sinecos8hi+64,y
|
||||
sta P8ESTACK_HI+1,x
|
||||
rts
|
||||
.pend
|
||||
|
||||
func_cos16u_cc .proc
|
||||
tay
|
||||
lda func_sin16u_into_AY._sinecos8ulo+64,y
|
||||
sta P8ESTACK_LO+1,x
|
||||
lda func_sin16u_into_AY._sinecos8uhi+64,y
|
||||
sta P8ESTACK_HI+1,x
|
||||
rts
|
||||
.pend
|
||||
|
Reference in New Issue
Block a user