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 - комментарии?
- - - Добавлено - - -
О причинах я примерно догадывался, но это тоже из разряда - не сильно парит.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)