From f031907abb9fd2b9d84aaf2c882270cf46543f1e Mon Sep 17 00:00:00 2001 From: Paul Gardner-Stephen Date: Tue, 7 May 2019 07:04:15 +0930 Subject: [PATCH] don't allow IRQs during CHROUT to avoid all cursor pooh --- c64/kernal/blink_cursor.s | 2 +- c64/kernal/chrout.s | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/c64/kernal/blink_cursor.s b/c64/kernal/blink_cursor.s index 1b1bdb1b..147f3bf7 100644 --- a/c64/kernal/blink_cursor.s +++ b/c64/kernal/blink_cursor.s @@ -78,7 +78,7 @@ no_blink_cursor: rts disable_cursor: - lda #$ff + lda #$80 sta cursor_blink_disable ;; FALL THROUGH hide_cursor_if_visible: diff --git a/c64/kernal/chrout.s b/c64/kernal/chrout.s index 7d6c1d03..8b8d1e27 100644 --- a/c64/kernal/chrout.s +++ b/c64/kernal/chrout.s @@ -11,9 +11,11 @@ chrout: pha tya pha - + php + sei + jsr hide_cursor_if_visible - + lda last_printed_character_ascii tax @@ -372,6 +374,8 @@ no_screen_advance_to_next_line: chrout_done: jsr show_cursor_if_enabled + plp + ;; Restore X and Y, set carry to mark success on exit pla tay