From afaab68ac13acde44f91c7ce98131c91b11a1418 Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 1 Sep 2026 10:05:43 +0300 Subject: [PATCH] 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). --- README.md | 7 ++++++- _spg/ZIFI/zifi.spg | Bin 43520 -> 43520 bytes zifi.asm | 10 +++++----- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index cb37acd..16cbf42 100644 --- a/README.md +++ b/README.md @@ -43,9 +43,14 @@ AT+CIPSNTPTIME? — получить текущее врем **Убрано мигание вертикальных полос при воспроизведении музыки.** (Ну почти убрана =))) Индикатор громкости AY-каналов (`music_analizator`) раньше рисовался прямо внутри прерывания, которое отвечает за точное по строкам переключение видеорежима текст/графика — и делал это вместе с DMA-очисткой экрана и переключением страниц памяти. На динамичных треках (больше эффектов — дольше выполняется код) это сбивало тайминг прерывания и давало заметные мигающие полосы на экране. Отрисовку индикатора вынесли из прерывания в обычный код главного цикла (раз в кадр, синхронно с `wait_frame`, но уже не в раст-критичной цепочке) — сам плеер и его тайминг (темп, высота нот) не тронуты. +**Поправлена позиция нижней панели управления.** Она была смещена на пару пикселей вниз относительно верхней панели с самого начала (не наша регрессия) — поправлено смещение `GYOFFSL` в `int_text_off`. + **Мелкие исправления:** - обращение к порту `#EFF7` (общий системный регистр — управляет не только доступом к часам, но и видеорежимом/turbo/кэшем) переведено на read-modify-write вместо прямой перезаписи всего байта, чтобы не сбивать остальные настройки; - исправлен баг в разборе двузначного GMT-смещения из `zifi.ini` (например `+10`) — были перепутаны местами разряды; -- DMA-очистка под индикатор громкости теперь дожидается завершения перед тем, как CPU начинает рисовать поверх той же области (была гонка записи). +- DMA-очистка под индикатор громкости теперь дожидается завершения перед тем, как CPU начинает рисовать поверх той же области (была гонка записи); +- в текстовом режиме (`int_text_on`) включён бит `TSU_SEN` (аппаратные спрайты TSU), который раньше был закомментирован — на всякий случай, чтобы курсор мыши мог отображаться и поверх текстовой области тоже. + +**Известная нерешённая мелочь:** курсор мыши (аппаратный спрайт TSU) обрывается по фиксированной строке экрана прямо над нижней панелью управления — похоже на границу, завязанную на тайминг переключения видеорежима или на аппаратный бордюр, а не на что-то, что двигается вместе с содержимым панели. Не нашли способ поправить это без риска сломать что-то ещё, оставили как есть. diff --git a/_spg/ZIFI/zifi.spg b/_spg/ZIFI/zifi.spg index aaccb754fafa4cedaae1b8ef979b42abdf731565..bd53871875741633619f8b0e17e2266420738e9d 100644 GIT binary patch delta 5698 zcmV-I7QN|!)B=Fi0+1~d0SOuafd5|r0ssI2TL}O+1PZY~#{)CUoY$6kL#O)&JUv_k zg&~z9tuy?-`>Tz=lFehN&DgBX$de({fCd508iYE)o-gL`GI5hR1T8JrnX!=tS4|^@ z%@vh8N0zrJ3e9hpI%So+7PX}d0n7-RwZ

s;@GOaN>pWlamCyf5SJ)E+Lw4XWdWU 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 DHQ>|e diff --git a/zifi.asm b/zifi.asm index 7b73463..8a78ec1 100644 --- a/zifi.asm +++ b/zifi.asm @@ -2203,9 +2203,9 @@ txt_border ld a,#f0 ld b,high VCONFIG ld a,VID_TEXT+VID_320X240 out (c),a -; ld b,high TSCONFIG -; ld a,TSU_SEN -; out (c),a + ld b,high TSCONFIG + ld a,TSU_SEN + out (c),a ld b,high VPAGE ld a,Text_page out (c),a @@ -2249,7 +2249,7 @@ int_text_off push af,hl,de,bc,ix,iy push af exa call set_256c_mode - ld hl,47+240-1 + ld hl,47+240 ; was 47+240-1 - bottom panel sat a couple pixels too low ld b,high GYOFFSL out (c),l inc b @@ -3479,7 +3479,7 @@ status_icon_copy cancel_icon_copy db #1a,low cancel_icon db #1b,high cancel_icon - db #1c,2 + db #1c,2 db #1d,4+4+128 db #1e,#3e-2 db #1f,Vid_page+8