... | ... |
@@ -63,24 +63,35 @@ BRK |
63 | 63 |
|
64 | 64 |
( keys ) |
65 | 65 |
|
66 |
- ,no-keys ~dev/key #00 EQU JMP? POP2 |
|
66 |
+ ,keys-end ~dev/key #00 EQU JMP? POP2 |
|
67 |
+ |
|
68 |
+ ,no-backspace ~dev/key #08 NEQ JMP? POP2 |
|
69 |
+ ( erase ) |
|
70 |
+ ~position.x #0001 SUB2 =position.x ,select JSR |
|
71 |
+ ~document.eof #0001 SUB2 =document.eof |
|
72 |
+ ~selection.from =j ( start -> end ) |
|
73 |
+ @erase-loop |
|
74 |
+ ~j #0001 ADD2 LDR ~j STR |
|
75 |
+ ( incr ) ~j #0001 ADD2 =j |
|
76 |
+ ,erase-loop ~j ~document.eof LTH2 JMP? POP2 |
|
77 |
+ ( release ) #00 =dev/key |
|
78 |
+ ,redraw JSR |
|
79 |
+ ,keys-end JMP |
|
80 |
+ @no-backspace |
|
67 | 81 |
|
68 | 82 |
( insert ) |
69 | 83 |
~document.eof #0001 ADD2 =document.eof |
70 |
- |
|
71 | 84 |
~document.eof =j ( end -> start ) |
72 |
- |
|
73 | 85 |
@insert-loop |
74 |
- ~j #0001 SUB2 LDR ~j STR |
|
75 |
- ( decr ) ~j #0001 SUB2 =j |
|
76 |
- ,insert-loop ~j ~selection.from GTH2 JMP? POP2 |
|
77 |
- |
|
86 |
+ ~j #0001 SUB2 LDR ~j STR |
|
87 |
+ ( decr ) ~j #0001 SUB2 =j |
|
88 |
+ ,insert-loop ~j ~selection.from GTH2 JMP? POP2 |
|
78 | 89 |
~dev/key ~selection.from STR |
79 | 90 |
~position.x #0001 ADD2 =position.x ,select JSR |
80 | 91 |
( release ) #00 =dev/key |
81 | 92 |
,redraw JSR |
82 | 93 |
|
83 |
- @no-keys |
|
94 |
+ @keys-end |
|
84 | 95 |
|
85 | 96 |
( mouse ) |
86 | 97 |
|