mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-05-31 21:41:32 +00:00
fac: more opt
This commit is contained in:
parent
5457d2f482
commit
241706414a
|
@ -12,6 +12,7 @@
|
||||||
; 169 bytes = optimize multiply by 8
|
; 169 bytes = optimize multiply by 8
|
||||||
; 166 bytes = separate common sin code
|
; 166 bytes = separate common sin code
|
||||||
; 164 bytes = move more to common sin code
|
; 164 bytes = move more to common sin code
|
||||||
|
; 162 bytes = move more to common sin code
|
||||||
|
|
||||||
qint = $EBF2 ; convert FAC to 32-bit int?
|
qint = $EBF2 ; convert FAC to 32-bit int?
|
||||||
fadd = $E7BE ; FAC = (Y:A)+FAC
|
fadd = $E7BE ; FAC = (Y:A)+FAC
|
||||||
|
@ -115,9 +116,6 @@ make_sin_table:
|
||||||
ldx #0
|
ldx #0
|
||||||
sin_loop:
|
sin_loop:
|
||||||
stx OURX
|
stx OURX
|
||||||
txa
|
|
||||||
|
|
||||||
jsr float ; FAC = float(OURX)
|
|
||||||
|
|
||||||
sin_table_input1_smc:
|
sin_table_input1_smc:
|
||||||
lda #<one_input
|
lda #<one_input
|
||||||
|
@ -126,12 +124,8 @@ sin_table_input1_smc:
|
||||||
|
|
||||||
jsr sin_common
|
jsr sin_common
|
||||||
|
|
||||||
; ldx #<save
|
|
||||||
jsr movmf ; save FAC to mem
|
jsr movmf ; save FAC to mem
|
||||||
|
|
||||||
lda OURX
|
|
||||||
jsr float ; FAC = float(OURX) (again)
|
|
||||||
|
|
||||||
sin_table_input3_smc:
|
sin_table_input3_smc:
|
||||||
lda #<two_input
|
lda #<two_input
|
||||||
; always 16
|
; always 16
|
||||||
|
@ -141,7 +135,6 @@ sin_table_input3_smc:
|
||||||
|
|
||||||
; add first sine
|
; add first sine
|
||||||
txa
|
txa
|
||||||
; lda #<save
|
|
||||||
jsr fadd ; FAC=FAC+(previous result)
|
jsr fadd ; FAC=FAC+(previous result)
|
||||||
|
|
||||||
; add constant 47 or 38
|
; add constant 47 or 38
|
||||||
|
@ -174,6 +167,11 @@ sin_table_dest_smc:
|
||||||
; X = low byte for result multiplier
|
; X = low byte for result multiplier
|
||||||
sin_common:
|
sin_common:
|
||||||
stx TEMP1
|
stx TEMP1
|
||||||
|
pha
|
||||||
|
lda OURX
|
||||||
|
jsr float ; FAC = float(OURX) (again)
|
||||||
|
pla
|
||||||
|
|
||||||
ldy #>one_input ; high byte, assume always same
|
ldy #>one_input ; high byte, assume always same
|
||||||
|
|
||||||
jsr fmult ; FAC=FAC*(constant from RAM)
|
jsr fmult ; FAC=FAC*(constant from RAM)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user