Обновил модернизированную версию. Добавил инициализацию ВВ55. Возможность ресета тоже добавил, но все же рекомендую использовать предусмотренный автором рестарт через УС+СС+РУС/ЛАТ.
- - - Добавлено - - -
svofski, посмотрел бегло io.h
1. Если писать в порт 0, то мы запишем значение в CW, независимо от того, MS это или BSR.
2. При чтении порта 1 проверяется бит 3 CW (про бит 0 и нижнюю половину думаю можно пропустить) и в зависимости от него в старшую половину выдается либо записанное в порт значение либо реальное состояние клавиш и магнитофонного входа.
Как я понял, у тебя получается, что при записи 0 или 1 (т.е. BSR) в порт 0 мы меняем CW. А при чтении порта 1 смотрим бит 3 CW - там 0, и выдаем старшую половину PC - там тоже все нули (после смены режимов в обработчике). Т.е. якобы УС+СС+РУС/ЛАТ нажаты - и вылетаем в меню.




Ответить с цитированием