reenabled tab, some work towards char delete
This commit is contained in:
1 parent
c44120ee96
commit
98e7e633e8
6 files changed
+74
-45
No files matched your search
@@ -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
|
||||
@@ -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
|
||||
@@ -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,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
|
||||
!:
|
||||
|
||||
Reference in new issue
Block a user