| ... | ... |
@@ -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 |
|