Последнюю сборку эмулятора, сделал репост на игровом форуме
http://www.old-games.ru/forum/showpo...7&postcount=39
Думаю сильного вреда не будет.
Последнюю сборку эмулятора, сделал репост на игровом форуме
http://www.old-games.ru/forum/showpo...7&postcount=39
Думаю сильного вреда не будет.
А есть ли возможность установить watchpoint на определённый адрес?
Как-то туда залетает одно значение, не могу отловить, кто именно пишет...
Причём в режиме DisAsm проблема не проявляется, а так бы я просто в журнале поиском нашёл.
Коллекционирую вычислительную технику серии ДВК: ПЭВМ в сборе и комплектующие
Такой возможности нет.
Возможно - запись происходит в теле цикла и не попадает в листинг из-за того, что циклы в листинге не разворачиваются.
Начиная со следующего релиза в настройки процессора будет добавлен параметр
задающий размер сворачиваемых циклов в диапазоне от 0 до 256 команд. При значении 0 - циклы не сворачиваются вообще и листинг дизассемблирования циклически пишется в пределах максимального размера файла листинга = 4 ГБайт.Код:MaxLoopCommandsToHide = 32
---------- Post added at 11:37 ---------- Previous post was at 11:24 ----------
Кстати, сейчас обнаружил глюк - в текущем релизе при включении пошагового дизассемблирования ничего не останавливается и пошаговый режим не включается, но зато циклы сворачиваться перестают.
Это можно использовать.
Последний раз редактировалось Patron; 24.12.2014 в 12:07.
Какая-то странная плавающая проблема с КЖД - иногда считываются некорректные данные, или что-то ещё происходит. Проявляется при увеличенном быстродействии эмулируемой машины, например, при CPU MIPS Лимит = Max, 9000, 5000.
При MIPS <= 2000 не проявляется (по крайней мере, за два часа дождаться не получилось).
Также не проявляется при включённом дизассемблировании (оно тоже снижает быстродействие, и, возможно, поэтому проблема не возникает).
Коллекционирую вычислительную технику серии ДВК: ПЭВМ в сборе и комплектующие
Могу предположить, что проблема с тем как драйвер обрабатывает прерывания (и отсутствием механизма настроки отсрочки прерывания в эмуляторе). Если проблема в этом, то она детально описана в начале документации по E11 и тамже описано решение позволяющее нормально работать при любой скорости эмулятора.
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Возможно. Но из драйвера на это вряд ли получится повлиять. По крайней мере, не вижу подходящего workaround-а. Прерывания от контроллера разрешаю в самом конце подпрограммы запуска ввода-вывода. Дальше следует только возврат в монитор, в котором выполняется ещё какой-то код. Судя по трассировкам дизассемблирования, в открытых прерываниях. Не исключено, что если в этот момент произойдёт прерывание, оно может оказаться неожиданным.
Проблема часто проявляется в RT-11 V05.04, и почти отсутствует (поймал всего пару раз) в 05.07.
Настроек задержки прерываний от разных внешних устройств в конфигурации эмулятора не нашёл.
Коллекционирую вычислительную технику серии ДВК: ПЭВМ в сборе и комплектующие
Если дело в прерываниях, то нужна поддержка в самом эмуляторе для workaround'а. В E11 можно командой SET DELAY выставлять контроллеру задержку (прерывание возникает не раньше чем "процессор" выполнит определенное количество инструкций), в SimH тоже есть какой-то механизм, правда не знаю настраивается он или фиксирован... В принципе реализовать не так сложно я думаю. Ну как вариант можно разобрать драйвер и посмотреть что там делается в хандлере прерываний.
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
С каким драйвером?
Сейчас сравнил чтение одного образа через DW и HD на скорости 40 MIPS - результат такой:
Если есть драйвер, который нормально читает DW при любой скорости процессора - проблема не в эмуляторе.Код:.DIFF/BIN DW0: HD7: ?BINCOM-W-File is longer HD7:*. BINCOM comparing/ DW0:*. -- HD7:*. ?BINCOM-I-No differences found .
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)