Minor optimizations to demos
This commit is contained in:
parent
4bac8e9e30
commit
514b2f7f58
2
build.sh
2
build.sh
|
@ -42,7 +42,7 @@ then
|
|||
fi
|
||||
|
||||
echo "Assembling.."
|
||||
./bin/uxnasm projects/demos/bifurcan.usm bin/boot.rom
|
||||
./bin/uxnasm projects/demos/drum-rack.usm bin/boot.rom
|
||||
|
||||
echo "Running.."
|
||||
if [ "${2}" = '--cli' ];
|
||||
|
|
|
@ -56,9 +56,9 @@
|
|||
|0100 ( -> )
|
||||
|
||||
( theme )
|
||||
#4ff2 .System/r DEO2
|
||||
#2f8c .System/g DEO2
|
||||
#afb6 .System/b DEO2
|
||||
#0fe5 .System/r DEO2
|
||||
#0fc5 .System/g DEO2
|
||||
#0f25 .System/b DEO2
|
||||
|
||||
( vectors )
|
||||
;on-control .Controller/vector DEO2
|
||||
|
@ -142,7 +142,7 @@
|
|||
( draw mixer )
|
||||
OVR #04 / ;draw-mixer JSR2
|
||||
( incr ) SWP #01 + SWP
|
||||
DUP2 < ,&draw-pads JCN
|
||||
LTHk ,&draw-pads JCN
|
||||
POP2
|
||||
|
||||
;draw-octave JSR2
|
||||
|
@ -160,7 +160,7 @@ BRK
|
|||
( output ) .Audio0/output STHr #10 * + DEI
|
||||
;draw-monitor JSR2
|
||||
( incr ) SWP #01 + SWP
|
||||
DUP2 < ,&loop JCN
|
||||
LTHk ,&loop JCN
|
||||
POP2
|
||||
|
||||
BRK
|
||||
|
@ -359,7 +359,7 @@ RTN
|
|||
.Screen/x DEI2 #0001 ++ .Screen/x DEO2
|
||||
( draw ) #02 .Screen/color DEO
|
||||
( incr ) SWP #01 + SWP
|
||||
DUP2 < ,&loop JCN
|
||||
LTHk ,&loop JCN
|
||||
POP2
|
||||
POP2r
|
||||
|
||||
|
@ -476,7 +476,7 @@ RTN
|
|||
.Screen/x DEI2 #0002 -- .Screen/x DEO2
|
||||
.Screen/y DEI2 #0002 ++ .Screen/y DEO2
|
||||
( incr ) SWP #01 + SWP
|
||||
DUP2 < ,&loop JCN
|
||||
LTHk ,&loop JCN
|
||||
POP2
|
||||
|
||||
POPr
|
||||
|
@ -494,7 +494,7 @@ RTN
|
|||
( draw ) DUPr STHr .Screen/color DEO
|
||||
( incr ) .Screen/addr DEI2 #0008 ++ .Screen/addr DEO2
|
||||
( incr ) SWP2 #0008 ++ SWP2
|
||||
OVR2 OVR2 << ,&loop JCN
|
||||
LTH2k ,&loop JCN
|
||||
POP2 POP2
|
||||
POPr
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ BRK
|
|||
&clear-loop
|
||||
OVR2 #0000 SWP2 STA2
|
||||
SWP2 #0002 ++ SWP2
|
||||
OVR2 OVR2 !! ,&clear-loop JCN
|
||||
NEQ2k ,&clear-loop JCN
|
||||
POP2 POP2
|
||||
|
||||
;run-grid JSR2
|
||||
|
@ -88,7 +88,7 @@ BRK
|
|||
OVR2 DUP2 LDA2
|
||||
SWP2 #2000 -- STA2
|
||||
SWP2 #0002 ++ SWP2
|
||||
OVR2 OVR2 !! ,©-loop JCN
|
||||
NEQ2k ,©-loop JCN
|
||||
POP2 POP2
|
||||
|
||||
;draw-grid JSR2
|
||||
|
@ -154,10 +154,10 @@ BRK
|
|||
OVR TOS #0002 ** .anchor/x LDZ2 ++ .Screen/x DEO2
|
||||
OVR DUPr STHr ,get-cell JSR INCR .Screen/color DEO
|
||||
SWP INCR SWP
|
||||
DUP2 ! ,&hor JCN
|
||||
NEQk ,&hor JCN
|
||||
POP2 POPr
|
||||
SWP INCR SWP
|
||||
DUP2 ! ,&ver JCN
|
||||
NEQk ,&ver JCN
|
||||
POP2
|
||||
|
||||
RTN
|
||||
|
@ -214,10 +214,10 @@ RTN
|
|||
( state ) STH2r ;get-cell JSR2
|
||||
,run-cell JSR
|
||||
SWP INCR SWP
|
||||
DUP2 ! ,&hor JCN
|
||||
NEQk ,&hor JCN
|
||||
POP2 POPr
|
||||
SWP INCR SWP
|
||||
DUP2 ! ,&ver JCN
|
||||
NEQk ,&ver JCN
|
||||
POP2
|
||||
|
||||
RTN
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
( polycat )
|
||||
|
||||
%RTN { JMP2r }
|
||||
%+ { ADD2 } %- { SUB2 }
|
||||
%* { MUL2 } %/ { DIV2 }
|
||||
%> { GTH2 }
|
||||
|
||||
( devices )
|
||||
|
||||
|
@ -28,8 +25,8 @@
|
|||
#0caf .System/b DEO2
|
||||
|
||||
( find center )
|
||||
.Screen/width DEI2 #0002 / #0008 - .cat/x STZ2
|
||||
.Screen/height DEI2 #0004 / #0003 * #0018 - .cat/y STZ2
|
||||
.Screen/width DEI2 #0002 DIV2 #0008 SUB2 .cat/x STZ2
|
||||
.Screen/height DEI2 #0004 DIV2 #0003 MUL2 #0018 SUB2 .cat/y STZ2
|
||||
|
||||
( vectors )
|
||||
;on-mouse .Mouse/vector DEO2
|
||||
|
@ -44,8 +41,8 @@ BRK
|
|||
|
||||
;draw-cursor JSR2
|
||||
|
||||
.Mouse/x DEI2 .cat/x LDZ2 > #20 MUL
|
||||
.Mouse/y DEI2 .cat/y LDZ2 > #40 MUL
|
||||
.Mouse/x DEI2 .cat/x LDZ2 GTH2 #20 MUL
|
||||
.Mouse/y DEI2 .cat/y LDZ2 GTH2 #40 MUL
|
||||
ADD #00 SWP ;draw-eye JSR2
|
||||
|
||||
BRK
|
||||
|
@ -67,11 +64,11 @@ BRK
|
|||
|
||||
( ears )
|
||||
.cat/y LDZ2 .Screen/y DEO2
|
||||
.cat/x LDZ2 DUP2 STH2 #0008 - .Screen/x DEO2
|
||||
.cat/x LDZ2 DUP2 STH2 #0008 SUB2 .Screen/x DEO2
|
||||
;ears .Screen/addr DEO2
|
||||
#41 .Screen/color DEO
|
||||
STH2r .Screen/x DEO2
|
||||
;ears #0010 + .Screen/addr DEO2
|
||||
;ears #0010 ADD2 .Screen/addr DEO2
|
||||
#41 .Screen/color DEO
|
||||
|
||||
#0000 ,draw-eye JSR
|
||||
|
@ -81,24 +78,24 @@ RTN
|
|||
|
||||
@draw-eye ( quad* -- )
|
||||
|
||||
.cat/y LDZ2 #0008 + .Screen/y DEO2
|
||||
.cat/x LDZ2 DUP2 STH2 #0008 - .Screen/x DEO2
|
||||
DUP2 ;eye + .Screen/addr DEO2
|
||||
.cat/y LDZ2 #0008 ADD2 .Screen/y DEO2
|
||||
.cat/x LDZ2 DUP2 STH2 #0008 SUB2 .Screen/x DEO2
|
||||
DUP2 ;eye ADD2 .Screen/addr DEO2
|
||||
( draw ) #41 .Screen/color DEO
|
||||
STH2r .Screen/x DEO2
|
||||
;eye #0010 + + .Screen/addr DEO2
|
||||
;eye #0010 ADD2 ADD2 .Screen/addr DEO2
|
||||
( draw ) #41 .Screen/color DEO
|
||||
|
||||
RTN
|
||||
|
||||
@draw-tail ( frame* -- )
|
||||
|
||||
.cat/y LDZ2 #0010 + .Screen/y DEO2
|
||||
.cat/x LDZ2 DUP2 STH2 #0008 - .Screen/x DEO2
|
||||
.cat/y LDZ2 #0010 ADD2 .Screen/y DEO2
|
||||
.cat/x LDZ2 DUP2 STH2 #0008 SUB2 .Screen/x DEO2
|
||||
;body .Screen/addr DEO2
|
||||
( draw ) #41 .Screen/color DEO
|
||||
STH2r .Screen/x DEO2
|
||||
#0010 * ;body #0010 + + .Screen/addr DEO2
|
||||
#0010 MUL2 ;body #0010 ADD2 ADD2 .Screen/addr DEO2
|
||||
( draw ) #41 .Screen/color DEO
|
||||
|
||||
RTN
|
||||
|
@ -126,17 +123,17 @@ RTN
|
|||
|
||||
@draw-ground ( -- )
|
||||
|
||||
.cat/y LDZ2 #0018 + .Screen/y DEO2
|
||||
.cat/x LDZ2 #0010 - .Screen/x DEO2
|
||||
.cat/y LDZ2 #0018 ADD2 .Screen/y DEO2
|
||||
.cat/x LDZ2 #0010 SUB2 .Screen/x DEO2
|
||||
;ground .Screen/addr DEO2
|
||||
|
||||
#00 #10
|
||||
&loop
|
||||
( draw ) #21 .Screen/color DEO
|
||||
( sety ) .Screen/addr DEI2 #0008 + .Screen/addr DEO2
|
||||
( setx ) .Screen/x DEI2 #0008 + .Screen/x DEO2
|
||||
( sety ) .Screen/addr DEI2 #0008 ADD2 .Screen/addr DEO2
|
||||
( setx ) .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2
|
||||
( incr ) SWP #01 ADD SWP
|
||||
DUP2 LTH ,&loop JCN
|
||||
LTHk ,&loop JCN
|
||||
POP2
|
||||
|
||||
RTN
|
||||
|
|
|
@ -125,7 +125,7 @@ RTN
|
|||
&draw-hor
|
||||
( draw ) #01 .Screen/color DEO
|
||||
( incr ) SWP2 #0002 ADD2 DUP2 .Screen/x DEO2 SWP2
|
||||
OVR2 OVR2 LTH2 ,&draw-hor JCN
|
||||
LTH2k ,&draw-hor JCN
|
||||
POP2 POP2
|
||||
|
||||
( draw ver line )
|
||||
|
@ -134,7 +134,7 @@ RTN
|
|||
&draw-ver
|
||||
( draw ) #02 .Screen/color DEO
|
||||
( incr ) SWP2 #0002 ADD2 DUP2 .Screen/y DEO2 SWP2
|
||||
OVR2 OVR2 LTH2 ,&draw-ver JCN
|
||||
LTH2k ,&draw-ver JCN
|
||||
POP2 POP2
|
||||
|
||||
( draw blending modes )
|
||||
|
@ -145,7 +145,7 @@ RTN
|
|||
( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2
|
||||
( draw ) OVR .Screen/color DEO
|
||||
( incr ) SWP #01 ADD SWP
|
||||
DUP2 LTH ,&draw-pixel1 JCN
|
||||
LTHk ,&draw-pixel1 JCN
|
||||
POP POP
|
||||
#0018 .Screen/y DEO2
|
||||
#00 #08
|
||||
|
@ -153,7 +153,7 @@ RTN
|
|||
( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2
|
||||
( draw ) OVR #08 ADD .Screen/color DEO
|
||||
( incr ) SWP #01 ADD SWP
|
||||
DUP2 LTH ,&draw-pixel2 JCN
|
||||
LTHk ,&draw-pixel2 JCN
|
||||
POP POP
|
||||
#0020 .Screen/y DEO2
|
||||
#00 #08
|
||||
|
@ -161,7 +161,7 @@ RTN
|
|||
( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2
|
||||
( draw ) OVR #20 ADD .Screen/color DEO
|
||||
( incr ) SWP #01 ADD SWP
|
||||
DUP2 LTH ,&draw-icn1 JCN
|
||||
LTHk ,&draw-icn1 JCN
|
||||
POP POP
|
||||
#0028 .Screen/y DEO2
|
||||
#00 #08
|
||||
|
@ -169,7 +169,7 @@ RTN
|
|||
( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2
|
||||
( draw ) OVR #28 ADD .Screen/color DEO
|
||||
( incr ) SWP #01 ADD SWP
|
||||
DUP2 LTH ,&draw-icn2 JCN
|
||||
LTHk ,&draw-icn2 JCN
|
||||
POP POP
|
||||
#0030 .Screen/y DEO2
|
||||
#00 #08
|
||||
|
@ -177,7 +177,7 @@ RTN
|
|||
( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2
|
||||
( draw ) OVR #40 ADD .Screen/color DEO
|
||||
( incr ) SWP #01 ADD SWP
|
||||
DUP2 LTH ,&draw-chr1 JCN
|
||||
LTHk ,&draw-chr1 JCN
|
||||
POP POP
|
||||
#0038 .Screen/y DEO2
|
||||
#00 #08
|
||||
|
@ -185,7 +185,7 @@ RTN
|
|||
( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2
|
||||
( draw ) OVR #48 ADD .Screen/color DEO
|
||||
( incr ) SWP #01 ADD SWP
|
||||
DUP2 LTH ,&draw-chr2 JCN
|
||||
LTHk ,&draw-chr2 JCN
|
||||
POP POP
|
||||
|
||||
RTN
|
||||
|
@ -293,10 +293,10 @@ RTN
|
|||
( save ) OVR2 .Screen/x DEO2
|
||||
( draw ) .color LDZ .Screen/color DEO
|
||||
( incr ) SWP2 #0001 ADD2 SWP2
|
||||
OVR2 OVR2 LTH2 ,&hor JCN
|
||||
LTH2k ,&hor JCN
|
||||
POP2 POP2 STH2r STH2r
|
||||
( incr ) SWP2 #0001 ADD2 SWP2
|
||||
OVR2 OVR2 LTH2 ,&ver JCN
|
||||
LTH2k ,&ver JCN
|
||||
POP2 POP2 POP2 POP2
|
||||
|
||||
RTN
|
||||
|
|
Loading…
Reference in New Issue