diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main.c | 26 |
1 files changed, 11 insertions, 15 deletions
@@ -17,21 +17,17 @@ volatile unsigned short g_hh_hcount; void hh_ppu_vblank_interrupt() { static unsigned long frame = 0; -// #ifdef HH_TARGET_STM32 -// hh_ppu_flush(); -// hh_input_read(); -// hh_demo_loop(frame); -// #endif - // if (frame > 1) return; - for (size_t i = 0; i < HH_PPUINTDEMO_LENGTH; i += 4) { - uint8_t* d = HH_PPUINTDEMO_ARR + i; - if (d[0] == 0xff && d[1] == 0xff && d[2] == 0xff && d[3] == 0xff) { - hh_ppu_flush(); - } else { - hh_ppu_vram_buffer(d); - } - } - hh_ppu_flush(); + + // hh_ppu_flush(); + // hh_input_read(); + // hh_demo_loop(frame); + + size_t offset = frame * 4; + if (offset >= HH_PPUINTDEMO_LENGTH) return; + uint8_t* d = HH_PPUINTDEMO_ARR + offset; + hh_ppu_vram_buffer(d); + hh_ppu_vram_flush(); + frame++; } |