@@ 176,6 176,7 @@
;sqr-pcm .Audio3/addr DEO2
( vectors )
+ ;on-console .Console/vector DEO2
;on-button .Controller/vector DEO2
;on-mouse .Mouse/vector DEO2
;on-frame .Screen/vector DEO2
@@ 232,6 233,12 @@
BRK
+@on-console ( -> )
+
+ .selection LDZ2 .Console/read DEI SET-CELL
+
+BRK
+
@on-frame ( -> )
( paused ) .timer/alive LDZ BRK?
@@ 1107,13 1114,21 @@ RTN
@op-byte ( x y char -- )
- POP
- ( get octave ) DUP2 [ SWP INC SWP ] GET-PORT-RIGHT [ #0c * ] STH
- ( get note ) DUP2 [ SWP #02 + SWP ] GET-PORT-RIGHT-RAW
- ( req note ) DUP CHAR-DOT ! ,&is-active JCN [ POP POP2 POPr RTN ] &is-active GET-NOTE STH
- ( req bang ) DUP2 ;get-bang JSR2 ,&is-bang JCN POP2 POP2r RTN &is-bang
- IO-TYPE SET-TYPE
- ADDr STHr .Console/write DEO
+ POP
+
+ DUP2 GET-INDEX STH2
+ ;get-bang JSR2 STH ROTr ROTr
+
+ ( get a )
+ STH2kr INC2 ;get-port-right JSR2
+ ( get b )
+ STH2r INC2 INC2 ;get-port-right JSR2
+
+ STHr ,&is-bang JCN
+ POP2 RTN
+ &is-bang
+
+ SWP #0c * + .Console/write DEO
RTN