aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2023-11-04 12:10:40 +0200
committerJan Tuomi <jans.tuomi@gmail.com>2023-11-04 12:10:40 +0200
commit066ad25889c143f62a817248f7fbf66490a7f4a3 (patch)
tree51f61e012f8095661f40c081ee50e33065f95c9e
parent6b7965facbeb34fd1fc84fff2bdd3d3a0c17e474 (diff)
Add backspace support
-rw-r--r--asm/text_mode.atk1619
-rw-r--r--digital/atk16_mem.dig2
2 files changed, 14 insertions, 7 deletions
diff --git a/asm/text_mode.atk16 b/asm/text_mode.atk16
index d7cdcec..9a57954 100644
--- a/asm/text_mode.atk16
+++ b/asm/text_mode.atk16
@@ -29,18 +29,25 @@
ldi vt_term_pp_addr RB ; RB := Terminal peripheral address pointer
ldr RB RB ; RB := Terminal peripheral address deref
+ mov RA RD
+ subi RD 5 RD
+ subi RD 5 RD
+ bri zero keyboard_isr_clear
+ mov RA RD
+ subi RD 5 RD
+ subi RD 3 RD
+ bri zero keyboard_isr_backspace
str RA RC
addi RC 1 RC
-
- subi RA 5 RA
- subi RA 5 RA
- bri zero keyboard_isr_clear
jpi keyboard_isr_end
@label keyboard_isr_clear
- ; cursor_to_line RC 4
- ; put_string RC RB " "
new_line RC
put_string RC RB " > "
+ addi RC 1 RC
+@label keyboard_isr_backspace
+ subi RC 1 RC
+ put_char RC RB " "
+ subi RC 1 RC
@label keyboard_isr_end
stack_restore RA RB
rti
diff --git a/digital/atk16_mem.dig b/digital/atk16_mem.dig
index e8efe27..cd6b6be 100644
--- a/digital/atk16_mem.dig
+++ b/digital/atk16_mem.dig
@@ -34,7 +34,7 @@
</entry>
<entry>
<string>Data</string>
- <data>4014,2a00,6019,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,0096,001a,001a,001a,8000,e000,e001,e002,e800,f800,4855,f000,4017,2000,4200,3008,6000,6001,f840,4422,2480,4220,3088,1488,4248,3088,1488,4245,3088,1488,424c,3088,1488,424c,3088,1488,424f,3088,1488,4220,3088,1488,4243,3088,1488,424f,3088,1488,4252,3088,1488,4245,3088,1488,4243,3088,1488,4241,3088,1488,424d,3088,1488,4250,3088,1488,14b5,1488,14b7,4220,3088,1488,42bb,3088,1488,42bb,3088,1488,42bb,3088,1488,42bb,3088,1488,42bb,3088,1488,42bb,3088,1488,42bb,3088,1488,4220,3088,1488,4242,3088,1488,4259,3088,1488,4220,3088,1488,424a,3088,1488,4241,3088,1488,424e,3088,1488,14b5,1488,14b7,14b5,1488,14b7,4220,3088,1488,423e,3088,1488,4220,3088,1488,4017,2000,4201,3008,61ff,3140,1b48,3148,1b48,4016,2000,2000,4215,2240,3080,1488,1029,1029,8401,600c,14b5,1488,14b7,4220,3088,1488,423e,3088,1488,4220,3088,1488,3148,1b48,3140,1b48,e000</data>
+ <data>4014,2a00,6019,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,0096,001a,001a,001a,8000,e000,e001,e002,e800,f800,4855,f000,4017,2000,4200,3008,6000,6001,f840,4422,2480,4220,3088,1488,4248,3088,1488,4245,3088,1488,424c,3088,1488,424c,3088,1488,424f,3088,1488,4220,3088,1488,4243,3088,1488,424f,3088,1488,4252,3088,1488,4245,3088,1488,4243,3088,1488,4241,3088,1488,424d,3088,1488,4250,3088,1488,14b5,1488,14b7,4220,3088,1488,42bb,3088,1488,42bb,3088,1488,42bb,3088,1488,42bb,3088,1488,42bb,3088,1488,42bb,3088,1488,42bb,3088,1488,4220,3088,1488,4242,3088,1488,4259,3088,1488,4220,3088,1488,424a,3088,1488,4241,3088,1488,424e,3088,1488,14b5,1488,14b7,14b5,1488,14b7,4220,3088,1488,423e,3088,1488,4220,3088,1488,4017,2000,4201,3008,61ff,3140,1b48,3148,1b48,4016,2000,2000,4215,2240,1600,16e9,16e9,8407,1600,16e9,16d9,8410,3080,1488,6012,14b5,1488,14b7,4220,3088,1488,423e,3088,1488,4220,3088,1488,1488,1489,4220,3088,1488,1489,3148,1b48,3140,1b48,e000</data>
</entry>
</elementAttributes>
<pos x="740" y="100" />