Commit Graph
7 Commits
Author SHA1 Message Date
alex 4c59443d24 Rewrite README changelog in first person 2026-09-01 10:11:32 +03:00
alex d6580f61e0 Trim README: drop joke aside and downloads-folder paragraph 2026-09-01 10:07:26 +03:00
alex afaab68ac1 Fix bottom panel vertical offset, enable TSU sprites in text mode
Bottom control panel sat a couple pixels too low relative to the top
panel (pre-existing, not a session regression) - nudged GYOFFSL in
int_text_off from 47+240-1 to 47+240. Confirmed correct on hardware.

Also uncommented the TSU_SEN write in int_text_on so hardware sprites
(mouse cursor) are enabled during text mode too, not just graphics
mode. Doesn't fix the known cursor clip right above the bottom panel
(that appears tied to a fixed screen row, independent of panel
position or this bit - left as a known issue, documented in README).
2026-09-01 10:05:43 +03:00
alex 292d42f8ea Move now-playing blink/autoplay out of the interrupt too
show_now_play_link (blinking highlight for the currently playing track
in the list, plus the end-of-track autoplay/parse_url check) still ran
inside int_text_off via pt_play, doing its own extra page switch
(set_Textpage_lite) and an 80-byte write - on top of the analyzer this
was the remaining source of the vertical stripe flicker, specifically
when the playing track is scrolled into view. Split it out of pt_play
and call it from the main loop alongside the analyzer; the player tick
itself is untouched.

Confirmed on hardware: no flicker left, including across autoplay to
the next track.
2026-08-31 23:29:25 +03:00
alex 153931d1ca Move music analyzer out of the raster interrupt to fix flickering
The AY volume-bar indicator (music_analizator) ran inside int_text_off,
the same precisely-timed interrupt chain that switches between text and
graphics video modes. Its DMA clear + page switching + drawing could
overrun that timing budget on dynamic tracks, causing visible vertical
stripe flicker. Moved it to the main loop (once per frame, after
wait_frame) instead, leaving the player tick (pt_play) and its tempo
timing untouched inside the interrupt.

Also waits for the DMA clear to finish before drawing bars into the
same memory (previously a write race).
2026-08-31 22:27:27 +03:00
alex b3f614642e Add ZIFI/zifi.spg, fix .gitignore to not shadow it 2026-08-31 21:17:10 +03:00
alex c0d5110ea7 Initial commit 2026-08-31 21:04:48 +03:00