Patron, вроде как мелкий недочёт. При
[links]
Config + MediaButton + HD | MX | MY | DW | DW1 | DX | PC | RK | MT
Оно показывает две кнопки с именем DW - вроде как в выпадающем меню места только на два символа, а не три, как теперь нать
Но вторая кнопка честно показывает что на DW1 - так что пока не парит
И ещё мелкая проблема - если запущено два (и думаю более экземпляров) PDP11 и/или VT52 - возможно рассинхронизация показа Caps Lock и действительного состояния Caps Lock
Имя объекта не ограничено по длине, поэтому в меню показывается внутренний тип объекта, а он в обоих случаях одинаковый. Хуже то, что при запоминании выбранного пункта меню между запусками эмулятора - запоминается только тип объекта, поэтому при повторном запуске будет выбран последний из однотипных объектов.
Пока это вроде не сильно мешает
Проблема имеет глубокие корни.
Чтобы получить возможность использовать лампочки клавиатуры независимо от нажатия клавиш <NumLock>, <CapsLock> и <ScrollLock> - первый же запущенный экземпляр любой из программ модульного API устанавливает собственный обработчик клавиатуры, взамен обработчика Windows. При переключении окон обработчик выбирает или общий контекст Windows, или контекст окна API, в зависимости от того, относится ли окно к модульному API или нет, о чём активируемое окно должно сообщить в обработчик. Из-за того, что при переключении между окнами программ промежуток времени между деактивацией первого окна и активацией второго в Windows не нормирован - обработчик может получить сообщение слишком поздно и окно API попадёт в контекст Windows.
Проблема в том, что на моём компе с Windows Vista, после долгой настройки обработчика API - проблема уже не проявляется, а на виртуальной машине VirtualBox - управление лампочками не работает вообще, вот почему эта задача будет ( скорее всего ) ждать своего окончательного решения ещё довольно долго.
Мысли в слух.
Эмулятор всё таки отличается от (моего, как минимум) Кванта - то включение работы MMU, которое было первоначально у меня - как то позволяло грузиться с DW, а в эмуляторе надо (правильно) настроить MMU при аппаратной загрузке.
Посмотрел, что в регистрах (kernel) MMU сразу после включения:
KINAR0 (172340) - 0
KINAR1 (172342) - 40000
KINAR2 (172344) - 177777
KINAR3 (172346) - 600
KINAR4 (172350) - 177777
KINAR5 (172352) - 177777
KINAR6 (172354) - 177777
KINAR7 (172356) - 177600
KINDR0 (172300) - 77506
KINDR1 (172302) - 77406
KINDR2 (172304) - 77406
KINDR3 (172306) - 77406
KINDR4 (172310) - 77406
KINDR5 (172312) - 77406
KINDR6 (172314) - 77406
KINDR7 (172316) - 77506
SR0 (177572) - 11
SR3 ( 172516) - 177737
То есть оно УЖЕ работает c включённым MMU Поэтому у меня и проходила загрузка с "неправильной" работой с MMU - когда я просто пытался занести 1 в SR0 - типа этого достаточно. На самом деле - можно было и не заносить - всё равно работало бы
И ещё отличие, на которое как то не обратил внимание - эмулятор не пишет - сколько памяти доступно - при старте. Может в это и кроется разгадка?
Patron - комментарии?
- - - Добавлено - - -
О причинах я примерно догадывался, но это тоже из разряда - не сильно парит.
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)