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

+2
View File
@@ -126,5 +126,7 @@ chrout_screen_calc_lptr_done:
chrout_screen_done:
// YYY should we update character under cursor here? or in cursor_show_if_enabled?
jsr cursor_show_if_enabled
jmp chrout_done_success
+25 -20
View File
@@ -11,15 +11,9 @@ chrout_screen_DEL:
beq !+
jmp chrout_screen_quote
!:
jmp chrout_screen_done
/* YYY disabled for rework
chrout_screen_DEL:
ldx PNTR
// ldx PNTR
jsr screen_get_clipped_PNTR
cpy #$00
bne chrout_screen_del_column_non_0
// FALLTROUGH
@@ -27,22 +21,32 @@ chrout_screen_DEL:
chrout_screen_del_column_0:
ldy TBLX
beq chrout_screen_del_done // delete from row 0, col 0 does nothing
// Column 0 delete just moves us to the end of the
// previous line, without actually deleting anything
beq chrout_screen_del_done // delete from row 0, col 0 does nothing
// Move cursor to end of previous line
dec TBLX
jsr screen_get_current_line_logical_length
lda LNMX
lda #39
sta PNTR
// Update PNT and USER pointers
jsr screen_calculate_PNT_USER
// Put space character at the current cursor position
ldy #39
lda #$20
sta (PNT),y
// XXX should we clear the color too?
// Finish with recalculating all the variables
jmp chrout_screen_calc_lptr_done
chrout_screen_del_column_non_0:
// Copy rest of line down
jsr screen_get_current_line_logical_length
/* YYY disabled for rework
// Copy rest of logical line back
jsr screen_get_logical_line_end_ptr
ldy PNTR
cpy LNMX
beq !++
@@ -70,7 +74,8 @@ chrout_screen_del_column_non_0:
// FALLTROUGH
chrout_screen_del_done:
jmp chrout_screen_done
*/
*/
chrout_screen_del_done:
jmp chrout_screen_done
+16 -14
View File
@@ -6,33 +6,35 @@
#if CONFIG_EDIT_TABULATORS
chrout_screen_TAB_FW:
jmp chrout_screen_done
chrout_screen_TAB_BW:
jmp chrout_screen_done
/* YYY disabled for rework
chrout_screen_TAB_FW:
lda PNTR
jsr screen_get_clipped_PNTR
tya
ora #%00000111
sta PNTR
inc PNTR
tay
iny
cpy #40
bcc !+
ldy #39
!:
sty PNTR
jmp chrout_screen_calc_lptr_done
chrout_screen_TAB_BW:
lda TBLX
ora PNTR
beq !+ // top-left corner, recalculating pointer is not necessary, but this is a very rare case nevertheless
jsr screen_get_clipped_PNTR
cpy #$00 // YYY maybe it's worth to put this inside screen_get_clipped_PNTR?
beq !+ // column 0, recalculating pointers is not necessary, but this is a rare case nevertheless
dec PNTR
lda PNTR
dey
tya
and #%11111000
sta PNTR
!:
jmp chrout_screen_calc_lptr_done */
jmp chrout_screen_calc_lptr_done
#endif // CONFIG_EDIT_TABULATORS
+1 -1
View File
@@ -1,5 +1,4 @@
// YYY test all the cases
screen_grow_logical_line_screen_up:
@@ -72,6 +71,7 @@ screen_grow_logical_line:
screen_grow_logical_line_loop:
// Scroll down one line each loop iteration
// YYY add LDTBL scrolling
ldy #39
!: