begin implementing delete in chrout
This commit is contained in:
1 parent
18b223d1b6
commit
c143c1328a
1 file changed
+37
@@ -35,6 +35,33 @@ not_0a:
|
|||||||
cmp #$0d
|
cmp #$0d
|
||||||
beq screen_advance_to_next_line
|
beq screen_advance_to_next_line
|
||||||
|
|
||||||
|
cmp #$14
|
||||||
|
bne not_14
|
||||||
|
|
||||||
|
;; Delete
|
||||||
|
ldx current_screen_x
|
||||||
|
bne delete_non_zero_column
|
||||||
|
delete_at_column_0:
|
||||||
|
ldy current_screen_y
|
||||||
|
bne not_row_0
|
||||||
|
;; delete from row 0, col 0 does nothing
|
||||||
|
jmp chrout_done
|
||||||
|
not_row_0:
|
||||||
|
dec current_screen_y
|
||||||
|
lda #39
|
||||||
|
sta current_screen_x
|
||||||
|
jsr retreat_screen_pointer_40_bytes
|
||||||
|
lda screen_line_link_table,y
|
||||||
|
bpl line_not_linked_del
|
||||||
|
jsr retreat_screen_pointer_40_bytes
|
||||||
|
line_not_linked_del:
|
||||||
|
jmp chrout_done
|
||||||
|
|
||||||
|
delete_non_zero_column:
|
||||||
|
jmp chrout_done
|
||||||
|
|
||||||
|
not_14:
|
||||||
|
|
||||||
;; Clear screen
|
;; Clear screen
|
||||||
cmp #$93
|
cmp #$93
|
||||||
bne not_clearscreen
|
bne not_clearscreen
|
||||||
@@ -108,6 +135,16 @@ line_not_linked:
|
|||||||
|
|
||||||
jmp chrout_done
|
jmp chrout_done
|
||||||
|
|
||||||
|
retreat_screen_pointer_40_bytes:
|
||||||
|
lda current_screen_line_ptr+0
|
||||||
|
sec
|
||||||
|
sbc #<40
|
||||||
|
sta current_screen_line_ptr+0
|
||||||
|
lda current_screen_line_ptr+1
|
||||||
|
sbc #>40
|
||||||
|
sta current_screen_line_ptr+1
|
||||||
|
rts
|
||||||
|
|
||||||
advance_screen_pointer_40_bytes:
|
advance_screen_pointer_40_bytes:
|
||||||
lda current_screen_line_ptr+0
|
lda current_screen_line_ptr+0
|
||||||
clc
|
clc
|
||||||
|
|||||||
Reference in new issue
Block a user