
Сообщение от
Alex_NEMO
Обновил 1 и 2-й посты. Добавил последнюю(пока) версию "KAY Service ROM" от Дмитрия. Указал ссылки на правленные: прошивку ЛАСа 2002 года и актуальные прошивки для контроллера PS/2 клавы caro.
По поводу "KAY Service ROM" от Дмитрия.
Несколько замечаний и предложений.
Дмитрий наверное в курсе, что сервис-ром можно включать программно (бит D3 порта #1ffd).
Но вот эта конструкция в прошивке Дмитрия:
Код с адреса 0bh:
Код:
xor a
out (#fe),a
ld bc,#1ffd
out (c),a
убивает всякую надежду вызвать сервис-ром программно.
1. Зачем обнулять 1ffd? По ресету он уже обнулен, если не ошибаюсь.
Из за этого обнуления невозможен программный запуск прошивки сервис-рома с помощью
Код:
ld bc,#7ffd
xor a
out (c),a
ld b,#1f
ld a,8
out (c),a
jp 0
так как там вы обнуляете #1ffd и мы в процессе выполнения программы в СЕРВИС-ПЗУ вместо сервис-рома вылетаем в 128 sos.
2. Если необходимо при входе в сервис-ром жестко задать состояние порта #1ffd, то сделать это можно вот так:
Код:
ld bc,#1ffd
ld a,#fe
in a,(#fe)
bit 0,a ;проверяем нажатие Caps Shift
ld a,8
jr z,$+3 ;если C.S нажат - то оставляем включенной пзу Сервис-ром
xor a ;если не нажат - то обнуляем #1ffd
out (c),a
Таким образом будет возможен переход в сервис ром при СБРОСЕ с нажатым Caps Shift, например, из моей прошивки 2002.
P.S. может быть я что-то напутал с назначением битов порта 1ffd, за давностию лет многое забылось, но общая претензия именно такая.