(screen.tal) Optimizations
This commit is contained in:
parent
708d418833
commit
3b3386b544
|
@ -59,45 +59,35 @@ BRK
|
||||||
|
|
||||||
@on-frame ( -> )
|
@on-frame ( -> )
|
||||||
|
|
||||||
|
AUTO-X
|
||||||
.count LDZ2 INC2 [ DUP2 ] .count STZ2
|
.count LDZ2 INC2 [ DUP2 ] .count STZ2
|
||||||
|
|
||||||
.center/x LDZ2 #0048 ++ .Screen/x DEO2
|
.center/x LDZ2 #0048 ++ .Screen/x DEO2
|
||||||
.center/y LDZ2 #0050 -- .Screen/y DEO2
|
.center/y LDZ2 #0050 -- .Screen/y DEO2
|
||||||
|
|
||||||
( color ) #01 STH
|
|
||||||
|
|
||||||
SWP
|
SWP
|
||||||
DUP #04 SFT [ #00 SWP ] #30 SFT2 ;font-hex ++ .Screen/addr DEO2
|
DUP #04 SFT [ #00 SWP ] #30 SFT2 ;font-hex ++ .Screen/addr DEO2
|
||||||
( draw ) STHkr .Screen/sprite DEO
|
#01 .Screen/sprite DEO
|
||||||
#0f AND [ #00 SWP ] #30 SFT2 ;font-hex ++ .Screen/addr DEO2
|
#0f AND [ #00 SWP ] #30 SFT2 ;font-hex ++ .Screen/addr DEO2
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
#01 .Screen/sprite DEO
|
||||||
( draw ) STHkr .Screen/sprite DEO
|
|
||||||
DUP #04 SFT [ #00 SWP ] #30 SFT2 ;font-hex ++ .Screen/addr DEO2
|
DUP #04 SFT [ #00 SWP ] #30 SFT2 ;font-hex ++ .Screen/addr DEO2
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
#01 .Screen/sprite DEO
|
||||||
( draw ) STHkr .Screen/sprite DEO
|
|
||||||
#0f AND [ #00 SWP ] #30 SFT2 ;font-hex ++ .Screen/addr DEO2
|
#0f AND [ #00 SWP ] #30 SFT2 ;font-hex ++ .Screen/addr DEO2
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
#01 .Screen/sprite DEO
|
||||||
( draw ) STHr .Screen/sprite DEO
|
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
@draw-table ( -- )
|
@draw-table ( -- )
|
||||||
|
|
||||||
#10 #00
|
.center/x LDZ2 #0040 -- .Screen/x DEO2
|
||||||
&loop
|
|
||||||
DUP #30 SFT #00 SWP ;font-hex ++ .Screen/addr DEO2
|
|
||||||
( x-axis )
|
|
||||||
DUP #30 SFT #00 SWP
|
|
||||||
.center/x LDZ2 #0040 -- ++ .Screen/x DEO2
|
|
||||||
.center/y LDZ2 #0050 -- .Screen/y DEO2
|
.center/y LDZ2 #0050 -- .Screen/y DEO2
|
||||||
( draw ) #01 .Screen/sprite DEO
|
;font-hex .Screen/addr DEO2
|
||||||
( y-axis )
|
#f6 .Screen/auto DEO
|
||||||
DUP #30 SFT #00 SWP
|
#01 .Screen/sprite DEO
|
||||||
.center/y LDZ2 #0040 -- ++ .Screen/y DEO2
|
|
||||||
.center/x LDZ2 #0050 -- .Screen/x DEO2
|
.center/x LDZ2 #0050 -- .Screen/x DEO2
|
||||||
( draw ) #01 .Screen/sprite DEO
|
.center/y LDZ2 #0040 -- .Screen/y DEO2
|
||||||
INC GTHk ,&loop JCN
|
;font-hex .Screen/addr DEO2
|
||||||
POP2
|
#f5 .Screen/auto DEO
|
||||||
|
#01 .Screen/sprite DEO
|
||||||
|
AUTO-NONE
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
|
@ -125,7 +115,7 @@ RTN
|
||||||
[ .center/y LDZ2 #0040 -- ++ ] STH2
|
[ .center/y LDZ2 #0040 -- ++ ] STH2
|
||||||
( x ) DUP #03 AND [ #00 SWP ] #40 SFT2 #0040 ++
|
( x ) DUP #03 AND [ #00 SWP ] #40 SFT2 #0040 ++
|
||||||
[ .center/x LDZ2 #0008 ++ ++ ]
|
[ .center/x LDZ2 #0008 ++ ++ ]
|
||||||
STH2r STHr #00 ;draw-circle JSR2
|
STH2r STHr #00 ,draw-circle JSR
|
||||||
INC GTHk ,&loop JCN
|
INC GTHk ,&loop JCN
|
||||||
POP2
|
POP2
|
||||||
|
|
||||||
|
@ -140,12 +130,29 @@ RTN
|
||||||
[ .center/y LDZ2 ++ ] STH2
|
[ .center/y LDZ2 ++ ] STH2
|
||||||
( x ) DUP #03 AND [ #00 SWP ] #40 SFT2 #0040 ++
|
( x ) DUP #03 AND [ #00 SWP ] #40 SFT2 #0040 ++
|
||||||
[ .center/x LDZ2 #0008 ++ ++ ]
|
[ .center/x LDZ2 #0008 ++ ++ ]
|
||||||
STH2r STHr #80 ;draw-circle JSR2
|
STH2r STHr #80 ,draw-circle JSR
|
||||||
INC GTHk ,&loop JCN
|
INC GTHk ,&loop JCN
|
||||||
POP2
|
POP2
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
|
@draw-circle ( x* y* color depth -- )
|
||||||
|
|
||||||
|
ADD STH
|
||||||
|
;preview_icn .Screen/addr DEO2
|
||||||
|
.Screen/y DEO2
|
||||||
|
.Screen/x DEO2
|
||||||
|
AUTO-X
|
||||||
|
STHr .Screen/sprite DEOk
|
||||||
|
AUTO-Y
|
||||||
|
SWP #10 + SWP DEOk
|
||||||
|
.Screen/x DEI2k #0008 -- ROT DEO2
|
||||||
|
AUTO-X
|
||||||
|
SWP #10 + SWP DEOk
|
||||||
|
SWP #10 + SWP DEO
|
||||||
|
|
||||||
|
RTN
|
||||||
|
|
||||||
@draw-autobytes ( -- )
|
@draw-autobytes ( -- )
|
||||||
|
|
||||||
.center/x LDZ2 #0090 ++ .Screen/x DEO2
|
.center/x LDZ2 #0090 ++ .Screen/x DEO2
|
||||||
|
@ -174,34 +181,14 @@ RTN
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
@draw-circle ( x* y* color depth -- )
|
|
||||||
|
|
||||||
ADD STH
|
|
||||||
;preview_icn .Screen/addr DEO2
|
|
||||||
.Screen/y DEO2
|
|
||||||
.Screen/x DEO2
|
|
||||||
|
|
||||||
#00 STHkr + .Screen/sprite DEO
|
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
|
||||||
#10 STHkr + .Screen/sprite DEO
|
|
||||||
.Screen/x DEI2 #0008 -- .Screen/x DEO2
|
|
||||||
.Screen/y DEI2 #0008 ++ .Screen/y DEO2
|
|
||||||
#20 STHkr + .Screen/sprite DEO
|
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
|
||||||
#30 STHr + .Screen/sprite DEO
|
|
||||||
|
|
||||||
RTN
|
|
||||||
|
|
||||||
@draw-pixels ( -- )
|
@draw-pixels ( -- )
|
||||||
|
|
||||||
.center/y LDZ2 #0040 -- .Screen/y DEO2
|
.center/y LDZ2 #0040 -- .Screen/y DEO2
|
||||||
.center/x LDZ2 #0048 ++ .Screen/x DEO2
|
.center/x LDZ2 #0048 ++ .Screen/x DEO2
|
||||||
|
AUTO-X
|
||||||
#00 .Screen/pixel DEO
|
#00 .Screen/pixel DEO
|
||||||
.center/x LDZ2 #0049 ++ .Screen/x DEO2
|
|
||||||
#01 .Screen/pixel DEO
|
#01 .Screen/pixel DEO
|
||||||
.center/x LDZ2 #004a ++ .Screen/x DEO2
|
|
||||||
#02 .Screen/pixel DEO
|
#02 .Screen/pixel DEO
|
||||||
.center/x LDZ2 #004b ++ .Screen/x DEO2
|
|
||||||
#03 .Screen/pixel DEO
|
#03 .Screen/pixel DEO
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
Loading…
Reference in New Issue