Покурил еще лог.
Разбрался в последних активностях.
Там все интересно.
После предварительной инициализации видео платы (а там именно что забивание ОЗУ нулями и запись инкрементного счетчика в регистры, это не настройка), прошивка берется за НПД.
Пишет в его регистры 0xFF потом 0x00 по адресам 00000-0000F;
Добрались до клавиатуры, пишет в IO
0x63 <- 0x00
0x61 <- 0x00
ждем 40 ms (похоже на сброс клавиатуры)
0x61 <- 0x00
0x21 <- 0x00 (взводим прерывание?)
ждем 6.5 ms (ну а по факту прилетает прерывание)
...идет какая то логика, скорее всего вход в функцию прерывания...
читаем 0x60 -> 0xAA (бинго !!! клава ответила)
0x61 <- 0x00
0x61 <- 0x00
0x61 <- 0x00
0x61 <- 0x00 (зачем 4ре раза ??? и так не только с этим IO)
ждем 250 ms (так долго ..., есть идея что эта задержка для ожидания предыдущего прерывания, просто это задержка не пропускается...)
читаем 0x60 -> 0x00 (стоило ли этого ждать так долго ?)
ну и собственно последний блок кода, поторый приводит к ступору
вначале пишется
0x20 <- FEA5
0x24 <- E987
0x25 <- FF23
0x2C <- FF23
0x30 <- FF23
0x34 <- FF23
0x38 <- EF70
0x3C <- FF23
ну это точно прерывания (?)
дальше только запись и чтение из ОЗУ с небольшими вычитываниями из ПЗУ
такое ощущение что заполняется таблица прерываний с верхнего адреса 0x3FE и дальше вниз, хотя это может быть stack.
По документации там должна быть проверка КГМД.
Мози уже немного поплавились...




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

