Re[20]: Что наиболее быстро развивается? Замедлились ли теле
От: Shmj Ниоткуда  
Дата: 28.02.24 21:47
Оценка: 3 (1)
Здравствуйте, vdimas, Вы писали:

V>ZX-Spectrum в фоне сканировал клавиатуру 50 раз в секунду, если что (по прерыванию видеоподсистемы).

V>И без всяких MS DOS.

Ох, было время.

Как-то задался целью узнать где расположена эта подпрограмма обработки прерывания с клавы.

Начал изучать код ассемблера. Доки не было практически, но каждую команду до этого я исследовал как ученый — проверял какие изменения в регистрах производит и т.д. Т.е. брал отдельную команду, запускал, смотрел регистры. Была там и довольно сложная команда типа для работы с массивом данных, емнип.

Так вот, пытался изучать код из ПЗУ, что очень не просто. Дизассемблер был самодельный, не все коды поддерживал.

И таки нашел эту подпрограмму, осталось только проверить гипотезу. Но как?

А проверил так — замаскировал прерывание от клавы. Это значит что она как бы перестала откликаться. Отпаял ножку процессора от немаскируемого перывания (второго) и подал туда сигнал 50 герц от генератора. Направил немаскируемое прерывание на тот же адрес, куда ранее было направлено маскируемое. Клава заработала. ЧТД.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.