mirror of https://git.sr.ht/~rabbits/uxn
Cleaned example files
This commit is contained in:
parent
76a38e3db9
commit
a4c8066043
2
build.sh
2
build.sh
|
@ -42,7 +42,7 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Assembling.."
|
echo "Assembling.."
|
||||||
./bin/uxnasm projects/demos/bifurcan.usm bin/boot.rom
|
./bin/uxnasm projects/demos/polycat.usm bin/boot.rom
|
||||||
|
|
||||||
echo "Running.."
|
echo "Running.."
|
||||||
if [ "${2}" = '--cli' ];
|
if [ "${2}" = '--cli' ];
|
||||||
|
|
|
@ -53,7 +53,6 @@ BRK
|
||||||
.DateTime/second DEI .last LDZ NEQ #01 JCN [ BRK ]
|
.DateTime/second DEI .last LDZ NEQ #01 JCN [ BRK ]
|
||||||
|
|
||||||
.DateTime/second DEI .last STZ
|
.DateTime/second DEI .last STZ
|
||||||
|
|
||||||
;redraw JSR2
|
;redraw JSR2
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
@ -107,7 +106,7 @@ RTN
|
||||||
&loop
|
&loop
|
||||||
( save-x ) OVR #03 MOD TOS #0008 MUL2 .anchor/x LDZ2 ADD2 .Screen/x DEO2
|
( save-x ) OVR #03 MOD TOS #0008 MUL2 .anchor/x LDZ2 ADD2 .Screen/x DEO2
|
||||||
( save-y ) OVR #03 DIV TOS #0008 MUL2 .anchor/y LDZ2 ADD2 .Screen/y DEO2
|
( save-y ) OVR #03 DIV TOS #0008 MUL2 .anchor/y LDZ2 ADD2 .Screen/y DEO2
|
||||||
( get digit* ) OVR DUPr STHr #02 MUL TOS ;digits ADD2 LDA2
|
( get digit* ) OVR STHkr #02 MUL TOS ;digits ADD2 LDA2
|
||||||
( get bit ) ROT #0e SWP SUB TOS SFT2 #0001 AND2
|
( get bit ) ROT #0e SWP SUB TOS SFT2 #0001 AND2
|
||||||
( set tile ) #0008 MUL2 ;tiles ADD2
|
( set tile ) #0008 MUL2 ;tiles ADD2
|
||||||
( set style ) .style LDZ #10 MUL TOS ADD2
|
( set style ) .style LDZ #10 MUL TOS ADD2
|
||||||
|
|
|
@ -156,7 +156,7 @@ BRK
|
||||||
&loop
|
&loop
|
||||||
OVR STH
|
OVR STH
|
||||||
( x ) .mix-view/x1 LDZ2 #0074 ++
|
( x ) .mix-view/x1 LDZ2 #0074 ++
|
||||||
( y ) .mix-view/y1 LDZ2 PAD-HEIGHT DUPr STHr TOS ** ++ #0002 ++
|
( y ) .mix-view/y1 LDZ2 PAD-HEIGHT STHkr TOS ** ++ #0002 ++
|
||||||
( output ) .Audio0/output STHr #10 * + DEI
|
( output ) .Audio0/output STHr #10 * + DEI
|
||||||
;draw-monitor JSR2
|
;draw-monitor JSR2
|
||||||
( incr ) SWP #01 + SWP
|
( incr ) SWP #01 + SWP
|
||||||
|
@ -246,40 +246,40 @@ BRK
|
||||||
( knob ) .Mouse/x DEI2 .mix-view/x1 LDZ2 -- #0010 // TOB
|
( knob ) .Mouse/x DEI2 .mix-view/x1 LDZ2 -- #0010 // TOB
|
||||||
( adsr )
|
( adsr )
|
||||||
DUP #00 ! ,&no-a JCN
|
DUP #00 ! ,&no-a JCN
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] DEI
|
.Audio0/adsr [ STHkr #10 * + ] DEI
|
||||||
#10 .Mouse/state DEI #10 = #e0 * + +
|
#10 .Mouse/state DEI #10 = #e0 * + +
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] DEO &no-a
|
.Audio0/adsr [ STHkr #10 * + ] DEO &no-a
|
||||||
DUP #01 ! ,&no-d JCN
|
DUP #01 ! ,&no-d JCN
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] DEI
|
.Audio0/adsr [ STHkr #10 * + ] DEI
|
||||||
DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr +
|
DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr +
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] DEO &no-d
|
.Audio0/adsr [ STHkr #10 * + ] DEO &no-d
|
||||||
DUP #02 ! ,&no-s JCN
|
DUP #02 ! ,&no-s JCN
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] #01 + DEI
|
.Audio0/adsr [ STHkr #10 * + ] #01 + DEI
|
||||||
#10 .Mouse/state DEI #10 = #e0 * + +
|
#10 .Mouse/state DEI #10 = #e0 * + +
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] #01 + DEO &no-s
|
.Audio0/adsr [ STHkr #10 * + ] #01 + DEO &no-s
|
||||||
DUP #03 ! ,&no-r JCN
|
DUP #03 ! ,&no-r JCN
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] #01 + DEI
|
.Audio0/adsr [ STHkr #10 * + ] #01 + DEI
|
||||||
DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr +
|
DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr +
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] #01 + DEO &no-r
|
.Audio0/adsr [ STHkr #10 * + ] #01 + DEO &no-r
|
||||||
( modes )
|
( modes )
|
||||||
DUP #04 ! ,&no-repeat JCN
|
DUP #04 ! ,&no-repeat JCN
|
||||||
.modes [ DUPr STHr + ] LDZ
|
.modes [ STHkr + ] LDZ
|
||||||
#00 =
|
#00 =
|
||||||
.modes [ DUPr STHr + ] STZ &no-repeat
|
.modes [ STHkr + ] STZ &no-repeat
|
||||||
( volume )
|
( volume )
|
||||||
DUP #05 ! ,&no-left JCN
|
DUP #05 ! ,&no-left JCN
|
||||||
.Audio0/volume [ DUPr STHr #10 * + ] DEI
|
.Audio0/volume [ STHkr #10 * + ] DEI
|
||||||
#10 .Mouse/state DEI #10 = #e0 * + +
|
#10 .Mouse/state DEI #10 = #e0 * + +
|
||||||
.Audio0/volume [ DUPr STHr #10 * + ] DEO &no-left
|
.Audio0/volume [ STHkr #10 * + ] DEO &no-left
|
||||||
DUP #06 ! ,&no-right JCN
|
DUP #06 ! ,&no-right JCN
|
||||||
.Audio0/volume [ DUPr STHr #10 * + ] DEI
|
.Audio0/volume [ STHkr #10 * + ] DEI
|
||||||
DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr +
|
DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr +
|
||||||
.Audio0/volume [ DUPr STHr #10 * + ] DEO &no-right
|
.Audio0/volume [ STHkr #10 * + ] DEO &no-right
|
||||||
POP
|
POP
|
||||||
|
|
||||||
( release ) #00 .Mouse/state DEO
|
( release ) #00 .Mouse/state DEO
|
||||||
|
|
||||||
DUPr STHr ;draw-mixer JSR2
|
STHkr ;draw-mixer JSR2
|
||||||
|
|
||||||
POPr
|
POPr
|
||||||
|
|
||||||
|
@ -371,21 +371,21 @@ RTN
|
||||||
|
|
||||||
( adsr )
|
( adsr )
|
||||||
DUP2 .mix-view/x1 LDZ2 SWP2
|
DUP2 .mix-view/x1 LDZ2 SWP2
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] DEI #04 SFT ;draw-knob JSR2
|
.Audio0/adsr [ STHkr #10 * + ] DEI #04 SFT ;draw-knob JSR2
|
||||||
DUP2 .mix-view/x1 LDZ2 #0010 ++ SWP2
|
DUP2 .mix-view/x1 LDZ2 #0010 ++ SWP2
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] DEI #0f AND ;draw-knob JSR2
|
.Audio0/adsr [ STHkr #10 * + ] DEI #0f AND ;draw-knob JSR2
|
||||||
DUP2 .mix-view/x1 LDZ2 #0020 ++ SWP2
|
DUP2 .mix-view/x1 LDZ2 #0020 ++ SWP2
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] #01 + DEI #04 SFT ;draw-knob JSR2
|
.Audio0/adsr [ STHkr #10 * + ] #01 + DEI #04 SFT ;draw-knob JSR2
|
||||||
DUP2 .mix-view/x1 LDZ2 #0030 ++ SWP2
|
DUP2 .mix-view/x1 LDZ2 #0030 ++ SWP2
|
||||||
.Audio0/adsr [ DUPr STHr #10 * + ] #01 + DEI #0f AND ;draw-knob JSR2
|
.Audio0/adsr [ STHkr #10 * + ] #01 + DEI #0f AND ;draw-knob JSR2
|
||||||
( once/repeat )
|
( once/repeat )
|
||||||
DUP2 .mix-view/x1 LDZ2 #0040 ++ SWP2
|
DUP2 .mix-view/x1 LDZ2 #0040 ++ SWP2
|
||||||
.modes [ DUPr STHr + ] LDZ ;draw-switch JSR2
|
.modes [ STHkr + ] LDZ ;draw-switch JSR2
|
||||||
( volume )
|
( volume )
|
||||||
DUP2 .mix-view/x1 LDZ2 #0050 ++ SWP2
|
DUP2 .mix-view/x1 LDZ2 #0050 ++ SWP2
|
||||||
.Audio0/volume [ DUPr STHr #10 * + ] DEI #04 SFT ;draw-knob JSR2
|
.Audio0/volume [ STHkr #10 * + ] DEI #04 SFT ;draw-knob JSR2
|
||||||
DUP2 .mix-view/x1 LDZ2 #0060 ++ SWP2
|
DUP2 .mix-view/x1 LDZ2 #0060 ++ SWP2
|
||||||
.Audio0/volume [ DUPr STHr #10 * + ] DEI #0f AND ;draw-knob JSR2
|
.Audio0/volume [ STHkr #10 * + ] DEI #0f AND ;draw-knob JSR2
|
||||||
POP2
|
POP2
|
||||||
POPr
|
POPr
|
||||||
|
|
||||||
|
@ -395,7 +395,7 @@ RTN
|
||||||
|
|
||||||
STH STH
|
STH STH
|
||||||
|
|
||||||
DUPr STHr
|
STHkr
|
||||||
|
|
||||||
DUP #04 / SWP #04 MOD TOS PAD-WIDTH ** ( center ) .pad-view/x1 LDZ2 ++
|
DUP #04 / SWP #04 MOD TOS PAD-WIDTH ** ( center ) .pad-view/x1 LDZ2 ++
|
||||||
ROT TOS PAD-HEIGHT ** ( center ) .pad-view/y1 LDZ2 ++
|
ROT TOS PAD-HEIGHT ** ( center ) .pad-view/y1 LDZ2 ++
|
||||||
|
@ -409,21 +409,21 @@ RTN
|
||||||
( draw name )
|
( draw name )
|
||||||
OVR2 #0002 ++
|
OVR2 #0002 ++
|
||||||
OVR2 #0002 ++
|
OVR2 #0002 ++
|
||||||
;pad-name DUPr STHr TOS #0005 ** ++
|
;pad-name STHkr TOS #0005 ** ++
|
||||||
#20 OVRr STHr +
|
#20 OVRr STHr +
|
||||||
;draw-label JSR2
|
;draw-label JSR2
|
||||||
|
|
||||||
( draw note )
|
( draw note )
|
||||||
OVR2 #0003 ++ .Screen/x DEO2
|
OVR2 #0003 ++ .Screen/x DEO2
|
||||||
DUP2 #0014 ++ .Screen/y DEO2
|
DUP2 #0014 ++ .Screen/y DEO2
|
||||||
( get pitch ) DUPr STHr TOS ;pad-pitch ++ LDA
|
( get pitch ) STHkr TOS ;pad-pitch ++ LDA
|
||||||
#0c / TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
#0c / TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
||||||
#21 .Screen/color DEO
|
#21 .Screen/color DEO
|
||||||
|
|
||||||
( draw octave )
|
( draw octave )
|
||||||
OVR2 #000b ++ .Screen/x DEO2
|
OVR2 #000b ++ .Screen/x DEO2
|
||||||
DUP2 #0014 ++ .Screen/y DEO2
|
DUP2 #0014 ++ .Screen/y DEO2
|
||||||
( get pitch ) DUPr STHr TOS ;pad-pitch ++ LDA
|
( get pitch ) STHkr TOS ;pad-pitch ++ LDA
|
||||||
#0c MOD TOS #0008 ** ;font-notes ++ .Screen/addr DEO2
|
#0c MOD TOS #0008 ** ;font-notes ++ .Screen/addr DEO2
|
||||||
#21 .Screen/color DEO
|
#21 .Screen/color DEO
|
||||||
|
|
||||||
|
@ -470,9 +470,9 @@ RTN
|
||||||
|
|
||||||
#00 #0f
|
#00 #0f
|
||||||
&loop
|
&loop
|
||||||
OVR #10 SWP - DUPr STHr #0f AND < #01 + .Screen/color DEO
|
OVR #10 SWP - STHkr #0f AND < #01 + .Screen/color DEO
|
||||||
.Screen/x DEI2 #0002 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0002 ++ .Screen/x DEO2
|
||||||
OVR #10 SWP - DUPr STHr #04 SFT < #01 + .Screen/color DEO
|
OVR #10 SWP - STHkr #04 SFT < #01 + .Screen/color DEO
|
||||||
.Screen/x DEI2 #0002 -- .Screen/x DEO2
|
.Screen/x DEI2 #0002 -- .Screen/x DEO2
|
||||||
.Screen/y DEI2 #0002 ++ .Screen/y DEO2
|
.Screen/y DEI2 #0002 ++ .Screen/y DEO2
|
||||||
( incr ) SWP #01 + SWP
|
( incr ) SWP #01 + SWP
|
||||||
|
@ -491,7 +491,7 @@ RTN
|
||||||
DUP2 #0018 ++
|
DUP2 #0018 ++
|
||||||
&loop
|
&loop
|
||||||
( move ) OVR2 .Screen/y DEO2
|
( move ) OVR2 .Screen/y DEO2
|
||||||
( draw ) DUPr STHr .Screen/color DEO
|
( draw ) STHkr .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
|
||||||
LTH2k ,&loop JCN
|
LTH2k ,&loop JCN
|
||||||
|
@ -534,9 +534,9 @@ RTN
|
||||||
( draw ) #21 .Screen/color DEO
|
( draw ) #21 .Screen/color DEO
|
||||||
.Screen/x DEI2 #0004 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0004 ++ .Screen/x DEO2
|
||||||
.Screen/y DEI2 #0008 ++ .Screen/y DEO2
|
.Screen/y DEI2 #0008 ++ .Screen/y DEO2
|
||||||
;font-hex #00 DUPr STHr #08 * ++ .Screen/addr DEO2
|
;font-hex #00 STHkr #08 * ++ .Screen/addr DEO2
|
||||||
( draw ) #21 .Screen/color DEO
|
( draw ) #21 .Screen/color DEO
|
||||||
.Screen/x DEI2 #0004 -- #00 #00 DUPr STHr ;knob-offsetx ++ LDA ++ .Screen/x DEO2
|
.Screen/x DEI2 #0004 -- #00 #00 STHkr ;knob-offsetx ++ LDA ++ .Screen/x DEO2
|
||||||
.Screen/y DEI2 #0010 -- #00 #00 STHr ;knob-offsety ++ LDA ++ .Screen/y DEO2
|
.Screen/y DEI2 #0010 -- #00 #00 STHr ;knob-offsety ++ LDA ++ .Screen/y DEO2
|
||||||
;knob-icns #0020 ++ .Screen/addr DEO2
|
;knob-icns #0020 ++ .Screen/addr DEO2
|
||||||
( draw ) #25 .Screen/color DEO
|
( draw ) #25 .Screen/color DEO
|
||||||
|
@ -546,16 +546,16 @@ RTN
|
||||||
@draw-switch ( x* y* value -- )
|
@draw-switch ( x* y* value -- )
|
||||||
|
|
||||||
STH .Screen/y DEO2 .Screen/x DEO2
|
STH .Screen/y DEO2 .Screen/x DEO2
|
||||||
DUPr STHr #20 * #00 SWP ;switch-icns ++
|
STHkr #20 * #00 SWP ;switch-icns ++
|
||||||
DUP2 .Screen/addr DEO2
|
DUP2 .Screen/addr DEO2
|
||||||
( draw ) #21 DUPr STHr + .Screen/color DEO
|
( draw ) #21 STHkr + .Screen/color DEO
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
||||||
DUP2 #0008 ++ .Screen/addr DEO2
|
DUP2 #0008 ++ .Screen/addr DEO2
|
||||||
( draw ) #21 DUPr STHr + .Screen/color DEO
|
( draw ) #21 STHkr + .Screen/color DEO
|
||||||
.Screen/y DEI2 #0008 ++ .Screen/y DEO2
|
.Screen/y DEI2 #0008 ++ .Screen/y DEO2
|
||||||
.Screen/x DEI2 #0008 -- .Screen/x DEO2
|
.Screen/x DEI2 #0008 -- .Screen/x DEO2
|
||||||
DUP2 #0010 ++ .Screen/addr DEO2
|
DUP2 #0010 ++ .Screen/addr DEO2
|
||||||
( draw ) #21 DUPr STHr + .Screen/color DEO
|
( draw ) #21 STHkr + .Screen/color DEO
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
||||||
#0018 ++ .Screen/addr DEO2
|
#0018 ++ .Screen/addr DEO2
|
||||||
( draw ) #21 STHr + .Screen/color DEO
|
( draw ) #21 STHr + .Screen/color DEO
|
||||||
|
@ -590,7 +590,7 @@ RTN
|
||||||
STH2r
|
STH2r
|
||||||
&loop
|
&loop
|
||||||
DUP2 LDA #00 SWP #0030 -- #0008 ** ;font-num-uc ++ .Screen/addr DEO2
|
DUP2 LDA #00 SWP #0030 -- #0008 ** ;font-num-uc ++ .Screen/addr DEO2
|
||||||
( draw ) DUPr STHr .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
( incr ) #0001 ++
|
( incr ) #0001 ++
|
||||||
( incr ) .Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
( incr ) .Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
||||||
DUP2 LDA #00 ! ,&loop JCN
|
DUP2 LDA #00 ! ,&loop JCN
|
||||||
|
|
|
@ -9,7 +9,8 @@
|
||||||
%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 }
|
%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 }
|
||||||
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }
|
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 }
|
||||||
|
|
||||||
%INCR { #01 + } %DECR { #01 - }
|
%INCR { SWP #01 + SWP }
|
||||||
|
%DECR { SWP #01 - SWP }
|
||||||
%TOS { #00 SWP } %TOB { SWP POP }
|
%TOS { #00 SWP } %TOB { SWP POP }
|
||||||
%RTN { JMP2r } %MOD { DUP2 / * - }
|
%RTN { JMP2r } %MOD { DUP2 / * - }
|
||||||
%SFL { #40 SFT SFT }
|
%SFL { #40 SFT SFT }
|
||||||
|
@ -18,6 +19,7 @@
|
||||||
%BANK1 { #8000 } %BANK2 { #a000 }
|
%BANK1 { #8000 } %BANK2 { #a000 }
|
||||||
|
|
||||||
%GET-SIZE { WIDTH TOS #0008 // HEIGHT TOS ** }
|
%GET-SIZE { WIDTH TOS #0008 // HEIGHT TOS ** }
|
||||||
|
%GET-ITERATORS { SWP2k POP SWP POP }
|
||||||
|
|
||||||
( devices )
|
( devices )
|
||||||
|
|
||||||
|
@ -67,10 +69,10 @@ BRK
|
||||||
.Mouse/state DEI #00 = #01 JCN [ BRK ]
|
.Mouse/state DEI #00 = #01 JCN [ BRK ]
|
||||||
.world/paused LDZ #00 ! #01 JCN [ BRK ]
|
.world/paused LDZ #00 ! #01 JCN [ BRK ]
|
||||||
|
|
||||||
( incr frame ) .world/frame LDZ INCR [ DUP ] .world/frame STZ
|
( incr frame ) .world/frame LDZ #01 + [ DUP ] .world/frame STZ
|
||||||
( reset count ) #0000 .world/count STZ2
|
( reset count ) #0000 .world/count STZ2
|
||||||
|
|
||||||
#10 MOD #00 ! #01 JCN [ BRK ]
|
#02 MOD #00 = #01 JCN [ BRK ]
|
||||||
|
|
||||||
( clear buffer )
|
( clear buffer )
|
||||||
BANK2 DUP2 GET-SIZE ++
|
BANK2 DUP2 GET-SIZE ++
|
||||||
|
@ -148,15 +150,14 @@ BRK
|
||||||
#00 HEIGHT
|
#00 HEIGHT
|
||||||
&ver
|
&ver
|
||||||
OVR TOS #0002 ** .anchor/y LDZ2 ++ .Screen/y DEO2
|
OVR TOS #0002 ** .anchor/y LDZ2 ++ .Screen/y DEO2
|
||||||
OVR STH
|
|
||||||
#00 WIDTH
|
#00 WIDTH
|
||||||
&hor
|
&hor
|
||||||
OVR TOS #0002 ** .anchor/x LDZ2 ++ .Screen/x DEO2
|
OVR TOS #0002 ** .anchor/x LDZ2 ++ .Screen/x DEO2
|
||||||
OVR DUPr STHr ,get-cell JSR INCR .Screen/color DEO
|
GET-ITERATORS ,get-cell JSR #01 + .Screen/color DEO
|
||||||
SWP INCR SWP
|
INCR
|
||||||
NEQk ,&hor JCN
|
NEQk ,&hor JCN
|
||||||
POP2 POPr
|
POP2
|
||||||
SWP INCR SWP
|
INCR
|
||||||
NEQk ,&ver JCN
|
NEQk ,&ver JCN
|
||||||
POP2
|
POP2
|
||||||
|
|
||||||
|
@ -173,7 +174,7 @@ RTN
|
||||||
|
|
||||||
DUP2 ,get-index JSR STH2
|
DUP2 ,get-index JSR STH2
|
||||||
POP #08 MOD #01 SWP SFL
|
POP #08 MOD #01 SWP SFL
|
||||||
DUP2r LDAr STHr SWP ORA
|
LDAkr STHr SWP ORA
|
||||||
STH2r STA
|
STH2r STA
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
@ -189,14 +190,14 @@ RTN
|
||||||
|
|
||||||
@get-neighbours ( x y -- neighbours )
|
@get-neighbours ( x y -- neighbours )
|
||||||
|
|
||||||
( -1,-1 ) DUP2 DECR SWP DECR SWP ,get-cell JSR STH
|
( -1,-1 ) DUP2 #01 - DECR ,get-cell JSR STH
|
||||||
( 0,-1 ) DUP2 DECR ,get-cell JSR STH ADDr
|
( 0,-1 ) DUP2 #01 - ,get-cell JSR STH ADDr
|
||||||
( +1,-1 ) DUP2 DECR SWP INCR SWP ,get-cell JSR STH ADDr
|
( +1,-1 ) DUP2 #01 - INCR ,get-cell JSR STH ADDr
|
||||||
( -1, 0 ) DUP2 SWP DECR SWP ,get-cell JSR STH ADDr
|
( -1, 0 ) DUP2 DECR ,get-cell JSR STH ADDr
|
||||||
( +1, 0 ) DUP2 SWP INCR SWP ,get-cell JSR STH ADDr
|
( +1, 0 ) DUP2 INCR ,get-cell JSR STH ADDr
|
||||||
( -1,+1 ) DUP2 INCR SWP DECR SWP ,get-cell JSR STH ADDr
|
( -1,+1 ) DUP2 #01 + DECR ,get-cell JSR STH ADDr
|
||||||
( 0,+1 ) DUP2 INCR ,get-cell JSR STH ADDr
|
( 0,+1 ) DUP2 #01 + ,get-cell JSR STH ADDr
|
||||||
( +1,+1 ) INCR SWP INCR SWP ,get-cell JSR STH ADDr
|
( +1,+1 ) #01 + INCR ,get-cell JSR STH ADDr
|
||||||
STHr
|
STHr
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
@ -205,18 +206,17 @@ RTN
|
||||||
|
|
||||||
#00 HEIGHT
|
#00 HEIGHT
|
||||||
&ver
|
&ver
|
||||||
OVR STH
|
|
||||||
#00 WIDTH
|
#00 WIDTH
|
||||||
&hor
|
&hor
|
||||||
OVR DUPr STHr STH2
|
GET-ITERATORS
|
||||||
( x y ) DUP2r STH2r
|
( x y ) DUP2
|
||||||
( neighbours ) DUP2r STH2r ,get-neighbours JSR
|
( neighbours ) DUP2 ,get-neighbours JSR
|
||||||
( state ) STH2r ;get-cell JSR2
|
( state ) ROT ROT ;get-cell JSR2
|
||||||
,run-cell JSR
|
,run-cell JSR
|
||||||
SWP INCR SWP
|
INCR
|
||||||
NEQk ,&hor JCN
|
NEQk ,&hor JCN
|
||||||
POP2 POPr
|
POP2
|
||||||
SWP INCR SWP
|
INCR
|
||||||
NEQk ,&ver JCN
|
NEQk ,&ver JCN
|
||||||
POP2
|
POP2
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ RTN
|
||||||
( save in buffer )
|
( save in buffer )
|
||||||
STH2
|
STH2
|
||||||
DUP2 POP #08 MOD #01 SWP SFL
|
DUP2 POP #08 MOD #01 SWP SFL
|
||||||
DUP2r LDAr STHr SWP ORA
|
LDAkr STHr SWP ORA
|
||||||
STH2r STA
|
STH2r STA
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
@ -255,21 +255,23 @@ RTN
|
||||||
|
|
||||||
STH SWP
|
STH SWP
|
||||||
DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
||||||
( draw ) DUPr STHr .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
#0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
#0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
||||||
( draw ) DUPr STHr .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
||||||
( draw ) DUPr STHr .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
#0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
#0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
||||||
( draw ) STHr .Screen/color DEO
|
( draw ) STHr .Screen/color DEO
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
@font-hex ( 0-F )
|
@cursor
|
||||||
[
|
80c0 e0f0 f8e0 1000
|
||||||
|
|
||||||
|
@font-hex
|
||||||
007c 8282 8282 827c 0030 1010 1010 1010
|
007c 8282 8282 827c 0030 1010 1010 1010
|
||||||
007c 8202 7c80 80fe 007c 8202 1c02 827c
|
007c 8202 7c80 80fe 007c 8202 1c02 827c
|
||||||
000c 1424 4484 fe04 00fe 8080 7c02 827c
|
000c 1424 4484 fe04 00fe 8080 7c02 827c
|
||||||
|
@ -277,7 +279,4 @@ RTN
|
||||||
007c 8282 7c82 827c 007c 8282 7e02 827c
|
007c 8282 7c82 827c 007c 8282 7e02 827c
|
||||||
007c 8202 7e82 827e 00fc 8282 fc82 82fc
|
007c 8202 7e82 827e 00fc 8282 fc82 82fc
|
||||||
007c 8280 8080 827c 00fc 8282 8282 82fc
|
007c 8280 8080 827c 00fc 8282 8282 82fc
|
||||||
007c 8280 f080 827c 007c 8280 f080 8080 ]
|
007c 8280 f080 827c 007c 8280 f080 8080
|
||||||
|
|
||||||
@cursor [
|
|
||||||
80c0 e0f0 f8e0 1000 ]
|
|
||||||
|
|
|
@ -310,7 +310,7 @@ RTN
|
||||||
DUP2 #0018 ++
|
DUP2 #0018 ++
|
||||||
&loop
|
&loop
|
||||||
( move ) OVR2 .Screen/y DEO2
|
( move ) OVR2 .Screen/y DEO2
|
||||||
( draw ) STHrk .Screen/color DEO
|
( draw ) STHkr .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
|
||||||
LTH2k ,&loop JCN
|
LTH2k ,&loop JCN
|
||||||
|
@ -390,7 +390,7 @@ RTN
|
||||||
.wave-view/y1 LDZ2 DUP2 #0020 ++
|
.wave-view/y1 LDZ2 DUP2 #0020 ++
|
||||||
&loop
|
&loop
|
||||||
OVR2 .Screen/y DEO2
|
OVR2 .Screen/y DEO2
|
||||||
( draw ) STHrk .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
( incr ) SWP2 #0001 ++ SWP2
|
( incr ) SWP2 #0001 ++ SWP2
|
||||||
LTH2k ,&loop JCN
|
LTH2k ,&loop JCN
|
||||||
POP2 POP2
|
POP2 POP2
|
||||||
|
@ -414,9 +414,9 @@ RTN
|
||||||
( draw ) #21 .Screen/color DEO
|
( draw ) #21 .Screen/color DEO
|
||||||
.Screen/x DEI2 #0004 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0004 ++ .Screen/x DEO2
|
||||||
.Screen/y DEI2 #0008 ++ .Screen/y DEO2
|
.Screen/y DEI2 #0008 ++ .Screen/y DEO2
|
||||||
;font-hex #00 STHrk #08 * ++ .Screen/addr DEO2
|
;font-hex #00 STHkr #08 * ++ .Screen/addr DEO2
|
||||||
( draw ) #21 .Screen/color DEO
|
( draw ) #21 .Screen/color DEO
|
||||||
.Screen/x DEI2 #0004 -- #00 #00 STHrk ;knob-offsetx ++ LDA ++ .Screen/x DEO2
|
.Screen/x DEI2 #0004 -- #00 #00 STHkr ;knob-offsetx ++ LDA ++ .Screen/x DEO2
|
||||||
.Screen/y DEI2 #0010 -- #00 #00 STHr ;knob-offsety ++ LDA ++ .Screen/y DEO2
|
.Screen/y DEI2 #0010 -- #00 #00 STHr ;knob-offsety ++ LDA ++ .Screen/y DEO2
|
||||||
;knob-icns #0020 ++ .Screen/addr DEO2
|
;knob-icns #0020 ++ .Screen/addr DEO2
|
||||||
( draw ) #25 .Screen/color DEO
|
( draw ) #25 .Screen/color DEO
|
||||||
|
@ -427,13 +427,13 @@ RTN
|
||||||
|
|
||||||
STH SWP
|
STH SWP
|
||||||
DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
||||||
( draw ) STHrk .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
#0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
#0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
||||||
( draw ) STHrk .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
||||||
( draw ) STHrk .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
#0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
#0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2
|
||||||
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
.Screen/x DEI2 #0008 ++ .Screen/x DEO2
|
||||||
( draw ) STHr .Screen/color DEO
|
( draw ) STHr .Screen/color DEO
|
||||||
|
@ -459,49 +459,48 @@ RTN
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
@cursor [
|
@cursor
|
||||||
80c0 e0f0 f8e0 1000 ]
|
80c0 e0f0 f8e0 1000
|
||||||
|
|
||||||
@arrow-icns [
|
@arrow-icns
|
||||||
0010 387c fe10 1000
|
0010 387c fe10 1000
|
||||||
0010 1010 fe7c 3810 ]
|
0010 1010 fe7c 3810
|
||||||
|
|
||||||
@notes [
|
@notes
|
||||||
3c 3e 40 41 43 45 47
|
3c 3e 40 41 43 45 47
|
||||||
48 4a 4c 4d 4f 51 53 ]
|
48 4a 4c 4d 4f 51 53
|
||||||
|
|
||||||
@keys-left-icns [
|
@keys-left-icns
|
||||||
7c7c 7c7c 7c7c 7c7c
|
7c7c 7c7c 7c7c 7c7c
|
||||||
7c7c 7c7c 7c7c 7e7f
|
7c7c 7c7c 7c7c 7e7f
|
||||||
7f7f 7f7f 7f7f 3e00 ]
|
7f7f 7f7f 7f7f 3e00
|
||||||
|
|
||||||
@keys-middle-icns [
|
@keys-middle-icns
|
||||||
1c1c 1c1c 1c1c 1c1c
|
1c1c 1c1c 1c1c 1c1c
|
||||||
1c1c 1c1c 1c1c 3e7f
|
1c1c 1c1c 1c1c 3e7f
|
||||||
7f7f 7f7f 7f7f 3e00 ]
|
7f7f 7f7f 7f7f 3e00
|
||||||
|
|
||||||
@keys-right-icns [
|
@keys-right-icns
|
||||||
1f1f 1f1f 1f1f 1f1f
|
1f1f 1f1f 1f1f 1f1f
|
||||||
1f1f 1f1f 1f1f 3f7f
|
1f1f 1f1f 1f1f 3f7f
|
||||||
7f7f 7f7f 7f7f 3e00 ]
|
7f7f 7f7f 7f7f 3e00
|
||||||
|
|
||||||
@knob-icns [
|
@knob-icns
|
||||||
0003 0c10 2020 4040
|
0003 0c10 2020 4040
|
||||||
00c0 3008 0404 0202
|
00c0 3008 0404 0202
|
||||||
4040 2020 100c 0300
|
4040 2020 100c 0300
|
||||||
0202 0404 0830 c000
|
0202 0404 0830 c000
|
||||||
0000 183c 3c18 0000 ]
|
0000 183c 3c18 0000
|
||||||
|
|
||||||
@knob-offsetx [
|
@knob-offsetx
|
||||||
01 00 00 00 00 01 02 03
|
01 00 00 00 00 01 02 03
|
||||||
05 06 07 08 08 08 08 07 ]
|
05 06 07 08 08 08 08 07
|
||||||
|
|
||||||
@knob-offsety [
|
@knob-offsety
|
||||||
07 06 05 03 02 01 00 00
|
07 06 05 03 02 01 00 00
|
||||||
00 00 01 02 03 05 06 07 ]
|
00 00 01 02 03 05 06 07
|
||||||
|
|
||||||
@font-hex ( 0-F )
|
@font-hex ( 0-F )
|
||||||
[
|
|
||||||
007c 8282 8282 827c 0030 1010 1010 1010
|
007c 8282 8282 827c 0030 1010 1010 1010
|
||||||
007c 8202 7c80 80fe 007c 8202 1c02 827c
|
007c 8202 7c80 80fe 007c 8202 1c02 827c
|
||||||
000c 1424 4484 fe04 00fe 8080 7c02 827c
|
000c 1424 4484 fe04 00fe 8080 7c02 827c
|
||||||
|
@ -509,7 +508,7 @@ RTN
|
||||||
007c 8282 7c82 827c 007c 8282 7e02 827c
|
007c 8282 7c82 827c 007c 8282 7e02 827c
|
||||||
007c 8202 7e82 827e 00fc 8282 fc82 82fc
|
007c 8202 7e82 827e 00fc 8282 fc82 82fc
|
||||||
007c 8280 8080 827c 00fc 8282 8282 82fc
|
007c 8280 8080 827c 00fc 8282 8282 82fc
|
||||||
007c 8280 f080 827c 007c 8280 f080 8080 ]
|
007c 8280 f080 827c 007c 8280 f080 8080
|
||||||
|
|
||||||
@piano-path "projects/sounds/piano.pcm $1
|
@piano-path "projects/sounds/piano.pcm $1
|
||||||
@violin-path "projects/sounds/violin.pcm $1
|
@violin-path "projects/sounds/violin.pcm $1
|
||||||
|
|
|
@ -64,7 +64,7 @@ BRK
|
||||||
|
|
||||||
( ears )
|
( ears )
|
||||||
.cat/y LDZ2 .Screen/y DEO2
|
.cat/y LDZ2 .Screen/y DEO2
|
||||||
.cat/x LDZ2 DUP2 STH2 #0008 SUB2 .Screen/x DEO2
|
.cat/x LDZ2 STH2k #0008 SUB2 .Screen/x DEO2
|
||||||
;ears .Screen/addr DEO2
|
;ears .Screen/addr DEO2
|
||||||
#41 .Screen/color DEO
|
#41 .Screen/color DEO
|
||||||
STH2r .Screen/x DEO2
|
STH2r .Screen/x DEO2
|
||||||
|
@ -79,7 +79,7 @@ RTN
|
||||||
@draw-eye ( quad* -- )
|
@draw-eye ( quad* -- )
|
||||||
|
|
||||||
.cat/y LDZ2 #0008 ADD2 .Screen/y DEO2
|
.cat/y LDZ2 #0008 ADD2 .Screen/y DEO2
|
||||||
.cat/x LDZ2 DUP2 STH2 #0008 SUB2 .Screen/x DEO2
|
.cat/x LDZ2 STH2k #0008 SUB2 .Screen/x DEO2
|
||||||
DUP2 ;eye ADD2 .Screen/addr DEO2
|
DUP2 ;eye ADD2 .Screen/addr DEO2
|
||||||
( draw ) #41 .Screen/color DEO
|
( draw ) #41 .Screen/color DEO
|
||||||
STH2r .Screen/x DEO2
|
STH2r .Screen/x DEO2
|
||||||
|
@ -91,7 +91,7 @@ RTN
|
||||||
@draw-tail ( frame* -- )
|
@draw-tail ( frame* -- )
|
||||||
|
|
||||||
.cat/y LDZ2 #0010 ADD2 .Screen/y DEO2
|
.cat/y LDZ2 #0010 ADD2 .Screen/y DEO2
|
||||||
.cat/x LDZ2 DUP2 STH2 #0008 SUB2 .Screen/x DEO2
|
.cat/x LDZ2 STH2k #0008 SUB2 .Screen/x DEO2
|
||||||
;body .Screen/addr DEO2
|
;body .Screen/addr DEO2
|
||||||
( draw ) #41 .Screen/color DEO
|
( draw ) #41 .Screen/color DEO
|
||||||
STH2r .Screen/x DEO2
|
STH2r .Screen/x DEO2
|
||||||
|
@ -138,14 +138,14 @@ RTN
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
@cursor [
|
@cursor
|
||||||
80c0 e0f0 f8e0 1000 ]
|
80c0 e0f0 f8e0 1000
|
||||||
|
|
||||||
@ears [
|
@ears
|
||||||
081c 3e3e 7f7f ffff 081c 3e3e 7f7f fffc
|
081c 3e3e 7f7f ffff 081c 3e3e 7f7f fffc
|
||||||
081c 3c3e 7e7e ffff 081c 3c3e 7e7e ff1f ]
|
081c 3c3e 7e7e ffff 081c 3c3e 7e7e ff1f
|
||||||
|
|
||||||
@eye [
|
@eye
|
||||||
ffff ffff ff7f 3f0f f7ef cfe7 f07c 3f0f
|
ffff ffff ff7f 3f0f f7ef cfe7 f07c 3f0f
|
||||||
ffff ffff fffe fcf0 87c3 c183 071e fcf0
|
ffff ffff fffe fcf0 87c3 c183 071e fcf0
|
||||||
ffff ffff ff7f 3f0f f0e1 c1e0 f07c 3f0f
|
ffff ffff ff7f 3f0f f0e1 c1e0 f07c 3f0f
|
||||||
|
@ -154,17 +154,16 @@ RTN
|
||||||
ffff ffff fffe fcf0 0783 c1c3 871e fcf0
|
ffff ffff fffe fcf0 0783 c1c3 871e fcf0
|
||||||
ffff ffff ff7f 3f0f f0e0 c1e1 f07c 3f0f
|
ffff ffff ff7f 3f0f f0e0 c1e1 f07c 3f0f
|
||||||
ffff ffff fffe fcf0 07f3 f9fb f71e fcf0
|
ffff ffff fffe fcf0 07f3 f9fb f71e fcf0
|
||||||
]
|
|
||||||
|
|
||||||
@body [
|
@body
|
||||||
0707 0707 0302 0200 0107 0707 0300 0000
|
0707 0707 0302 0200 0107 0707 0300 0000
|
||||||
e0f0 f0e0 e080 8000 c0f2 f9f9 fef8 b000
|
e0f0 f0e0 e080 8000 c0f2 f9f9 fef8 b000
|
||||||
e0f0 f0e0 e080 8000 c0f2 f9f9 fef8 b000
|
e0f0 f0e0 e080 8000 c0f2 f9f9 fef8 b000
|
||||||
e0f0 f0e0 e080 8000 c0f2 faf9 fef8 b000
|
e0f0 f0e0 e080 8000 c0f2 faf9 fef8 b000
|
||||||
e0f0 f0e0 e080 8000 c0f1 faf9 fef8 b000
|
e0f0 f0e0 e080 8000 c0f1 faf9 fef8 b000
|
||||||
0707 0707 0f08 1000 0307 0707 0f00 0000
|
0707 0707 0f08 1000 0307 0707 0f00 0000
|
||||||
e0e0 e0e0 e080 8000 f2f9 f9fe b884 8400 ]
|
e0e0 e0e0 e080 8000 f2f9 f9fe b884 8400
|
||||||
|
|
||||||
@ground [
|
@ground
|
||||||
bf00 5c02 0202 020c ef10 6f90 8080 8074
|
bf00 5c02 0202 020c ef10 6f90 8080 8074
|
||||||
ff00 fe01 0100 0116 fd00 3c40 4040 4028 ]
|
ff00 fe01 0100 0116 fd00 3c40 4040 4028
|
||||||
|
|
|
@ -327,7 +327,7 @@ RTN
|
||||||
&loop
|
&loop
|
||||||
DUP2 LDA #00 SWP #0008 MUL2
|
DUP2 LDA #00 SWP #0008 MUL2
|
||||||
;font ADD2 .Screen/addr DEO2
|
;font ADD2 .Screen/addr DEO2
|
||||||
( draw ) DUPr STHr .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
( incr ) ++
|
( incr ) ++
|
||||||
( incr ) .Screen/x DEI2 8+ .Screen/x DEO2
|
( incr ) .Screen/x DEI2 8+ .Screen/x DEO2
|
||||||
DUP2 LDA #00 NEQ ,&loop JCN
|
DUP2 LDA #00 NEQ ,&loop JCN
|
||||||
|
@ -339,13 +339,13 @@ RTN
|
||||||
|
|
||||||
STH SWP
|
STH SWP
|
||||||
DUP #04 SFT #00 SWP #0008 MUL2 ;font-hex ADD2 .Screen/addr DEO2
|
DUP #04 SFT #00 SWP #0008 MUL2 ;font-hex ADD2 .Screen/addr DEO2
|
||||||
( draw ) DUPr STHr .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
#0f AND #00 SWP #0008 MUL2 ;font-hex ADD2 .Screen/addr DEO2
|
#0f AND #00 SWP #0008 MUL2 ;font-hex ADD2 .Screen/addr DEO2
|
||||||
.Screen/x DEI2 8+ .Screen/x DEO2
|
.Screen/x DEI2 8+ .Screen/x DEO2
|
||||||
( draw ) DUPr STHr .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
DUP #04 SFT #00 SWP #0008 MUL2 ;font-hex ADD2 .Screen/addr DEO2
|
DUP #04 SFT #00 SWP #0008 MUL2 ;font-hex ADD2 .Screen/addr DEO2
|
||||||
.Screen/x DEI2 8+ .Screen/x DEO2
|
.Screen/x DEI2 8+ .Screen/x DEO2
|
||||||
( draw ) DUPr STHr .Screen/color DEO
|
( draw ) STHkr .Screen/color DEO
|
||||||
#0f AND #00 SWP #0008 MUL2 ;font-hex ADD2 .Screen/addr DEO2
|
#0f AND #00 SWP #0008 MUL2 ;font-hex ADD2 .Screen/addr DEO2
|
||||||
.Screen/x DEI2 8+ .Screen/x DEO2
|
.Screen/x DEI2 8+ .Screen/x DEO2
|
||||||
( draw ) STHr .Screen/color DEO
|
( draw ) STHr .Screen/color DEO
|
||||||
|
@ -363,13 +363,14 @@ RTN
|
||||||
@sliderc_icn [ fcfe ffff ffff fefc ]
|
@sliderc_icn [ fcfe ffff ffff fefc ]
|
||||||
@sliderd_icn [ 003c 7e7e 7e7e 3c00 ]
|
@sliderd_icn [ 003c 7e7e 7e7e 3c00 ]
|
||||||
|
|
||||||
@preview_icn [
|
@preview_icn
|
||||||
183c 66db db66 3c18
|
183c 66db db66 3c18
|
||||||
0000 183c 3c18 0000 ]
|
0000 183c 3c18 0000
|
||||||
@radio_icns
|
@radio_icns
|
||||||
[ 3c42 8181 8181 423c ]
|
3c42 8181 8181 423c
|
||||||
[ 3c42 99bd bd99 423c ]
|
3c42 99bd bd99 423c
|
||||||
@font-hex [
|
|
||||||
|
@font-hex
|
||||||
003c 464a 5262 3c00 0018 0808 0808 1c00
|
003c 464a 5262 3c00 0018 0808 0808 1c00
|
||||||
003c 4202 3c40 7e00 003c 421c 0242 3c00
|
003c 4202 3c40 7e00 003c 421c 0242 3c00
|
||||||
000c 1424 447e 0400 007e 407c 0242 3c00
|
000c 1424 447e 0400 007e 407c 0242 3c00
|
||||||
|
@ -377,9 +378,9 @@ RTN
|
||||||
003c 423c 4242 3c00 003c 4242 3e02 3c00
|
003c 423c 4242 3c00 003c 4242 3e02 3c00
|
||||||
003c 4242 7e42 4200 007c 427c 4242 7c00
|
003c 4242 7e42 4200 007c 427c 4242 7c00
|
||||||
003c 4240 4042 3c00 007c 4242 4242 7c00
|
003c 4240 4042 3c00 007c 4242 4242 7c00
|
||||||
007e 4078 4040 7e00 007e 4078 4040 4000 ]
|
007e 4078 4040 7e00 007e 4078 4040 4000
|
||||||
|
|
||||||
@font ( spectrum-zx font ) [
|
@font ( spectrum-zx font )
|
||||||
0000 0000 0000 0000 0000 2400 7e3c 0000 0000 2400 3c42 0000 0000 6c7c 7c38 1000
|
0000 0000 0000 0000 0000 2400 7e3c 0000 0000 2400 3c42 0000 0000 6c7c 7c38 1000
|
||||||
0010 387c 7c38 1000 0038 387c 6c10 3800 0010 387c 7c10 3800 0000 0018 1800 0000
|
0010 387c 7c38 1000 0038 387c 6c10 3800 0010 387c 7c10 3800 0000 0018 1800 0000
|
||||||
007e 4242 4242 7e00 0000 1824 2418 0000 0018 2442 4224 1800 001e 063a 4a48 3000
|
007e 4242 4242 7e00 0000 1824 2418 0000 0018 2442 4224 1800 001e 063a 4a48 3000
|
||||||
|
@ -411,4 +412,4 @@ RTN
|
||||||
0000 7844 4478 4040 0000 3c44 443c 0406 0000 2c30 2020 2000 0000 3840 3804 7800
|
0000 7844 4478 4040 0000 3c44 443c 0406 0000 2c30 2020 2000 0000 3840 3804 7800
|
||||||
0010 103c 1010 0c00 0000 4444 4444 3800 0000 4444 2828 1000 0000 4454 5454 2800
|
0010 103c 1010 0c00 0000 4444 4444 3800 0000 4444 2828 1000 0000 4454 5454 2800
|
||||||
0000 4428 1028 4400 0000 4444 443c 0438 0000 7c08 1020 7c00 000c 0810 1008 0c00
|
0000 4428 1028 4400 0000 4444 443c 0438 0000 7c08 1020 7c00 000c 0810 1008 0c00
|
||||||
0008 0808 0808 0800 0030 1008 0810 3000 0000 0032 4c00 0000 3c42 99a1 a199 423c ]
|
0008 0808 0808 0800 0030 1008 0810 3000 0000 0032 4c00 0000 3c42 99a1 a199 423c
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
|0100 ( -> )
|
|0100 ( -> )
|
||||||
|
|
||||||
;hello-word ,print JSR
|
,hello-word ,print JSR
|
||||||
|
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ BRK
|
||||||
#00 SWP SCALEX .Screen/x DEO2
|
#00 SWP SCALEX .Screen/x DEO2
|
||||||
OVR #0f MOD #00 EQU #01 ADD .Screen/color DEO
|
OVR #0f MOD #00 EQU #01 ADD .Screen/color DEO
|
||||||
( incr ) SWP #01 ADD SWP
|
( incr ) SWP #01 ADD SWP
|
||||||
DUP2 LTH ,&loop JCN
|
LTHk ,&loop JCN
|
||||||
POP2
|
POP2
|
||||||
|
|
||||||
;draw-display JSR2
|
;draw-display JSR2
|
||||||
|
@ -86,22 +86,22 @@ BRK
|
||||||
.Screen/height DEI2 #0002 DIV2 #0048 ADD2 .Screen/y DEO2
|
.Screen/height DEI2 #0002 DIV2 #0048 ADD2 .Screen/y DEO2
|
||||||
.Screen/width DEI2 #0002 DIV2
|
.Screen/width DEI2 #0002 DIV2
|
||||||
DUP2 #0020 SUB2 .Screen/x DEO2
|
DUP2 #0020 SUB2 .Screen/x DEO2
|
||||||
;font_hex #00 .DateTime/hour DEI #0a DIV #08 MUL ADD2 .Screen/addr DEO2
|
;font-hex #00 .DateTime/hour DEI #0a DIV #08 MUL ADD2 .Screen/addr DEO2
|
||||||
#22 .Screen/color DEO
|
#22 .Screen/color DEO
|
||||||
DUP2 #0018 SUB2 .Screen/x DEO2
|
DUP2 #0018 SUB2 .Screen/x DEO2
|
||||||
;font_hex #00 .DateTime/hour DEI #0a MOD #08 MUL ADD2 .Screen/addr DEO2
|
;font-hex #00 .DateTime/hour DEI #0a MOD #08 MUL ADD2 .Screen/addr DEO2
|
||||||
#22 .Screen/color DEO
|
#22 .Screen/color DEO
|
||||||
DUP2 #0008 SUB2 .Screen/x DEO2
|
DUP2 #0008 SUB2 .Screen/x DEO2
|
||||||
;font_hex #00 .DateTime/minute DEI #0a DIV #08 MUL ADD2 .Screen/addr DEO2
|
;font-hex #00 .DateTime/minute DEI #0a DIV #08 MUL ADD2 .Screen/addr DEO2
|
||||||
#22 .Screen/color DEO
|
#22 .Screen/color DEO
|
||||||
DUP2 .Screen/x DEO2
|
DUP2 .Screen/x DEO2
|
||||||
;font_hex #00 .DateTime/minute DEI #0a MOD #08 MUL ADD2 .Screen/addr DEO2
|
;font-hex #00 .DateTime/minute DEI #0a MOD #08 MUL ADD2 .Screen/addr DEO2
|
||||||
#22 .Screen/color DEO
|
#22 .Screen/color DEO
|
||||||
DUP2 #0010 ADD2 .Screen/x DEO2
|
DUP2 #0010 ADD2 .Screen/x DEO2
|
||||||
;font_hex #00 .DateTime/second DEI #0a DIV #08 MUL ADD2 .Screen/addr DEO2
|
;font-hex #00 .DateTime/second DEI #0a DIV #08 MUL ADD2 .Screen/addr DEO2
|
||||||
#22 .Screen/color DEO
|
#22 .Screen/color DEO
|
||||||
DUP2 #0018 ADD2 .Screen/x DEO2
|
DUP2 #0018 ADD2 .Screen/x DEO2
|
||||||
;font_hex #00 .DateTime/second DEI #0a MOD #08 MUL ADD2 .Screen/addr DEO2
|
;font-hex #00 .DateTime/second DEI #0a MOD #08 MUL ADD2 .Screen/addr DEO2
|
||||||
#22 .Screen/color DEO
|
#22 .Screen/color DEO
|
||||||
POP2
|
POP2
|
||||||
|
|
||||||
|
@ -136,7 +136,6 @@ RTN
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
@table ( 60 positions on a circle in bytes )
|
@table ( 60 positions on a circle in bytes )
|
||||||
[
|
|
||||||
8000 8d00 9a02 a706 b40b c011 cb18 d520
|
8000 8d00 9a02 a706 b40b c011 cb18 d520
|
||||||
df2a e734 ee40 f44b f958 fd65 ff72 ff80
|
df2a e734 ee40 f44b f958 fd65 ff72 ff80
|
||||||
ff8d fd9a f9a7 f4b4 eec0 e7cb dfd5 d5df
|
ff8d fd9a f9a7 f4b4 eec0 e7cb dfd5 d5df
|
||||||
|
@ -145,10 +144,8 @@ RTN
|
||||||
11c0 0bb4 06a7 029a 008d 0080 0072 0265
|
11c0 0bb4 06a7 029a 008d 0080 0072 0265
|
||||||
0658 0b4b 113f 1834 202a 2a20 3418 3f11
|
0658 0b4b 113f 1834 202a 2a20 3418 3f11
|
||||||
4b0b 5806 6502 7200
|
4b0b 5806 6502 7200
|
||||||
]
|
|
||||||
|
|
||||||
@font_hex ( 0-F )
|
@font-hex ( 0-F )
|
||||||
[
|
|
||||||
007c 8282 8282 827c 0030 1010 1010 1010
|
007c 8282 8282 827c 0030 1010 1010 1010
|
||||||
007c 8202 7c80 80fe 007c 8202 1c02 827c
|
007c 8202 7c80 80fe 007c 8202 1c02 827c
|
||||||
000c 1424 4484 fe04 00fe 8080 7c02 827c
|
000c 1424 4484 fe04 00fe 8080 7c02 827c
|
||||||
|
@ -157,4 +154,3 @@ RTN
|
||||||
007c 8202 7e82 827e 00fc 8282 fc82 82fc
|
007c 8202 7e82 827e 00fc 8282 fc82 82fc
|
||||||
007c 8280 8080 827c 00fc 8282 8282 82fc
|
007c 8280 8080 827c 00fc 8282 8282 82fc
|
||||||
007c 8280 f080 827c 007c 8280 f080 8080
|
007c 8280 f080 827c 007c 8280 f080 8080
|
||||||
]
|
|
||||||
|
|
|
@ -72,6 +72,7 @@ BRK
|
||||||
|
|
||||||
@draw-cursor ( -- )
|
@draw-cursor ( -- )
|
||||||
|
|
||||||
|
;pointer_icn .Screen/addr DEO2
|
||||||
( clear last cursor )
|
( clear last cursor )
|
||||||
.pointer/x LDZ2 .Screen/x DEO2
|
.pointer/x LDZ2 .Screen/x DEO2
|
||||||
.pointer/y LDZ2 .Screen/y DEO2
|
.pointer/y LDZ2 .Screen/y DEO2
|
||||||
|
@ -82,7 +83,6 @@ BRK
|
||||||
.Mouse/y DEI2 .pointer/y STZ2
|
.Mouse/y DEI2 .pointer/y STZ2
|
||||||
|
|
||||||
( draw new cursor )
|
( draw new cursor )
|
||||||
;pointer_icn .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
|
||||||
#33 .Mouse/state DEI #00 NEQ #02 MUL SUB .Screen/color DEO
|
#33 .Mouse/state DEI #00 NEQ #02 MUL SUB .Screen/color DEO
|
||||||
|
|
|
@ -54,20 +54,17 @@ RTN
|
||||||
|
|
||||||
#00 #10
|
#00 #10
|
||||||
&loop
|
&loop
|
||||||
OVR #08 MUL #00 SWP ;font_hex ADD2 .Screen/addr DEO2
|
OVR #08 MUL #00 SWP ;font-hex ADD2 .Screen/addr DEO2
|
||||||
|
|
||||||
( x-axis )
|
( x-axis )
|
||||||
OVR #08 MUL #00 SWP
|
OVR #08 MUL #00 SWP
|
||||||
.center/x LDZ2 #0040 SUB2 ADD2 .Screen/x DEO2
|
.center/x LDZ2 #0040 SUB2 ADD2 .Screen/x DEO2
|
||||||
.center/y LDZ2 #0050 SUB2 .Screen/y DEO2
|
.center/y LDZ2 #0050 SUB2 .Screen/y DEO2
|
||||||
( draw ) #21 .Screen/color DEO
|
( draw ) #21 .Screen/color DEO
|
||||||
|
|
||||||
( y-axis )
|
( y-axis )
|
||||||
OVR #08 MUL #00 SWP
|
OVR #08 MUL #00 SWP
|
||||||
.center/y LDZ2 #0040 SUB2 ADD2 .Screen/y DEO2
|
.center/y LDZ2 #0040 SUB2 ADD2 .Screen/y DEO2
|
||||||
.center/x LDZ2 #0050 SUB2 .Screen/x DEO2
|
.center/x LDZ2 #0050 SUB2 .Screen/x DEO2
|
||||||
( draw ) #21 .Screen/color DEO
|
( draw ) #21 .Screen/color DEO
|
||||||
|
|
||||||
( incr ) SWP #01 ADD SWP
|
( incr ) SWP #01 ADD SWP
|
||||||
LTHk ,&loop JCN
|
LTHk ,&loop JCN
|
||||||
POP2
|
POP2
|
||||||
|
@ -77,7 +74,6 @@ RTN
|
||||||
@draw-circle ( -- )
|
@draw-circle ( -- )
|
||||||
|
|
||||||
;preview_icn .Screen/addr DEO2
|
;preview_icn .Screen/addr DEO2
|
||||||
|
|
||||||
.center/x LDZ2 #0048 ADD2 .Screen/x DEO2
|
.center/x LDZ2 #0048 ADD2 .Screen/x DEO2
|
||||||
.center/y LDZ2 #0030 ADD2 .Screen/y DEO2
|
.center/y LDZ2 #0030 ADD2 .Screen/y DEO2
|
||||||
#21 .Screen/color DEO
|
#21 .Screen/color DEO
|
||||||
|
@ -92,9 +88,9 @@ RTN
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
@preview_icn [
|
@preview_icn [
|
||||||
0f38 675f dfbf bfbf 0007 1820 2344 4848 ]
|
0f38 675f dfbf bfbf 0007 1820 2344 4848
|
||||||
|
|
||||||
@font_hex [
|
@font-hex
|
||||||
007c 8282 8282 827c 0030 1010 1010 1010
|
007c 8282 8282 827c 0030 1010 1010 1010
|
||||||
007c 8202 7c80 80fe 007c 8202 1c02 827c
|
007c 8202 7c80 80fe 007c 8202 1c02 827c
|
||||||
000c 1424 4484 fe04 00fe 8080 7c02 827c
|
000c 1424 4484 fe04 00fe 8080 7c02 827c
|
||||||
|
@ -102,4 +98,4 @@ RTN
|
||||||
007c 8282 7c82 827c 007c 8282 7e02 827c
|
007c 8282 7c82 827c 007c 8282 7e02 827c
|
||||||
007c 8202 7e82 827e 00fc 8282 fc82 82fc
|
007c 8202 7e82 827e 00fc 8282 fc82 82fc
|
||||||
007c 8280 8080 827c 00fc 8282 8282 82fc
|
007c 8280 8080 827c 00fc 8282 8282 82fc
|
||||||
007c 8280 f080 827c 007c 8280 f080 8080 ]
|
007c 8280 f080 827c 007c 8280 f080 8080
|
|
@ -1,4 +1,5 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "uxn.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2021 Devine Lu Linvega
|
Copyright (c) 2021 Devine Lu Linvega
|
||||||
|
@ -11,8 +12,6 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
WITH REGARD TO THIS SOFTWARE.
|
WITH REGARD TO THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "uxn.h"
|
|
||||||
|
|
||||||
#pragma mark - Core
|
#pragma mark - Core
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
#include "../uxn.h"
|
||||||
|
#include "apu.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2021 Devine Lu Linvega
|
Copyright (c) 2021 Devine Lu Linvega
|
||||||
Copyright (c) 2021 Andrew Alderwick
|
Copyright (c) 2021 Andrew Alderwick
|
||||||
|
@ -10,9 +13,6 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
WITH REGARD TO THIS SOFTWARE.
|
WITH REGARD TO THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../uxn.h"
|
|
||||||
#include "apu.h"
|
|
||||||
|
|
||||||
#define NOTE_PERIOD 0x10000
|
#define NOTE_PERIOD 0x10000
|
||||||
#define ADSR_STEP (SAMPLE_FREQUENCY / 0xf)
|
#define ADSR_STEP (SAMPLE_FREQUENCY / 0xf)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#include "mpu.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2021 Devine Lu Linvega
|
Copyright (c) 2021 Devine Lu Linvega
|
||||||
Copyright (c) 2021 Andrew Alderwick
|
Copyright (c) 2021 Andrew Alderwick
|
||||||
|
@ -10,8 +12,6 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
WITH REGARD TO THIS SOFTWARE.
|
WITH REGARD TO THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "mpu.h"
|
|
||||||
|
|
||||||
int
|
int
|
||||||
initmpu(Mpu *m, Uint8 device)
|
initmpu(Mpu *m, Uint8 device)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#include "ppu.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2021 Devine Lu Linvega
|
Copyright (c) 2021 Devine Lu Linvega
|
||||||
Copyright (c) 2021 Andrew Alderwick
|
Copyright (c) 2021 Andrew Alderwick
|
||||||
|
@ -10,8 +12,6 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
WITH REGARD TO THIS SOFTWARE.
|
WITH REGARD TO THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ppu.h"
|
|
||||||
|
|
||||||
static Uint8 font[][8] = {
|
static Uint8 font[][8] = {
|
||||||
{0x00, 0x7c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7c},
|
{0x00, 0x7c, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7c},
|
||||||
{0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
|
{0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
#include <SDL2/SDL.h>
|
#include <SDL2/SDL.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include "uxn.h"
|
||||||
|
#include "devices/ppu.h"
|
||||||
|
#include "devices/apu.h"
|
||||||
|
#include "devices/mpu.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2021 Devine Lu Linvega
|
Copyright (c) 2021 Devine Lu Linvega
|
||||||
|
@ -13,11 +17,6 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
WITH REGARD TO THIS SOFTWARE.
|
WITH REGARD TO THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "uxn.h"
|
|
||||||
#include "devices/ppu.h"
|
|
||||||
#include "devices/apu.h"
|
|
||||||
#include "devices/mpu.h"
|
|
||||||
|
|
||||||
static SDL_AudioDeviceID audio_id;
|
static SDL_AudioDeviceID audio_id;
|
||||||
static SDL_Window *gWindow;
|
static SDL_Window *gWindow;
|
||||||
static SDL_Renderer *gRenderer;
|
static SDL_Renderer *gRenderer;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "uxn.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (u) 2021 Devine Lu Linvega
|
Copyright (u) 2021 Devine Lu Linvega
|
||||||
|
@ -11,8 +12,6 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
WITH REGARD TO THIS SOFTWARE.
|
WITH REGARD TO THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "uxn.h"
|
|
||||||
|
|
||||||
#pragma mark - Operations
|
#pragma mark - Operations
|
||||||
|
|
||||||
/* clang-format off */
|
/* clang-format off */
|
||||||
|
|
10
src/uxn.h
10
src/uxn.h
|
@ -28,8 +28,6 @@ typedef struct {
|
||||||
Uint8 dat[65536];
|
Uint8 dat[65536];
|
||||||
} Memory;
|
} Memory;
|
||||||
|
|
||||||
struct Uxn;
|
|
||||||
|
|
||||||
typedef struct Device {
|
typedef struct Device {
|
||||||
struct Uxn *u;
|
struct Uxn *u;
|
||||||
Uint8 addr, dat[16], *mem;
|
Uint8 addr, dat[16], *mem;
|
||||||
|
@ -42,10 +40,12 @@ typedef struct Uxn {
|
||||||
Device dev[16];
|
Device dev[16];
|
||||||
} Uxn;
|
} Uxn;
|
||||||
|
|
||||||
int loaduxn(Uxn *c, char *filepath);
|
struct Uxn;
|
||||||
int bootuxn(Uxn *c);
|
|
||||||
int evaluxn(Uxn *u, Uint16 vec);
|
|
||||||
void mempoke16(Uint8 *m, Uint16 a, Uint16 b);
|
void mempoke16(Uint8 *m, Uint16 a, Uint16 b);
|
||||||
Uint16 mempeek16(Uint8 *m, Uint16 a);
|
Uint16 mempeek16(Uint8 *m, Uint16 a);
|
||||||
|
|
||||||
|
int loaduxn(Uxn *c, char *filepath);
|
||||||
|
int bootuxn(Uxn *c);
|
||||||
|
int evaluxn(Uxn *u, Uint16 vec);
|
||||||
Device *portuxn(Uxn *u, Uint8 id, char *name, void (*talkfn)(Device *, Uint8, Uint8));
|
Device *portuxn(Uxn *u, Uint8 id, char *name, void (*talkfn)(Device *, Uint8, Uint8));
|
||||||
|
|
Loading…
Reference in New Issue