optimize out a temporary
down to 11.076 ms/px on xe
This commit is contained in:
parent
70d2c91f03
commit
c4b98c7be2
1 changed files with 13 additions and 4 deletions
17
mandel.s
17
mandel.s
|
@ -393,6 +393,18 @@ viewport_oy:
|
|||
sta dest + 1
|
||||
.endmacro
|
||||
|
||||
; clobbers a, x
|
||||
.macro sqr8_add16 dest, arg
|
||||
ldx arg
|
||||
clc
|
||||
lda sqr_lobyte,x
|
||||
adc dest
|
||||
sta dest
|
||||
lda sqr_hibyte,x
|
||||
adc dest + 1
|
||||
sta dest + 1
|
||||
.endmacro
|
||||
|
||||
; lookup table for top byte -> PORTB value for bank-switch
|
||||
;.align 256 ; warning - if not aligned this will cost an extra cycle sometimes
|
||||
bank_switch_table:
|
||||
|
@ -720,7 +732,6 @@ arg2_pos:
|
|||
; h*h*256*256 + h*l*256 + h*l*256 + l*l
|
||||
|
||||
sqr8 result, arg
|
||||
;imul8 inter, arg, arg, xe
|
||||
lda #0
|
||||
sta result + 2
|
||||
sta result + 3
|
||||
|
@ -731,9 +742,7 @@ arg2_pos:
|
|||
add16 result + 1, result + 1, inter
|
||||
add_carry result + 3
|
||||
|
||||
sqr8 inter, arg + 1
|
||||
;imul8 inter, arg + 1, arg + 1, xe
|
||||
add16 result + 2, result + 2, inter
|
||||
sqr8_add16 result + 2, arg + 1
|
||||
|
||||
rts ; 6 cyc
|
||||
.endscope
|
||||
|
|
Loading…
Reference in a new issue