Сообщение от
Patron
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_17.01.17_21-08
Эх, не хочется эксперимент прерывать и обновляться - все еще работает предыдущий эмулятор с RSX
Код:
>SHO HOS
Host=KYPEBO RSX-11M-PLUS V4.6 BL87
>UPT
21:23:33 up 48 day(s), 00:18, 3 user(s), 0 batch job(s), 18 active task(s)
>
- - - Добавлено - - -
Ну и к вопросу о сбое питания и о том, что сохранять...
Сделал небольшую демонстрацию в E11. Простой плагин, вызывающий прерывание по вектору 24 при записи в адрес 17766666. Выполняя такую запись командой самого E11, мы собственно и вызываем "сбой питания".
Код плагина
Код:
#include "e11.h"
static E11HANDLE csr, vec;
static void __stdcall
init(dword addr)
{
}
static word __stdcall
dati(dword addr)
{
return (0);
}
static void __stdcall
dato(dword addr, dword value, dword datob)
{
EnqueueInt(vec, NULL, 0);
}
int __stdcall
DllMain(unsigned long hinstDLL, unsigned long fdwReason, void *lvpReserved)
{
switch (fdwReason) {
case DLL_PROCESS_ATTACH:
if ((csr = GetCSRBlock(017766666, 1, dati, dato, init)) == 0)
return (FALSE);
if ((vec = GetIntQel(7, 0, 024)) == 0) {
RetCSRBlock(csr);
return (FALSE);
}
break;
case DLL_PROCESS_DETACH:
RetIntQel(vec);
RetCSRBlock(csr);
break;
default:
return (FALSE);
}
return (TRUE);
}
[свернуть]
Далее собственно демонстрация (RSX-11M+ V4.6, включен DECnet):
Код:
Ersatz-11 V7.2 Demo version, COMMERCIAL USE LIMITED TO 30-DAY EVALUATION
Copyright (C) 1993-2016 by Digby's Bitpile, Inc. All rights reserved.
See www.dbit.com for more information.
E11>install plugins\pwf.dll
E11>b du
RSX-11M-PLUS V4.6 BL87 1024.KW System:"KOPOBA"
>RED DU:=SY:
>RED DU:=LB:
>RED DU:=SP:
>MOU DU0:"RSX11MPBL87"/ACP=UNIQUE
>@DU:[1,2]STARTUP
>;
>; Current daytime is 22:10 24-JAN-2017
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S T:10S]:
...
>NCP SHO ACT NOD
Active nodes summary as of 24-JAN-17 22:12:15
Executor node = 62.6 (KOPOBA)
State = On, Identification = "DECnet for RSX-11M-Plus V4.6"
Remote Active Next
Node State Links Delay Circuit Node
62.3 (BIGSYS) Reachable 62.3 (BIGSYS)
>
E11>d 166666 0
E11>
%HALT
R0/172260 R1/172220 R2/172240 R3/172200 CM=K PM=S PRIO=7
R4/177620 R5/172360 SP/002214 PC/046726 N=0 Z=0 V=0 C=0
046726 mov 001014,sp
E11>dump mem.pdp
E11>q
Система остановилась по сбою питания, сохраняем содержимое памяти в файл, выходим из эмулятора. Ничего кроме памяти не сохраняем - никаких состояний процессора. Запускаем эмулятор с нуля:
Код:
Ersatz-11 V7.2 Demo version, COMMERCIAL USE LIMITED TO 30-DAY EVALUATION
Copyright (C) 1993-2016 by Digby's Bitpile, Inc. All rights reserved.
See www.dbit.com for more information.
E11>load mem
E11>e 24 26
000024/ 046726
000026/ 000340
E11>pc=46726
E11>ps=340
E11>r
R0/000000 R1/000000 R2/000000 R3/000000 CM=K PM=K PRIO=7
R4/000000 R5/000000 SP/000000 PC/046726 N=0 Z=0 V=0 C=0
046726 mov 001014,sp
E11>p
22:12:46 Event type 4.7, Circuit down - circuit fault
Occurred 24-JAN-17 22:12:45 on node 62.6 (KOPOBA)
Circuit QNA-0
Line synchronization lost
22:12:47 Event type 4.10, Circuit up
Occurred 24-JAN-17 22:12:47 on node 62.6 (KOPOBA)
Circuit QNA-0
22:12:48 Event type 4.15, Adjacency up
Occurred 24-JAN-17 22:12:48 on node 62.6 (KOPOBA)
Circuit QNA-0
Adjacent node = 62.3 (BIGSYS)
>NCP SHO ACT NOD
Active nodes summary as of 24-JAN-17 22:13:29
Executor node = 62.6 (KOPOBA)
State = On, Identification = "DECnet for RSX-11M-Plus V4.6"
Remote Active Next
Node State Links Delay Circuit Node
62.3 (BIGSYS) Reachable 62.3 (BIGSYS)
>
Загрузили память из файла, никакого состояния процессора не восстанавливали (то есть имеем в регистрах мусор, MMU выключен, все устройства сброшены), загружаем PS и PC из вектора 24 (никаких операций со стеком) и запускаем процессор. Система поднимается как ни в чем не бывало, даже видно как переподнялся DECnet
Вот в сущности этого бы и хотелось: возможности одной кнопкой вызывать трап по 24 и сохранение памяти в файл по переходу процессора в режим HALT (можно сразу с выходом из эмулятора). А при запуске, соответственно иметь возможность восстановиться из файла и запуститься. На ДВК я так понимаю штатно подобное не предусмотрено, но в качестве полезной фичи пригодилось бы