From a271486f09741cd583aece92a95c39f35a7cdc81 Mon Sep 17 00:00:00 2001 From: Lukas Krickl Date: Wed, 9 Jul 2025 07:40:55 +0200 Subject: [PATCH] video: wip disabling objects when window is drawing --- src/jmp.inc | 14 ++++++++++++-- src/video.s | 8 ++++++++ src/wram.s | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/jmp.inc b/src/jmp.inc index b5eaead..26d62f5 100644 --- a/src/jmp.inc +++ b/src/jmp.inc @@ -33,8 +33,18 @@ sys_farcall: ; vblank 0x40 ;============= vec_vblank: - push_all call vblank - pop_all + reti +.fill 0, 0x48 - $ +;============= +; STA 0x48 +;============= +vec_stat: + ; disable objects + push af + ld a, [RLCD] + and a, ~LCDCF_OBJON & 0xFF + ld [RLCD], a + pop af reti diff --git a/src/video.s b/src/video.s index d108375..cf4c024 100644 --- a/src/video.s +++ b/src/video.s @@ -4,6 +4,13 @@ ; vblank handler vblank: + push_all + + ; enable objects + ld a, [RLCD] + or a, LCDCF_OBJON + ld [RLCD], a + ; dma previous frame's oam call OAMDMAFN @@ -25,6 +32,7 @@ vblank: ld a, 1 ld [frame_ready], a + pop_all ret diff --git a/src/wram.s b/src/wram.s index 036e9b8..2c106fd 100644 --- a/src/wram.s +++ b/src/wram.s @@ -34,7 +34,7 @@ status_text: .adv 32 demo_inputs: .adv 2 ; offset into bg_update_queue -bg_update_index: .adv 2 +bg_update_index: .adv 1 bg_update_queue: .adv bge_size * BGE_MAX draw_flags: .adv 1 -- 2.30.2