diff --git a/c64/kernal/blink_cursor.s b/c64/kernal/blink_cursor.s index 1a2c240f..5bef111c 100644 --- a/c64/kernal/blink_cursor.s +++ b/c64/kernal/blink_cursor.s @@ -6,8 +6,8 @@ ;; colour_under_cursor show_cursor_if_enabled: - bit cursor_blink_disable - bpl show_cursor + bit cursor_is_visible + bmi show_cursor rts show_cursor: @@ -37,7 +37,7 @@ blink_cursor: bne undraw_cursor draw_cursor: jsr calculate_screen_line_pointer - + ldy current_screen_x lda (current_screen_line_ptr),y sta cursor_saved_character @@ -51,6 +51,7 @@ draw_cursor: lda #1 sta cursor_is_visible + jmp reset_blink_timer undraw_cursor: @@ -79,7 +80,7 @@ disable_cursor: ;; FALL THROUGH hide_cursor_if_visible: bit cursor_is_visible - bpl undraw_cursor + bmi undraw_cursor rts enable_cursor: diff --git a/c64/kernal/chrout.s b/c64/kernal/chrout.s index 66321455..c6557a7f 100644 --- a/c64/kernal/chrout.s +++ b/c64/kernal/chrout.s @@ -604,6 +604,9 @@ line_not_linked_del: rts screen_advance_to_next_line: + + jsr hide_cursor_if_visible + ;; Go to start of line lda #0 sta current_screen_x diff --git a/c64/kernal/cint.s b/c64/kernal/cint.s index 48c85877..97843558 100644 --- a/c64/kernal/cint.s +++ b/c64/kernal/cint.s @@ -10,7 +10,6 @@ cint: ;; Initialise cursor blink flags (Compute's Mapping the 64 p215) lda #$00 sta cursor_blink_disable - sta cursor_blink_countdown ;; Set keyboard decode vector (Compute's Mapping the 64 p215)