more work on inserting and deleting BASIC lines.
This commit is contained in:
1 parent
84c02486fe
commit
580b7961a5
4 files changed
+94
-42
No files matched your search
@@ -21,43 +21,6 @@ install_ram_routines:
|
||||
|
||||
rts
|
||||
|
||||
basic_shift_mem_up_and_relink:
|
||||
;; Shift memory up from basic_current_line_ptr
|
||||
;; X bytes.
|
||||
|
||||
;; Work out end point of destination
|
||||
txa
|
||||
clc
|
||||
adc basic_end_of_text_ptr+0
|
||||
sta memmove_dst+0
|
||||
lda basic_end_of_text_ptr+1
|
||||
adc #0
|
||||
sta memmove_dst+1
|
||||
;; End point of source is just current end of BASIC text
|
||||
lda basic_end_of_text_ptr+0
|
||||
sta memmove_src
|
||||
lda basic_end_of_text_ptr+1
|
||||
sta memmove_src+1
|
||||
|
||||
;; Work out size of region to copy
|
||||
lda basic_end_of_text_ptr+1
|
||||
sec
|
||||
sbc basic_current_line_ptr+1
|
||||
sta memmove_size+1
|
||||
lda basic_end_of_text_ptr+0
|
||||
sbc #0
|
||||
sta memmove_size+0
|
||||
|
||||
;; To make life simple for the copy routine that lives in RAM,
|
||||
;; we have to adjust the end pointers down one page and set Y to the low
|
||||
;; byte of the copy size.
|
||||
tay
|
||||
dec memmove_src+1
|
||||
dec memmove_dst+1
|
||||
|
||||
;; Do the copy
|
||||
jmp shift_mem_up
|
||||
|
||||
ram_routines_start:
|
||||
|
||||
tiny_nmi_handler_routine:
|
||||
|
||||
Reference in new issue
Block a user