reenabled tab, some work towards char delete

This commit is contained in:
FeralChild64 committed 2020-01-08 18:01:06 +01:00
1 parent c44120ee96
commit 98e7e633e8
6 files changed
+74 -45

No files matched your search

+26 -6
View File
@@ -35,7 +35,7 @@ chrin_repeat:
empty_line:
// For an empty line, just return the carriage return
// (and don't forget to actually print the carriage return, so that
// (and do not forget to actually print the carriage return, so that
// the cursor advances and screen scrolls as required)
ply_trash_a
@@ -72,7 +72,7 @@ read_from_keyboard:
cmp #$0D
bne not_enter
chrin_enter:
chrin_enter: // YYY test this!
jsr cursor_disable
jsr pop_keyboard_buffer
@@ -81,7 +81,7 @@ chrin_enter:
// It was enter.
// Note that we have a line of input to return, and return the first byte thereof
// after computing and storing its length.
// (Compute's Mapping the 64, p96)
// (Computes Mapping the 64, p96)
// Set pointer to line of input
lda PNT+0
@@ -89,14 +89,34 @@ chrin_enter:
lda PNT+1
sta LXSP+1
// If the current line is a continuation of the previous one, decrease LXSP by 40
ldy TBLX
lda LDTBL, y
bmi chrin_enter_calc_length // branch if not continuation
lda LXSP+0
sec
sbc #40
sta LXSP+0
bcs !+
dec LXSP+1
!:
ldy #80
bne chrin_enter_loop // branch always
chrin_enter_calc_length:
// Calculate length
jsr screen_get_logical_line_end_ptr
iny
!: dey
chrin_enter_loop:
// Retrieve bytes
dey
bmi empty_line
lda (PNT),y
lda (LXSP),y
cmp #$20
beq !-
beq chrin_enter_loop
iny
sty INDX
lda #$01