@@ 13,6 13,8 @@
ctrl+r - rename
ctrl+o - load
ctrl+s - save
+ ctrl+c - copy
+ ctrl+v - paste
)
%+ { ADD } %- { SUB } %* { MUL } %/ { DIV }
@@ 207,11 209,7 @@ BRK
DUP #34 ! ,&no-4 JCN
( color ) #03 .settings/color STZ ;draw-toolview JSR2 &no-4
DUP #08 ! ,&no-delete JCN
- ( delete ) .settings/focus LDZ2 ;op-shift-memory-left JSR2
- SET-STATE ;redraw JSR2 &no-delete
- DUP #0d ! ,&no-insert JCN
- ( insert ) .settings/focus LDZ2 ;op-shift-memory-right JSR2
- SET-STATE ;redraw JSR2 &no-insert
+ ( delete ) ;erase-selection JSR2 SET-STATE ;redraw JSR2 &no-delete
DUP #20 ! ,&no-zoom JCN
( zoom ) .settings/zoom TOGGLE ;redraw JSR2 &no-zoom
DUP #71 ! ,&no-tool0 JCN
@@ 619,28 617,6 @@ BRK
RTN
-@op-shift-memory-left ( addr* -- )
-
- DUP2 LENGTH ++
- &loop
- OVR2 #0010 ++ LDA STH
- OVR2 STHr ROT ROT STA
- INCR2 NEQ2k ,&loop JCN
- POP2 POP2
-
-RTN
-
-@op-shift-memory-right ( addr* -- )
-
- DUP2 LENGTH ++ SWP2 #0001 --
- &loop
- OVR2 LDA STH
- OVR2 #0010 ++ STHr ROT ROT STA
- DECR2 NEQ2k ,&loop JCN
- POP2 POP2
-
-RTN
-
@op-shift-tile-up ( addr* -- )
STH2
@@ 1149,8 1125,31 @@ RTN
RTN
+@erase-tile ( addr* -- )
+
+ STH2
+ #10 #00
+ &loop
+ ( get )
+ DUP TOS STH2kr ++ #00 ROT ROT STA
+ #01 + GTHk ,&loop JCN
+ POP2
+ POP2r
+
+RTN
+
@erase-selection ( -- )
+ .selection/y2 LDZ #01 + .selection/y1 LDZ
+ &ver
+ .selection/x2 LDZ #01 + .selection/x1 LDZ
+ &hor
+ ( write char ) GET-ITER GET-ADDR ;erase-tile JSR2
+ #01 + GTHk ,&hor JCN
+ POP2
+ #01 + GTHk ,&ver JCN
+ POP2
+
RTN
@clamp-selection ( -- )