From 0bc05e44bd7cd94147fcf8b67839aeecea130afa Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Mon, 16 Dec 2019 21:42:50 +0100 Subject: [PATCH] prevent cursor interference during screen scroll --- c64/kernal/screen/screen_grow_logical_line.s | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/c64/kernal/screen/screen_grow_logical_line.s b/c64/kernal/screen/screen_grow_logical_line.s index 9edb50ac..a4ac0b48 100644 --- a/c64/kernal/screen/screen_grow_logical_line.s +++ b/c64/kernal/screen/screen_grow_logical_line.s @@ -58,8 +58,7 @@ screen_grow_logical_line: lda EAL+1 pha - // XXX prevent cursor from interfering - // XXX fix TBLX value + // XXX fix TBLX value, it seems to show logical line number, which is wrong! // Set pointers to end of screen line, and one line // above. (It is always one physical line, because @@ -97,6 +96,12 @@ cl_inner: dey bpl cl_inner + // This ugly hack prevents cursor blink interference XXX solve this in better way + php + sei + jsr cursor_hide_if_visible + plp + // Decrement all pointers by 40 // Low bytes are in common pairs