Здравствуйте, vdimas, Вы писали:
V>ZX-Spectrum в фоне сканировал клавиатуру 50 раз в секунду, если что (по прерыванию видеоподсистемы).
V>И без всяких MS DOS.
Ох, было время.
Как-то задался целью узнать где расположена эта подпрограмма обработки прерывания с клавы.
Начал изучать код ассемблера. Доки не было практически, но каждую команду до этого я исследовал как ученый — проверял какие изменения в регистрах производит и т.д. Т.е. брал отдельную команду, запускал, смотрел регистры. Была там и довольно сложная команда типа для работы с массивом данных, емнип.
Так вот, пытался изучать код из ПЗУ, что очень не просто. Дизассемблер был самодельный, не все коды поддерживал.
И таки нашел эту подпрограмму, осталось только проверить гипотезу. Но как?
А проверил так — замаскировал прерывание от клавы. Это значит что она как бы перестала откликаться. Отпаял ножку процессора от немаскируемого перывания (второго) и подал туда сигнал 50 герц от генератора. Направил немаскируемое прерывание на тот же адрес, куда ранее было направлено маскируемое. Клава заработала. ЧТД.