Если бы так происходило - при сбое питания RT-11 выполнял бы fatal останов из которого потом выйти нельзя.
С RSX же номер не прошел. Попробую детально покопаться... Вот только вопрос - про booter.ini - его настройки имеют значение всегда или только для запуска? Я запускал систему с автозагрузкой с HD, в после "сбоя питания" убирал автозагрузку.
Последний раз редактировалось form; 25.01.2017 в 22:00.
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
Booter влияет на процессор и память только при его активизации.
Я тоже ( но потом для чистоты эксперимента ещё и с MY из пульта загрузился ).
- - - Добавлено - - -
Зависит от генерации. Комплектная RT-11 при сбое питания просто переходит по вектору 24 на адрес 26.
Дизассемблер навскидку не помог: в момент отжатия кнопки power он остановился где угодно, только не там где отработал ISR вектора 24. Ни одной команды HALT в логе не зафиксировано, а между тем система после сбоя питания именно командой HALT останавливается.
- - - Добавлено - - -
Не зависит. От генерации зависит только будет ли система печатать сообщение о том, что это сбой питания (причем напечатается оно после восстановления питания) или нет. Дальше же независимо от генерации действие будет одно и то же.
Последний раз редактировалось form; 25.01.2017 в 22:13.
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
А нет, посмотрел - вроде что-то пытается восстановиться в RT-11 при наличии сообщения (и кстати там же видно, что SP ему пофигу - он его первым делом восстанавливает). Ладно, позже покопаем. Но вопрос остался открытым: я включаю disasm, наждимаю кнопку power и до HALT дело не доходит.
- - - Добавлено - - -
А не рассматривает ли эмулятор команду WAIT в качестве условия останова? В логе дважды останавливается (power off) именно на этой команде (источник ее скорее всего нормальный system idle).
- - - Добавлено - - -
Не, не пытается - это он печатает сообщение. После - HALT и BR на него...
- - - Добавлено - - -
Провел совсем простой тест: программа переходит на системный уровень, выставляет приоритет 7 процессору и делает "BR .".
В этот момент отжимаю кнопку Power и вижу в дизассемблере, что именно в этом месте активность и прекратилась. То есть никакого сбоя питания при отжатии кнопки power не было.
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
Тем хуже всем нам, потому что в комплекте поставки это выглядит так:
Код:RT-11SJ (Y) V05.04 G .SET USR NOSWAP .SET EXIT NOSWAP .SET TT SCOPE .SET SL ON . @152040 @24/000026 00000026/000000 @
Возможно, надо добавить времени в промежуток ACLO-DCLO при помощи настройки nACLO_to_DCLO_Delay_MS:
Код:[bus.ini] nACLO_to_DCLO_Delay_MS = 2
За те 2 мс, которые эмулятор держит питание по умолчанию - WAIT может и не дождаться своего прерывания. Промежуток между ACLO и DCLO можно настроить при помощи nACLO_to_DCLO_Delay_MS.
Последний раз редактировалось Patron; 25.01.2017 в 22:31.
Уже разобрался выше. Выполнения действия по сбою питания эмулятором не обнаружено в принципе. При отжатии кнопки power эмулятор просто выключается вместо выполнения трапа по 24.
- - - Добавлено - - -
Собственно в логе же вроде явно пишется trap to?.. а "trap to 24" или как там его не обнаружен в логе также.
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
Да, последний interrupt был по вектору 100. А при потере питания должен быть interrupt по 24. Именно при отключении питания, а не после того как оно появится.
- - - Добавлено - - -
И такого в логе нету.
Эмулятор точно выполняет прерывание при отключении питания? А не после того как он потом включится (это - неправильно).
- - - Добавлено - - -
На всякий случай, у меня вот этот эмулятор: DVK_Emulator_17.01.17_21-08.rar - это последний?
Взял из него только pdp11.exe - этого хватит?
- - - Добавлено - - -
Собственно ему не нужно ждать ничего: при потере питания уже произошло (по крайней мере должно безусловно произойти) прерывание, а в ISR вектора 24 никаких WAIT нету
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
Собрал такой же вариант, загрузил комплектный VM3.cfg, нажал последовательно <Log> <DisAsm> <Power> и ( после поиска в листинге размером 9 Мб ) получил:
- - - Добавлено - - -Код:143622 [000011] ADD #16., R1 ; 143624:000020 -> R1 :121642 143626 [000010] MOV R4, R5 ; R4 :104340 -> R5 143630 [000010] BIC #-16., R4 ; 143632:177760 -> R4 :104340 143634 [000004] BIC #-241., R5 ; 143636:177417 -> R5 :104340 143640 [000000] ASR R5 ; R5 :000340 143642 [000000] ASR R5 ; R5 :000160 143644 [000000] ASR R5 ; R5 :000070 143646 [000000] ADD PC, R5 ; R7 :143650 -> R5 :000034 ################# ACLO - ON ################# ; 000026:000000 -> PSW ; PSW :000010 -> 121640:152442 ; PC :143650 -> 121636:144230 ; 000024:000026 -> PC 000026 [000000] HALT
Сбой питания на команде WAIT надо будет отдельно протестировать.
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)