video: vblank now skips everything but inptus if update is still pending
authorLukas Krickl <lukas@krickl.dev>
Tue, 23 Sep 2025 17:04:41 +0000 (19:04 +0200)
committerLukas Krickl <lukas@krickl.dev>
Tue, 23 Sep 2025 17:04:41 +0000 (19:04 +0200)
src/video.s

index 58fff9057f027277b54c9870774e59561c0997da..408ff45e1496ef0b60a4a05928ee3a77fab2cea0 100644 (file)
@@ -6,6 +6,14 @@
 vblank:
   push_all 
   
+  ; get inputs 
+  call poll_inputs
+       
+       ; skip if update has not yet finished
+       ld a, [frame_ready]
+       cp a, 1
+       jp z, @skip_rest
+
   ; enable objects
   ld a, [RLCD]
   or a, LCDCF_OBJON
@@ -19,13 +27,13 @@ vblank:
 
   call scroll_write
   
-  ; get inputs 
-  call poll_inputs
 
        call video_map_adjust_scroll
 
   ld a, 1
   ld [frame_ready], a
+
+@skip_rest:
   pop_all
   ret