Browse Source

Optimized tail-calls

main
Devine Lu Linvega 4 years ago
parent
commit
eb2979c099
  1. 2
      build.sh
  2. 3
      src/assets.tal
  3. 186
      src/main.tal

2
build.sh

@ -8,7 +8,7 @@ if [ -e "$HOME/roms/uxnlin.rom" ]
then then
echo "Linting.." echo "Linting.."
uxncli $HOME/roms/uxnlin.rom etc/nametable.tal uxncli $HOME/roms/uxnlin.rom etc/nametable.tal
uxncli $HOME/roms/uxnlin.rom src/nasu.tal uxncli $HOME/roms/uxnlin.rom src/main.tal
uxncli $HOME/roms/uxnlin.rom src/manifest.tal uxncli $HOME/roms/uxnlin.rom src/manifest.tal
fi fi

3
src/assets.tal

@ -98,4 +98,5 @@ c060 3018 0c06 0300 3c0c 0c0c 0c0c 3c00
ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ff00 ffff ffff ffff ffff ffff ffff ffff ff00 ffff ffff ffff ffff
@spritesheet $1000 &nametable $300 @nametable $300
@spritesheet

186
src/main.tal

@ -35,14 +35,14 @@
@preview &x1 $2 &y1 $2 &x2 $2 &y2 $2 @preview &x1 $2 &y1 $2 &x2 $2 &y2 $2
@zoomview &x1 $2 &y1 $2 &x2 $2 &y2 $2 @zoomview &x1 $2 &y1 $2 &x2 $2 &y2 $2
@tileview &x1 $2 &y1 $2 &x2 $2 &y2 $2 @tileview &x1 $2 &y1 $2 &x2 $2 &y2 $2
@nametable &x $2 &y $2 &x2 $2 &y2 $2 @nametableview &x $2 &y $2 &x2 $2 &y2 $2
|0100 ( -> ) |0100 ( -> )
( theme ) ( theme )
#4bbf .System/r DEO2 #47ff .System/r DEO2
#158f .System/g DEO2 #147f .System/g DEO2
#46bf .System/b DEO2 #368f .System/b DEO2
( size ) ( size )
#012e .Screen/width DEO2 #012e .Screen/width DEO2
#00f0 .Screen/height DEO2 #00f0 .Screen/height DEO2
@ -64,7 +64,7 @@
( place ) ( place )
.Screen/width DEI2 #01 SFT2 .frame/width LDZ2 #01 SFT2 SUB2 #001c .frame/width LDZ2 .frame/height LDZ2 ;frame ;set-size JSR2 .Screen/width DEI2 #01 SFT2 .frame/width LDZ2 #01 SFT2 SUB2 #001c .frame/width LDZ2 .frame/height LDZ2 ;frame ;set-size JSR2
.frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;tileview ;set-size JSR2 .frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;tileview ;set-size JSR2
.frame/x1 LDZ2 #0088 ADD2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;nametable ;set-size JSR2 .frame/x1 LDZ2 #0088 ADD2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;nametableview ;set-size JSR2
.frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #001f #002f ;zoomview ;set-size JSR2 .frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #001f #002f ;zoomview ;set-size JSR2
.frame/x1 LDZ2 #002f ADD2 .frame/y1 LDZ2 #001f #002f ;preview ;set-size JSR2 .frame/x1 LDZ2 #002f ADD2 .frame/y1 LDZ2 #001f #002f ;preview ;set-size JSR2
.frame/x1 LDZ2 #005f ADD2 .frame/y1 LDZ2 #0020 #002f ;colorview ;set-size JSR2 .frame/x1 LDZ2 #005f ADD2 .frame/y1 LDZ2 #0020 #002f ;colorview ;set-size JSR2
@ -85,7 +85,7 @@ BRK
08 "Nasu $1 08 "Nasu $1
01 'n :file-new "New $1 01 'n :file-new "New $1
01 'r :file-rename "Rename $1 01 'r :trap "Rename $1
01 'o :file-open "Open $1 01 'o :file-open "Open $1
00 00 :file-open-mono "OpenMono $1 00 00 :file-open-mono "OpenMono $1
01 's :file-save "Save $1 01 's :file-save "Save $1
@ -227,7 +227,7 @@ BRK
.Mouse/state DEI #00 EQU ,&no-touch JCN .Mouse/state DEI #00 EQU ,&no-touch JCN
.Mouse/x DEI2 .Mouse/y DEI2 .tileview ;within-rect JSR2 ;on-touch-tileview JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .tileview ;within-rect JSR2 ;on-touch-tileview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .nametable ;within-rect JSR2 ;on-touch-nametable JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .nametableview ;within-rect JSR2 ;on-touch-nametable JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .toolview ;within-rect JSR2 ;on-touch-toolview JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .toolview ;within-rect JSR2 ;on-touch-toolview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .blendview ;within-rect JSR2 ;on-touch-blendview JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .blendview ;within-rect JSR2 ;on-touch-blendview JCN2
.Mouse/x DEI2 .Mouse/y DEI2 .colorview ;within-rect JSR2 ;on-touch-colorview JCN2 .Mouse/x DEI2 .Mouse/y DEI2 .colorview ;within-rect JSR2 ;on-touch-colorview JCN2
@ -293,9 +293,9 @@ BRK
@on-touch-nametable ( -> ) @on-touch-nametable ( -> )
( id ) ( id )
.Mouse/y DEI2 .nametable/y LDZ2 SUB2 #43 SFT2 .Mouse/y DEI2 .nametableview/y LDZ2 SUB2 #43 SFT2
.Mouse/x DEI2 .nametable/x LDZ2 SUB2 #03 SFT2 ADD2 .Mouse/x DEI2 .nametableview/x LDZ2 SUB2 #03 SFT2 ADD2
#0003 MUL2 ;spritesheet/nametable ADD2 STH2 #0003 MUL2 ;nametable ADD2 STH2
.settings/focus LDZ2 ;spritesheet SUB2 STH2kr STA2 .settings/focus LDZ2 ;spritesheet SUB2 STH2kr STA2
.settings/blend LDZ INC2r INC2r STH2r STA .settings/blend LDZ INC2r INC2r STH2r STA
;draw-nametable JSR2 ;draw-nametable JSR2
@ -399,24 +399,24 @@ BRK
.settings/zoom LDZk #00 EQU SWP STZ .settings/zoom LDZk #00 EQU SWP STZ
;draw-tileview JSR2 ;draw-tileview JSR2
;draw-toolview JSR2 ;draw-toolview ( .. )
JMP2r JMP2
@set-color ( color -- ) @set-color ( color -- )
.settings/color STZ .settings/color STZ
;draw-toolview JSR2 ;draw-toolview JSR2
;draw-colorview JSR2 ;draw-colorview ( .. )
JMP2r JMP2
@set-tool ( tool -- ) @set-tool ( tool -- )
.settings/tool STZ .settings/tool STZ
;draw-toolview JSR2 ;draw-toolview ( .. )
JMP2r JMP2
@set-selection-zoom ( x y -- ) @set-selection-zoom ( x y -- )
@ -434,18 +434,18 @@ JMP2r
DUP .selection/x1 STZ DUP .selection/x1 STZ
.selection/x2 STZ .selection/x2 STZ
;set-focus JSR2 ;set-focus JSR2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
@set-selection-to ( x y -- ) @set-selection-to ( x y -- )
.selection/y2 STZ .selection/y2 STZ
.selection/x2 STZ .selection/x2 STZ
;clamp-selection JSR2 ;clamp-selection JSR2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
@set-focus ( -- ) @set-focus ( -- )
@ -476,9 +476,9 @@ JMP2r
( focus ) ( focus )
;set-focus JSR2 ;set-focus JSR2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
@mod-selection-zoom ( x y -- ) @mod-selection-zoom ( x y -- )
@ -490,9 +490,9 @@ JMP2r
.selection/zx LDZ #03 SFT .selection/zx LDZ #03 SFT
.selection/zy LDZ #03 SFT .selection/zy LDZ #03 SFT
;set-selection-from JSR2 ;set-selection-from JSR2
;draw-tileview-zoom JSR2 ;draw-tileview-zoom ( .. )
JMP2r JMP2
@scale-selection ( x y -- ) @scale-selection ( x y -- )
@ -508,9 +508,9 @@ JMP2r
&no-y &no-y
( focus ) ( focus )
;set-focus JSR2 ;set-focus JSR2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
@run ( op* -- ) @run ( op* -- )
@ -530,9 +530,9 @@ JMP2r
@op-erase ( addr* -- ) @op-erase ( addr* -- )
#0010 ;mclr JSR2 #0010 ;mclr ( .. )
JMP2r JMP2
@op-shiftu ( addr* -- ) @op-shiftu ( addr* -- )
@ -575,7 +575,7 @@ JMP2r
@op-shiftl ( addr* -- ) @op-shiftl ( addr* -- )
STH2 STH2
#08 #00 #0800
&loop &loop
( ch1 ) ( ch1 )
#00 OVR STH2kr ADD2 DUP2 #00 OVR STH2kr ADD2 DUP2
@ -592,7 +592,7 @@ JMP2r
@op-shiftr ( addr* -- ) @op-shiftr ( addr* -- )
STH2 STH2
#08 #00 #0800
&loop &loop
( ch1 ) ( ch1 )
#00 OVR STH2kr ADD2 DUP2 #00 OVR STH2kr ADD2 DUP2
@ -632,9 +632,9 @@ JMP2r
;draw-preview JSR2 ;draw-preview JSR2
;draw-tileview JSR2 ;draw-tileview JSR2
;draw-nametable JSR2 ;draw-nametable JSR2
;draw-zoomview JSR2 ;draw-zoomview ( .. )
JMP2r JMP2
@draw-menu-bg ( -- ) @draw-menu-bg ( -- )
@ -696,14 +696,14 @@ JMP2r
INC GTHk ,&ver JCN INC GTHk ,&ver JCN
POP2 POP2
( guide hor ) ( guide hor )
#00 #07 .selection/zy LDZ SUB #0007 AND2 #30 SFT2 #0001 SUB2 #0008 ADD2 STH2 #0007 .selection/zy LDZ SUB #0007 AND2 #30 SFT2 #0001 SUB2 #0008 ADD2 STH2
.tileview/x1 LDZ2 .tileview/y1 LDZ2 STH2kr ADD2 #0a ;line-hor-dashed JSR2 .tileview/x1 LDZ2 .tileview/y1 LDZ2 STH2kr ADD2 #0a ;line-hor-dashed JSR2
.selection/zy LDZ #07 AND #00 EQU ,&skip-hor JCN .selection/zy LDZ #07 AND #00 EQU ,&skip-hor JCN
.tileview/x1 LDZ2 .tileview/y1 LDZ2 STH2kr ADD2 #0040 ADD2 #0a ;line-hor-dashed JSR2 .tileview/x1 LDZ2 .tileview/y1 LDZ2 STH2kr ADD2 #0040 ADD2 #0a ;line-hor-dashed JSR2
&skip-hor &skip-hor
POP2r POP2r
( guide ver ) ( guide ver )
#00 #07 .selection/zx LDZ SUB #0007 AND2 #30 SFT2 #0001 SUB2 #0008 ADD2 STH2 #0007 .selection/zx LDZ SUB #0007 AND2 #30 SFT2 #0001 SUB2 #0008 ADD2 STH2
.tileview/x1 LDZ2 STH2kr ADD2 .tileview/y1 LDZ2 #0a ;line-ver-dashed JSR2 .tileview/x1 LDZ2 STH2kr ADD2 .tileview/y1 LDZ2 #0a ;line-ver-dashed JSR2
.selection/zx LDZ #07 AND #00 EQU ,&skip-ver JCN .selection/zx LDZ #07 AND #00 EQU ,&skip-ver JCN
.tileview/x1 LDZ2 STH2kr ADD2 #0040 ADD2 .tileview/y1 LDZ2 #0a ;line-ver-dashed JSR2 .tileview/x1 LDZ2 STH2kr ADD2 #0040 ADD2 .tileview/y1 LDZ2 #0a ;line-ver-dashed JSR2
@ -714,15 +714,15 @@ JMP2r
@draw-nametable ( -- ) @draw-nametable ( -- )
.nametable/y LDZ2 .Screen/y DEO2 .nametableview/y LDZ2 .Screen/y DEO2
#1000 #1000
&ver &ver
STHk STHk
.nametable/x LDZ2 .Screen/x DEO2 .nametableview/x LDZ2 .Screen/x DEO2
#1000 #1000
&hor &hor
( id ) #00 OVR STHkr #40 SFT ADD ( id ) #00 OVR STHkr #40 SFT ADD
( addr* ) #0003 MUL2 ;spritesheet/nametable ADD2 ( addr* ) #0003 MUL2 ;nametable ADD2
LDA2k ;spritesheet ADD2 .Screen/addr DEO2 LDA2k ;spritesheet ADD2 .Screen/addr DEO2
( color ) INC2 INC2 LDA .Screen/sprite DEO ( color ) INC2 INC2 LDA .Screen/sprite DEO
INC GTHk ,&hor JCN INC GTHk ,&hor JCN
@ -785,18 +785,18 @@ JMP2r
STH SWP2 NIP STH SWP2 NIP
STHr SWP STHr SWP
STH2r SFT #01 AND ,&do-set JCN STH2r SFT #01 AND ,&do-set JCN
( mask ) #01 #07 ROT #07 AND SUB #40 SFT SFT #ff EOR AND ( mask ) #0107 ROT #07 AND SUB #40 SFT SFT #ff EOR AND
( save ) ROT ROT STA ( save ) ROT ROT STA
JMP2r JMP2r
&do-set &do-set
( mask ) #01 #07 ROT #07 AND SUB #40 SFT SFT ORA ( mask ) #0107 ROT #07 AND SUB #40 SFT SFT ORA
( save ) ROT ROT STA ( save ) ROT ROT STA
JMP2r JMP2r
@has-nametable ( -- bool ) @has-nametable ( -- bool )
;spritesheet/nametable STH2k #0300 ADD2 STH2r ;nametable STH2k #0300 ADD2 STH2r
&loop &loop
LDAk #00 EQU ,&continue JCN LDAk #00 EQU ,&continue JCN
POP2 POP2 #01 JMP2r POP2 POP2 #01 JMP2r
@ -874,9 +874,9 @@ JMP2r
.preview/x1 LDZ2 .Screen/x DEO2 .preview/x1 LDZ2 .Screen/x DEO2
.preview/y2 LDZ2 #0008 SUB2 .Screen/y DEO2 .preview/y2 LDZ2 #0008 SUB2 .Screen/y DEO2
#03 ;draw-chr/color STA #03 ;draw-chr/color STA
.settings/ratio LDZ ;draw-byte JSR2 .settings/ratio LDZ ;draw-byte ( .. )
JMP2r JMP2
@draw-colorview ( -- ) @draw-colorview ( -- )
@ -917,7 +917,7 @@ JMP2r
#00 .Screen/auto DEO #00 .Screen/auto DEO
.settings/focus LDZ2 .Screen/addr DEO2 .settings/focus LDZ2 .Screen/addr DEO2
#10 #00 #1000
&loop &loop
#00 OVR #03 AND #30 SFT2 .blendview/x1 LDZ2 ADD2 .Screen/x DEO2 #00 OVR #03 AND #30 SFT2 .blendview/x1 LDZ2 ADD2 .Screen/x DEO2
#00 OVR #32 SFT2 .blendview/y1 LDZ2 ADD2 .Screen/y DEO2 #00 OVR #32 SFT2 .blendview/y1 LDZ2 ADD2 .Screen/y DEO2
@ -999,9 +999,9 @@ JMP2r
;make-icn .Screen/addr DEO2 ;make-icn .Screen/addr DEO2
#01 .Screen/sprite DEO #01 .Screen/sprite DEO
( filepath ) ( filepath )
#01 ;draw-filepath JSR2 #01 ;draw-filepath ( .. )
JMP2r JMP2
@draw-state ( -- ) @draw-state ( -- )
@ -1028,16 +1028,22 @@ JMP2r
@draw-once ( -- ) @draw-once ( -- )
.tileview/x1 LDZ2 #0008 SUB2 .tileview/y1 LDZ2 #0008 SUB2 #1010 ;frame-icns ;draw-frame JSR2 .tileview/x1 LDZ2 #0008 SUB2 .tileview/y1 LDZ2 #0008 SUB2 #1010 ;frame-icns ;draw-frame JSR2
.nametable/x LDZ2 #0008 SUB2 .nametable/y LDZ2 #0008 SUB2 #1010 ;frame-icns ;draw-frame JSR2 .nametableview/x LDZ2 #0008 SUB2 .nametableview/y LDZ2 #0008 SUB2 #1010 ;frame-icns ;draw-frame JSR2
#01 .Screen/auto DEO #01 .Screen/auto DEO
JMP2r JMP2r
( drawing primitives ) ( drawing primitives )
@get-strw ( str* -- width* )
;slen JSR2 #30 SFT2
JMP2r
@draw-str-right ( text* -- ) @draw-str-right ( text* -- )
DUP2 ;get-strw JSR2 STH2 DUP2 ,get-strw JSR STH2
.Screen/x DEI2k STH2r SUB2 ROT DEO2 .Screen/x DEI2k STH2r SUB2 ROT DEO2
@draw-str ( str* -- str* ) @draw-str ( str* -- str* )
@ -1071,12 +1077,6 @@ JMP2r
JMP2r JMP2r
@get-strw ( str* -- width* )
;slen JSR2 #30 SFT2
JMP2r
( file ) ( file )
@file-new ( -- ) @file-new ( -- )
@ -1088,15 +1088,9 @@ JMP2r
;filepath #0040 ;mclr JSR2 ;filepath #0040 ;mclr JSR2
;untitled-txt ;filepath ;scpy JSR2 ;untitled-txt ;filepath ;scpy JSR2
#00 .state/changed STZ ;draw-state JSR2 #00 .state/changed STZ ;draw-state JSR2
;redraw JSR2 ;redraw ( .. )
JMP2r
@file-rename ( -- ) JMP2
;trap JSR2
JMP2r
@file-open ( -- ) @file-open ( -- )
@ -1110,13 +1104,13 @@ JMP2r
;nametable-ext ;filepath ;scap JSR2 #0004 ;mcpy JSR2 ;nametable-ext ;filepath ;scap JSR2 #0004 ;mcpy JSR2
;filepath .File/name DEO2 ;filepath .File/name DEO2
#0300 .File/length DEO2 #0300 .File/length DEO2
;spritesheet/nametable .File/read DEO2 ;nametable .File/read DEO2
;filepath ;scap JSR2 #0004 SUB2 #0004 ;mclr JSR2 ;filepath ;scap JSR2 #0004 SUB2 #0004 ;mclr JSR2
#00 .state/changed STZ ;draw-state JSR2 #00 .state/changed STZ ;draw-state JSR2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
@file-open-mono ( -- ) @file-open-mono ( -- )
@ -1131,9 +1125,9 @@ JMP2r
INC NEQk ,&loop JCN INC NEQk ,&loop JCN
POP2 POP2
#00 .state/changed STZ ;draw-state JSR2 #00 .state/changed STZ ;draw-state JSR2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
@file-save ( -- ) @file-save ( -- )
@ -1147,13 +1141,13 @@ JMP2r
;nametable-ext ;filepath ;scap JSR2 #0004 ;mcpy JSR2 ;nametable-ext ;filepath ;scap JSR2 #0004 ;mcpy JSR2
;filepath .File/name DEO2 ;filepath .File/name DEO2
#0300 .File/length DEO2 #0300 .File/length DEO2
;spritesheet/nametable .File/write DEO2 ;nametable .File/write DEO2
;filepath ;scap JSR2 #0004 SUB2 #0004 ;mclr JSR2 ;filepath ;scap JSR2 #0004 SUB2 #0004 ;mclr JSR2
&no-nametable &no-nametable
#00 .state/changed STZ ;draw-state JSR2 #00 .state/changed STZ ;draw-state ( .. )
JMP2r JMP2
@file-save-mono ( -- ) @file-save-mono ( -- )
@ -1165,9 +1159,9 @@ JMP2r
#00 OVR #40 SFT2 ;spritesheet ADD2 .File/write DEO2 #00 OVR #40 SFT2 ;spritesheet ADD2 .File/write DEO2
INC NEQk ,&loop JCN INC NEQk ,&loop JCN
POP2 POP2
#00 .state/changed STZ ;draw-state JSR2 #00 .state/changed STZ ;draw-state ( .. )
JMP2r JMP2
@save-theme ( -- ) @save-theme ( -- )
@ -1198,9 +1192,9 @@ JMP2r
POP2 POP2
INC GTHk ,&ver JCN INC GTHk ,&ver JCN
POP2 POP2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
&buf $10 &buf $10
@edit-paste ( -- ) @edit-paste ( -- )
@ -1216,47 +1210,47 @@ JMP2r
POP2 POP2
INC GTHk ,&ver JCN INC GTHk ,&ver JCN
POP2 POP2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
@edit-cut ( -- ) @edit-cut ( -- )
;edit-copy JSR2 ;edit-copy JSR2
;op-erase ;run JSR2 ;op-erase ;run JSR2
.selection/x1 LDZ2 .selection/x2 STZ2 .selection/x1 LDZ2 .selection/x2 STZ2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
( select ) ( select )
@tool-brush ( -- ) #00 ;set-tool JSR2 JMP2r @tool-brush ( -- ) #00 ;set-tool JMP2
@tool-selector ( -- ) #01 ;set-tool JSR2 JMP2r @tool-selector ( -- ) #01 ;set-tool JMP2
@tool-zoom ( -- ) #02 ;set-tool JSR2 JMP2r @tool-zoom ( -- ) #02 ;set-tool JMP2
@move-up ( -- ) #00ff ;mod-selection JSR2 JMP2r @move-up ( -- ) #00ff ;mod-selection JMP2
@move-down ( -- ) #0001 ;mod-selection JSR2 JMP2r @move-down ( -- ) #0001 ;mod-selection JMP2
@move-left ( -- ) #ff00 ;mod-selection JSR2 JMP2r @move-left ( -- ) #ff00 ;mod-selection JMP2
@move-right ( -- ) #0100 ;mod-selection JSR2 JMP2r @move-right ( -- ) #0100 ;mod-selection JMP2
@move-dech ( -- ) #00ff ;scale-selection JSR2 JMP2r @move-dech ( -- ) #00ff ;scale-selection JMP2
@move-inch ( -- ) #0001 ;scale-selection JSR2 JMP2r @move-inch ( -- ) #0001 ;scale-selection JMP2
@move-decw ( -- ) #ff00 ;scale-selection JSR2 JMP2r @move-decw ( -- ) #ff00 ;scale-selection JMP2
@move-incw ( -- ) #0100 ;scale-selection JSR2 JMP2r @move-incw ( -- ) #0100 ;scale-selection JMP2
@move-reset ( -- ) @move-reset ( -- )
.selection/x1 LDZ2 .selection/x2 STZ2 .selection/x1 LDZ2 .selection/x2 STZ2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
( pick ) ( pick )
@pick-color1 ( -- ) #00 ;set-color JSR2 JMP2r @pick-color1 ( -- ) #00 ;set-color JMP2
@pick-color2 ( -- ) #01 ;set-color JSR2 JMP2r @pick-color2 ( -- ) #01 ;set-color JMP2
@pick-color3 ( -- ) #02 ;set-color JSR2 JMP2r @pick-color3 ( -- ) #02 ;set-color JMP2
@pick-color4 ( -- ) #03 ;set-color JSR2 JMP2r @pick-color4 ( -- ) #03 ;set-color JMP2
( option ) ( option )
@ -1264,9 +1258,9 @@ JMP2r
;op-erase ;run JSR2 ;op-erase ;run JSR2
#01 .state/changed STZ ;draw-state JSR2 #01 .state/changed STZ ;draw-state JSR2
;redraw JSR2 ;redraw ( .. )
JMP2r JMP2
( generics ) ( generics )

Loading…
Cancel
Save