-
SprPoP 0.8.3: DSS больше не крадёт скан-коды
released this
2026-08-28 11:48:40 +03:00 | 70 commits to main since this releaseКорень залипания клавиш и несработавших нажатий: обработчик прерывания DSS
(IM1 по 0x0038) первым делом зовёт KEYSCAN, а тот вычерпывает FIFO SIO.
Наш трамплин проверял «есть ли байт» только на входе в прерывание, а хвост
кадрового пути уходил в DSS — байт, прилетевший позже, доставался DSS без
всякого Rx-overrun. Окно измерено в MAME: 738 тактов (~34 мкс) на каждом
кадровом прерывании.Правка: пока raw-канал открыт, обработчик DSS не вызывается совсем
(приватный RETI) — окно ровно ноль. Цена: на это время у DSS замирают
опрос мыши и мигание текстового курсора.Проверено в MAME: до правки брейк на входе KEYSCAN срабатывал 50 раз в
секунду, после — молчит; кража поймана «живьём» на старой сборке
(DSS прочитал 0x74 при нашем pending=EXT).Downloads