improved RETURN keyy handling, some documentation update
This commit is contained in:
1 parent
02afdec265
commit
b3f1b7fb41
5 files changed
+40
-8
No files matched your search
@@ -58,15 +58,15 @@ chrout_screen_del_column_normal:
|
|||||||
ldy PNTR
|
ldy PNTR
|
||||||
dey
|
dey
|
||||||
!:
|
!:
|
||||||
iny
|
|
||||||
lda (PNT),y
|
|
||||||
dey
|
|
||||||
sta (PNT),y
|
|
||||||
iny
|
iny
|
||||||
lda (USER),y
|
lda (USER),y
|
||||||
dey
|
dey
|
||||||
sta (USER),y
|
sta (USER),y
|
||||||
iny
|
iny
|
||||||
|
lda (PNT),y
|
||||||
|
dey
|
||||||
|
sta (PNT),y
|
||||||
|
iny
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bpl !-
|
bpl !-
|
||||||
|
|||||||
@@ -7,8 +7,23 @@
|
|||||||
chrout_screen_RETURN:
|
chrout_screen_RETURN:
|
||||||
|
|
||||||
// RETURN clears quote and insert modes, it also clears reverse flag
|
// RETURN clears quote and insert modes, it also clears reverse flag
|
||||||
|
|
||||||
lda #$00
|
lda #$00
|
||||||
sta QTSW
|
sta QTSW
|
||||||
sta INSRT
|
sta INSRT
|
||||||
sta RVS
|
sta RVS
|
||||||
|
|
||||||
|
// RETURN key moves cursor two lines down in case
|
||||||
|
// of first line of the extended logical line
|
||||||
|
|
||||||
|
ldy TBLX
|
||||||
|
cpy #24
|
||||||
|
beq !+ // last line on screen - no need for a double line skip
|
||||||
|
|
||||||
|
lda LDTBL+1, y
|
||||||
|
bmi !+ // current line is not continued
|
||||||
|
|
||||||
|
inc TBLX
|
||||||
|
jsr screen_calculate_PNT_USER
|
||||||
|
!:
|
||||||
jmp screen_advance_to_next_line
|
jmp screen_advance_to_next_line
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
|
|
||||||
|
// YYY growing logical line in the last line is unstable
|
||||||
|
|
||||||
|
|
||||||
screen_grow_logical_line_screen_up:
|
screen_grow_logical_line_screen_up:
|
||||||
|
|||||||
@@ -5,11 +5,19 @@ screen_preserve_sal_eal:
|
|||||||
plx_trash_a
|
plx_trash_a
|
||||||
ply_trash_a
|
ply_trash_a
|
||||||
|
|
||||||
|
// Note: While the following routine is obvious to any skilled
|
||||||
|
// in the art as the most obvious simple and efficient solution,
|
||||||
|
// it results in a relatively long verbatim stretch of bytes when
|
||||||
|
// compared to the C64 KERNAL. Thus we have swapped the order,
|
||||||
|
// just to reduce the potential for any argument of copyright
|
||||||
|
// infringement, even though we really do not believe that the
|
||||||
|
// routine can be copyrighted due to the lack of creativity.
|
||||||
|
|
||||||
lda SAL+0
|
lda SAL+0
|
||||||
pha
|
pha
|
||||||
lda SAL+1
|
|
||||||
pha
|
|
||||||
lda EAL+0
|
lda EAL+0
|
||||||
|
pha
|
||||||
|
lda SAL+1
|
||||||
pha
|
pha
|
||||||
lda EAL+1
|
lda EAL+1
|
||||||
pha
|
pha
|
||||||
|
|||||||
@@ -5,13 +5,21 @@ screen_restore_sal_eal:
|
|||||||
plx_trash_a
|
plx_trash_a
|
||||||
ply_trash_a
|
ply_trash_a
|
||||||
|
|
||||||
|
// Note: While the following routine is obvious to any skilled
|
||||||
|
// in the art as the most obvious simple and efficient solution,
|
||||||
|
// it results in a relatively long verbatim stretch of bytes when
|
||||||
|
// compared to the C64 KERNAL. Thus we have swapped the order,
|
||||||
|
// just to reduce the potential for any argument of copyright
|
||||||
|
// infringement, even though we really do not believe that the
|
||||||
|
// routine can be copyrighted due to the lack of creativity.
|
||||||
|
|
||||||
pla
|
pla
|
||||||
sta EAL+1
|
sta EAL+1
|
||||||
pla
|
pla
|
||||||
sta EAL+0
|
|
||||||
pla
|
|
||||||
sta SAL+1
|
sta SAL+1
|
||||||
pla
|
pla
|
||||||
|
sta EAL+0
|
||||||
|
pla
|
||||||
sta SAL+0
|
sta SAL+0
|
||||||
|
|
||||||
jmp screen_common_sal_eal
|
jmp screen_common_sal_eal
|
||||||
|
|||||||
Reference in new issue
Block a user