From c6decc7bb84adcdd272c252721ab6f207baf297e Mon Sep 17 00:00:00 2001
From: Karri Kaksonen <karri@sipo.fi>
Date: Thu, 21 Apr 2022 21:54:33 +0300
Subject: [PATCH] Move cursor IRQ processing to when the screen is being drawn

---
 libsrc/atari7800/mono_setcursor.s | 4 ++++
 libsrc/atari7800/setcursor.s      | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/libsrc/atari7800/mono_setcursor.s b/libsrc/atari7800/mono_setcursor.s
index 7253d4a40..52a5a997a 100644
--- a/libsrc/atari7800/mono_setcursor.s
+++ b/libsrc/atari7800/mono_setcursor.s
@@ -28,6 +28,7 @@
         .interruptor    mono_blink_cursor
 
         .importzp       sp
+        .import         _zonecounter
         .import         _mono_zones
         .import         cursor
         .import         pusha, incsp1, pusha0, pushax, popa
@@ -175,6 +176,9 @@ umula0:
 ; Offset to cursor zone 5.
 ;
         .proc   mono_blink_cursor
+        lda     _zonecounter
+        and     #01
+        beq     @L3
         inc     blink_time
         bne     @L3
         lda     #140
diff --git a/libsrc/atari7800/setcursor.s b/libsrc/atari7800/setcursor.s
index a475d0416..c0bf1252b 100644
--- a/libsrc/atari7800/setcursor.s
+++ b/libsrc/atari7800/setcursor.s
@@ -28,6 +28,7 @@
         .interruptor    blink_cursor
 
         .importzp       sp
+        .import         _zonecounter
         .import         _zones
         .import         cursor
         .import         pusha, incsp1, pusha0, pushax, popa
@@ -177,6 +178,9 @@ umula0:
 ; Offset to cursor zone 5.
 ;
         .proc   blink_cursor
+        lda     _zonecounter
+        and     #01
+        beq     @L3
         inc     blink_time
         bne     @L3
         lda     #140