mirror of
https://git.sr.ht/~rabbits/uxn
synced 2024-11-23 14:25:10 +00:00
Fixed leak in piano
This commit is contained in:
parent
fd9612d656
commit
4bac8e9e30
3 changed files with 25 additions and 26 deletions
2
build.sh
2
build.sh
|
@ -42,7 +42,7 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Assembling.."
|
echo "Assembling.."
|
||||||
./bin/uxnasm projects/demos/piano.usm bin/boot.rom
|
./bin/uxnasm projects/demos/bifurcan.usm bin/boot.rom
|
||||||
|
|
||||||
echo "Running.."
|
echo "Running.."
|
||||||
if [ "${2}" = '--cli' ];
|
if [ "${2}" = '--cli' ];
|
||||||
|
|
|
@ -4,10 +4,7 @@
|
||||||
)
|
)
|
||||||
|
|
||||||
%RTN { JMP2r }
|
%RTN { JMP2r }
|
||||||
%8+ { #0008 ADD2 }
|
|
||||||
%2/ { #0002 DIV2 }
|
|
||||||
%MOD { DUP2 DIV MUL SUB }
|
%MOD { DUP2 DIV MUL SUB }
|
||||||
%INC { #01 ADD }
|
|
||||||
%TOS { #00 SWP }
|
%TOS { #00 SWP }
|
||||||
|
|
||||||
( devices )
|
( devices )
|
||||||
|
@ -41,8 +38,8 @@
|
||||||
;on-mouse .Mouse/vector DEO2
|
;on-mouse .Mouse/vector DEO2
|
||||||
|
|
||||||
( find center )
|
( find center )
|
||||||
.Screen/width DEI2 2/ .center/x STZ2
|
.Screen/width DEI2 #0002 DIV2 .center/x STZ2
|
||||||
.Screen/height DEI2 2/ .center/y STZ2
|
.Screen/height DEI2 #0002 DIV2 .center/y STZ2
|
||||||
|
|
||||||
( background )
|
( background )
|
||||||
;tiles ;cover-pattern JSR2
|
;tiles ;cover-pattern JSR2
|
||||||
|
@ -66,7 +63,7 @@ BRK
|
||||||
;draw-cursor JSR2
|
;draw-cursor JSR2
|
||||||
|
|
||||||
.Mouse/state DEI #00 EQU ,&no-touch JCN
|
.Mouse/state DEI #00 EQU ,&no-touch JCN
|
||||||
( incr ) .style LDZ INC #03 MOD .style STZ
|
( incr ) .style LDZ #01 ADD #04 MOD .style STZ
|
||||||
( bg ) ;tiles .style LDZ #10 MUL TOS ADD2 ;cover-pattern JSR2
|
( bg ) ;tiles .style LDZ #10 MUL TOS ADD2 ;cover-pattern JSR2
|
||||||
( fg ) ;redraw JSR2
|
( fg ) ;redraw JSR2
|
||||||
( release ) #00 .Mouse/state DEO
|
( release ) #00 .Mouse/state DEO
|
||||||
|
@ -102,7 +99,7 @@ BRK
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
@draw-number ( x y n -- )
|
@draw-number ( x* y* n -- )
|
||||||
|
|
||||||
STH
|
STH
|
||||||
( save pos ) .anchor/y STZ2 .anchor/x STZ2
|
( save pos ) .anchor/y STZ2 .anchor/x STZ2
|
||||||
|
@ -116,14 +113,14 @@ RTN
|
||||||
( set style ) .style LDZ #10 MUL TOS ADD2
|
( set style ) .style LDZ #10 MUL TOS ADD2
|
||||||
.Screen/addr DEO2
|
.Screen/addr DEO2
|
||||||
( draw ) #21 .Screen/color DEO
|
( draw ) #21 .Screen/color DEO
|
||||||
( incr ) SWP INC SWP
|
( incr ) SWP #01 ADD SWP
|
||||||
DUP2 LTH ,&loop JCN
|
DUP2 LTH ,&loop JCN
|
||||||
POP2
|
POP2
|
||||||
POPr
|
POPr
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
@cover-pattern ( addr -- )
|
@cover-pattern ( addr* -- )
|
||||||
|
|
||||||
( load ) .Screen/addr DEO2
|
( load ) .Screen/addr DEO2
|
||||||
#0000 .Screen/height DEI2
|
#0000 .Screen/height DEI2
|
||||||
|
@ -133,11 +130,11 @@ RTN
|
||||||
&hor
|
&hor
|
||||||
( save ) OVR2 .Screen/x DEO2
|
( save ) OVR2 .Screen/x DEO2
|
||||||
( draw ) #21 .Screen/color DEO
|
( draw ) #21 .Screen/color DEO
|
||||||
( incr ) SWP2 8+ SWP2
|
( incr ) SWP2 #0008 ADD2 SWP2
|
||||||
OVR2 OVR2 LTH2 ,&hor JCN
|
LTH2k ,&hor JCN
|
||||||
POP2 POP2
|
POP2 POP2
|
||||||
( incr ) SWP2 8+ SWP2
|
( incr ) SWP2 #0008 ADD2 SWP2
|
||||||
OVR2 OVR2 LTH2 ,&ver JCN
|
LTH2k ,&ver JCN
|
||||||
POP2 POP2
|
POP2 POP2
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
@ -174,4 +171,6 @@ RTN
|
||||||
0718 2040 4080 8080
|
0718 2040 4080 8080
|
||||||
0101 0102 0204 18e0
|
0101 0102 0204 18e0
|
||||||
0808 0810 e304 0808
|
0808 0810 e304 0808
|
||||||
0808 0804 e310 0808 ]
|
0808 0804 e310 0808
|
||||||
|
0000 0000 0000 0001
|
||||||
|
ffff ffff ffff ffff ]
|
||||||
|
|
|
@ -5,11 +5,12 @@
|
||||||
%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 }
|
%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 }
|
||||||
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }
|
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }
|
||||||
|
|
||||||
%RTN { JMP2r }
|
%RTN { JMP2r }
|
||||||
%TOS { #00 SWP }
|
%TOS { #00 SWP }
|
||||||
%MOD { DUP2 / * - }
|
%MOD { DUP2 / * - }
|
||||||
%LTS2 { #8000 ++ SWP2 #8000 ++ >> }
|
%LTS2 { #8000 ++ SWP2 #8000 ++ >> }
|
||||||
%GTS2 { #8000 ++ SWP2 #8000 ++ << }
|
%GTS2 { #8000 ++ SWP2 #8000 ++ << }
|
||||||
|
%INCR { SWP #01 + SWP }
|
||||||
|
|
||||||
%WAVEFORM { #1000 }
|
%WAVEFORM { #1000 }
|
||||||
|
|
||||||
|
@ -107,7 +108,7 @@ BRK
|
||||||
.adsr-view/x2 LDZ2 #003a -- #0002 ++ .Screen/x DEO2
|
.adsr-view/x2 LDZ2 #003a -- #0002 ++ .Screen/x DEO2
|
||||||
OVR #10 SWP - .Audio0/output DEI #04 SFT < .Screen/color DEO
|
OVR #10 SWP - .Audio0/output DEI #04 SFT < .Screen/color DEO
|
||||||
.Screen/y DEI2 #0002 ++ .Screen/y DEO2
|
.Screen/y DEI2 #0002 ++ .Screen/y DEO2
|
||||||
( incr ) SWP #01 + SWP
|
( incr ) INCR
|
||||||
LTHk ,&loop JCN
|
LTHk ,&loop JCN
|
||||||
POP2
|
POP2
|
||||||
|
|
||||||
|
@ -116,7 +117,6 @@ BRK
|
||||||
@on-control ( -> )
|
@on-control ( -> )
|
||||||
|
|
||||||
( clear last cursor )
|
( clear last cursor )
|
||||||
#fff8 .Screen/addr DEO2
|
|
||||||
.pointer/x LDZ2 .Screen/x DEO2
|
.pointer/x LDZ2 .Screen/x DEO2
|
||||||
.pointer/y LDZ2 .Screen/y DEO2
|
.pointer/y LDZ2 .Screen/y DEO2
|
||||||
#30 .Screen/color DEO
|
#30 .Screen/color DEO
|
||||||
|
@ -252,7 +252,7 @@ BRK
|
||||||
|
|
||||||
@play ( pitch -- )
|
@play ( pitch -- )
|
||||||
|
|
||||||
DUP .octave LDZ #0c * + .Audio0/pitch DEO
|
.octave LDZ #0c * + .Audio0/pitch DEO
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
|
@ -313,7 +313,7 @@ RTN
|
||||||
( draw ) STHrk .Screen/color DEO
|
( draw ) STHrk .Screen/color DEO
|
||||||
( incr ) .Screen/addr DEI2 #0008 ++ .Screen/addr DEO2
|
( incr ) .Screen/addr DEI2 #0008 ++ .Screen/addr DEO2
|
||||||
( incr ) SWP2 #0008 ++ SWP2
|
( incr ) SWP2 #0008 ++ SWP2
|
||||||
OVR2 OVR2 << ,&loop JCN
|
LTH2k ,&loop JCN
|
||||||
POP2 POP2
|
POP2 POP2
|
||||||
POPr
|
POPr
|
||||||
|
|
||||||
|
@ -370,7 +370,7 @@ RTN
|
||||||
TOS #0004 // .wave-view/y1 LDZ2 ++ .Screen/y DEO2
|
TOS #0004 // .wave-view/y1 LDZ2 ++ .Screen/y DEO2
|
||||||
.Screen/x DEI2 #0001 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0001 ++ .Screen/x DEO2
|
||||||
( draw ) OVR .Audio0/length DEI2 SWP POP > #02 * #01 + .Screen/color DEO
|
( draw ) OVR .Audio0/length DEI2 SWP POP > #02 * #01 + .Screen/color DEO
|
||||||
( incr ) SWP #01 + SWP
|
( incr ) INCR
|
||||||
LTHk ,&loop JCN
|
LTHk ,&loop JCN
|
||||||
POP2
|
POP2
|
||||||
|
|
||||||
|
@ -392,7 +392,7 @@ RTN
|
||||||
OVR2 .Screen/y DEO2
|
OVR2 .Screen/y DEO2
|
||||||
( draw ) STHrk .Screen/color DEO
|
( draw ) STHrk .Screen/color DEO
|
||||||
( incr ) SWP2 #0001 ++ SWP2
|
( incr ) SWP2 #0001 ++ SWP2
|
||||||
OVR2 OVR2 << ,&loop JCN
|
LTH2k ,&loop JCN
|
||||||
POP2 POP2
|
POP2 POP2
|
||||||
POPr
|
POPr
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue