Именно так - восстановление без инициализации позволяет это сделать :)
А вот в RSX-11M и вовсе хорошо - там можно почти что попросить любого привилегированного пользователя дать тебе привилегии (имеется в виду неявно) :)
Вид для печати
У меня нет, от BQT тоже не слышал. Если бы было время, я бы поигрался с OLB файлами - их не так уж сложно восстановить. Вот с TSK дело достаточно плохо. Но все упирается во время... Дойдут руки очередной выпуск TCP/IP потестить, буду отписываться - между делом спрошу...
---------- Post added at 20:46 ---------- Previous post was at 20:44 ----------
Впрочем если нужен просто BP2 V2.7, то как писал выше (или не писал?), пресобранный вариант рабочий.
По горячим следам пока помню решил записать действия, требующиеся для сборки RSX-11M V4.8 чтобы он работал скажем на PDP-11/03 (ну или УКНЦ ежели драйверы дописать)...
В процессе генерации unmapped системы делается попытка установить TKB под именем ...TKL из каталога unmapped системы ([1,50]), но там на этот момент еще ничего нету. Поэтому перед началом установки инсталим штатный TKB, и далее проходим первую фазу генерации (на вопрос об автоматическом переходе к фазе 2 отвечаем N), в процессе генерации выбираем разумный набор возможностей...Второй косяк на который натыкается вторая фаза генерации - сборка программы RMD. Командные файлы были обновлены для сборки с новым функционалом (который по умолчанию выключен), но библиотека RMD для unmapped системы обновлена не была. Нужно скомпилировать, добавить в библиотеку недостающие модули и запустить вторую фазу. Также значения базовых адресов, предлагаемые по умолчанию, могут не вписаться в рамки собранной системы. Я сдвинул их к самому верху (из расчета 56 Kb памяти).Код:>SET /UIC=[200,200]
>INS $TKB/TASK=...TKL
>@SYSGEN
...
>* 1. Autoconfigure the host system hardware? [Y/N]:
...
>* 4. Have you made a copy of the distribution kit? [Y/N]: Y
>* 5. Are you generating an unmapped system? [Y/N]: Y
...
>; End of SYSGEN phase I at 22:07:00 on 21-OCT-15
>; -- To continue type: @[200,200]SYSGEN2
>;
>SET /UIC=[200,200]
>@ <EOF>
>
Далее запускаем фазу 3, не забываем про базовый адрес раздела...Код:>ASN SY:=IN:
>ASN SY:=OU:
>ASN NL:=LI:
>INS $MAC
>INS $LBR
>SET /UIC=[1,20]
>MAC @[14,24]RMDASM
>LBR RMD/IN/-EP=GBLPDM,V1HPDM,V52PDM,L36PDM,PDCOM,PDINIT,PDPAGE,PDCMD
>SET /UIC=[200,200]
>@SYSGEN2
...
>* 2. GEN's base address in 32 word blocks [O D:400]: 560
>* 3. SYSPAR's base in 32 word blocks [O D:1300]: 1460
...
>;
>; End of SYSGEN phase II at 22:11:32 on 21-OCT-15
>;
>SET /UIC=[200,200]
>@ <EOF>
>
Система полнастью собрана, осталось подготовить образ, но... Библиотека для программы SAV по умолчанию собрана для процессоров с адресуемым PSW и соответственно на 11/03 (или УКНЦ) все рухнет уже на этапе аппаратной загрузки. Поэтому нужно перекомпилить и заменить модули программы с использованием файла параметров (RSXMC.MAC) от свежесгенеренной системы.Код:>@SYSGEN3
...
>SET /UIC=[200,200]
>@ <EOF>
>
Вот теперь все - можно заканчивать с образом системы: копировать на нужный диск, VMR'ить, BOO'тить, SAV'ать... Да, скорее всего придется подкоректировать команду SET /POOL=400 в SYSVMR.CMD, заменив 400 на базовый адрес раздела PAR14K...Код:>SET /UIC=[1,20]
>ASN SY:=IN:
>ASN SY:=OU:
>ASN NL:=LI:
>INS $MAC
>INS $LBR
>INS $TKB
>MAC @[12,24]MCRASM
>LBR SAV/RP/-EP=SAVBOT,SAVCPU,SAVC1,SAVC2,SAVC3,SAVDB,SAVDF,SAVDK,SAVDL,SAVDM
>LBR SAV/RP/-EP=SAVDP,SAVDR,SAVDRT,SAVDS,SAVDT,SAVDU,SAVDX,SAVDY,SAVE,SAVEM
>LBR SAV/RP/-EP=SAVFN,SAVINS,SAVSIZ,SAVST,SAVSUB
>TKB @SAVBLD
Аббревиатура TEDOS комунить чтонить говорит?
Скрытый текст
Есть (точнее, будет) пару пакетов от 5400 с пометкой ТЕДОС... Что это и с чем это едят уже никто не помнит, будем сами разбираться...
Хех, это круто) Т.е. без установленного блина теоретически будет с чего грузануться? И ещё такой интересный вопрос - после включения машины такого плана, она сразу в терминал сваливается, или надо будет на пульте всякие адресочки-данные повбивать?
Да, привод 0 (2, 4, 6) всегда есть в такой конструкции.
---------- Post added at 16:33 ---------- Previous post was at 16:30 ----------
Скорее всего нужно стартануть по адресу 17773000 (выставить на пульте такой адрес [и пусть всегда стоит], после включения нажать загрузку адреса, потом пуск - на консоли должен появиться эмулятор пульта в котором можно набирать некоторые команды эмуляции клавишного пульта или название устройства для загрузки [например DK0 и <CR>]). Скрипт для HX я выкладывал если что...
Пусть в этой теме будет... Предварительный образ RSX-11M для УКНЦ на дискете MZ. С WD сложнее поскольку в нем видимо невозможно нормальное чтение в область памяти 0-776, особенно в условиях когда вся память потенциально занята и временно прочитать некуда :) но попробуем :)
Поседний вариант HD драйверов I/O и BOOT/SAVE для RSX-11M.
Пара мыслей вслух... Пока копался с драйверами HD эмулятора ДВК, MZ и WD от УКНЦ... Ну с I/O драйверами особых проблем нет даже с таким специфическим устройством как WD.
Основная трудность - 16-битность этих устройств. Это затрудняет создание образа с системой. При работе с HD приходилось сначала делать unmapped систему на DY, грузить, сохранять, а потом из нее уже работать с HD. Позже проблема решилась придумыванием расширенного варианта HD который совместим с классическим, но в случае чего работает и с 22-бит.
Вторая проблема которая вылезла - невозможнось однозначно узнать в драйвере загрузки-сохранения с какого номера устройства была загрузка. В обновленном варианте HD такая возможность есть, для остальных же случаев придумался такой вариант: если R1 содержит CSR адрес устройства - считаем, что была аппаратная загрузка (или BOOT/FOREIGN из под RT-11) и номер устройства лежит в R0. Если R1 содержит значение отличное от CSR устройства, а номер устройства драйверу не передан (возможно при загрузке сохраненной системы командой BOO), берем номер устройства из R4 где он остается от прошлого использования драйвера загрузки-сохранения. Не факт, способ основанный на допущениях, но пока вроде не подводил :)
Отдельный случай с WD - у него нету CSR, все операции производятся модификацией вектора и там же получается ответ. Приоритет CPU прерываниям от WD побоку - они в любом случае будут генериться, тут можно встретиться с ситуацией когда прерывание произойдет в момент когда это категорически недопустимо (живой пример - момент когда читается сохраненная система - поскольку мы читаем полное содержимое памяти с диска, возникновение прерывания невовремя может запортить содержимое этой самой памяти)... Другая проблема - передача I/O запроса устройству через область векторов - это затрудняет чтение образа системы в эту область памяти... Ну да придумаем поди что-нибудь :) В настоящее время есть I/O дайвер для WD, но сохранить на него систему не получится пока...
- - - Добавлено - - -
Словаря нету чтобы на русский все написанное перевести? ;)
Ну ты ранее сдел образ hdrsx.dsk для эмулятора ДВК, вот как драйвер HD обновить там
самостоятельно пользователю? Иначе зачем вообще обновления? Либо шпаргалку как запихнуть
любое "новое" в образ 5мб опубликованный ранее либо, form, что я и предложил - обновить
образ автору. Есть конечно 3-й вариант - начать плавное давление на автора плагина и эмулятора ДВК! )))
http://smages.com/images/rsxdwk.png
В RT-11 версий до 4.0 замена системного драйвера тоже была не совсем простой процедурой.
А еще бы спортить его (эмулятор) под ARM. А то на Али совсем недорого продаются чудные девайсы, имеющие на борту STM32F429 (Cortex-M4, 168 МГц, 2М флеши + 0.25М статической памяти + куча разных портов), 8М SDRAM и небольшой дисплейчик. Так вот, спортировать туда эмулятор, на паре-тройке портов ввода-вывода общего назначения сэмулировать Q-Bus, и готова микроэмулированная PDP-11.
Сделал себе справочник по командам MCR, может кому ещё пригодится...
Вложение 55552
Добавлю, что команды сокращаются до 3 букв кроме HELP (в M+ после входа в систему достаточно HEL).
Команды SHUTUP не существует - это программа завершения.
BLOCK - нет такой команды MCR, в MCR эта команда называется BLK
DISMOUNT - нужно пояснить, что в MCR таки DMO (а не DIS в силу привычных сокращений)
TYPE - такой команлы MCR нет. Это либо отклик TDX на неопознанную команду либо команда DCL.
ACNT - опять таки такой команды нет - это программа, в M+ ее не может запустить простой пользователь
CTRL/C отнюдь не прерывает выполнение команды, а вызывает подсказку текущего CLI (если программа в этот момент не захватила терминал для единоличнго использования). В DCL есть возможность настроить такую реакцию, но речь про MCR :)
Переделал книгу "Операционная система ОСРВМ СМ ЭВМ", получилось 7,5 Мб http://rghost.ru/62GvqpwKy
Спасибо MiX за любезно предоставленные исходники сканов.
Хотел установить BQTCP/IP, но появилась проблема... :)
В процессе установки, скрипт устанавливает по умолчанию директорию [IP] чтобы оттуда копировать файлы, но у меня эта команда не работает "SET /DEF=DL:[IP]"
Что я делаю не так?
Вот лог установки:
образ BQTCP.DSK установлен в RL0
Код:>MOU DL0:/OVR/PUB
>@DL0:[IP]IPGEN.CMD
>;
>; BQTCP/IP generation. X0.5
>;
>; Started on 19-JAN-16 11:53:31
>;
>SET /NAMED
>* What is the device where the kit is [S D:"SY:"]: DL:
>SET /DEF=DL:[IP]
>INS $MAC
>* How many interfaces do you want [O R:1-10 D:2]:
>* What type is IF0: [S D:"Ethernet"]:
>* Do you want to use DHCP for this interface? [Y/N D:Y]:
>* Do you want to use the default route on this interface? [Y/N D:Y]:
>* Do you want to use DNS over this interface? [Y/N D:Y]:
>* Do you want to use the DNS domain for this interface? [Y/N D:Y]: N
>* What is the line name of IF0: [S]: ETH
>* What type is IF1: [S D:"Loopback"]:
>;
>* What is your hostname [S]: PISTON
>* What is your (default) domain name [S]:
>;
>* Do you want to install the DECnet driver? [Y/N D:N]: N
>;
>* What size do you want the IP pool to be [D D:256.]:
>* Do you want to install the new IPINS.CMD? [Y/N D:N]:
>* Do you want to install the new IPAPPL.CMD? [Y/N D:N]:
>* Do you want to install the new HOSTS file? [Y/N D:N]:
>* Do you want to install the new HELP files? [Y/N D:N]:
>* Do you want to install the new message files? [Y/N D:N]:
>; Thank you. All questions have now been asked.
>;
>; Creating IPINS.NEW
>;
>;
>; Creating HOSTS file
>;
>;
>; Creating parameter file
>;
>;
>; Copy libraries libraries
>;
>pip lb:[1,1]/nv=[lib]*.*
PIP -- Open failure on output file
DB0:[1,1]IPLIB.OLB -- Privilege violation
>;
>; Compiling and taskbuilding drivers
>;
>mac iftab=iftab
MAC -- Open failure on output file
IFTAB=IFTAB
>mac iptab=iptab
MAC -- Open failure on output file
IPTAB=IPTAB
>mac udtab=udtab
MAC -- Open failure on output file
UDTAB=UDTAB
>mac tctab=tctab
MAC -- Open failure on output file
TCTAB=TCTAB
>tkb @ifdrv
TKB -- *FATAL*-Lookup failure on file IFTAB.OBJ
>tkb @ipdrv
TKB -- *FATAL*-Lookup failure on file IPTAB.OBJ
>tkb @uddrv
TKB -- *FATAL*-Lookup failure on file UDTAB.OBJ
>tkb @tcdrv
TKB -- *FATAL*-Lookup failure on file TCTAB.OBJ
>;
>; Copying drivers
>;
>pip lb:[1,54]/nv=[ip]ifdrv.tsk,.stb
PIP -- No such file(s)
SY0:[IP]IFDRV.TSK
PIP -- No such file(s)
SY0:[IP].STB
>pip lb:[1,54]/nv=[ip]ipdrv.tsk,.stb
PIP -- No such file(s)
SY0:[IP]IPDRV.TSK
PIP -- No such file(s)
SY0:[IP].STB
>pip lb:[1,54]/nv=[ip]uddrv.tsk,.stb
PIP -- No such file(s)
SY0:[IP]UDDRV.TSK
PIP -- No such file(s)
SY0:[IP].STB
>pip lb:[1,54]/nv=[ip]tcdrv.tsk,.stb
PIP -- No such file(s)
SY0:[IP]TCDRV.TSK
PIP -- No such file(s)
SY0:[IP].STB
>;
>; Building TELNET common
>;
>TKB @TELCOM
TKB -- *DIAG*-Allocation failure on file TELCOM.TSK
TKB -- *DIAG*-Open failure on file TELCOM.MAP
TKB -- *DIAG*-Open failure on file TELCOM.STB
>;
>; Copy basic tools
>;
>pip lb:[ip]/nv=[ip]ifconfig.tsk,netstat,ping,tracert,ethacp,resacp
>;
>; Done
>;
>; Remember to add, change or update the information in LB:[1,2]HOSTS.TXT
>;
>; After DECnet has started (if DECnet is also installed on the machine),
>; invokde [IP]IPINS.CMD to start TCP/IP.
>;
>; Edit [IP]IPAPPL.CMD, and invoke that at a later point in the
>; startup, when all shared libraries and other requisits have been
>; installed.
>;
>; Edit [IP]IPREM.CMD to customize the shutting down procedure,
>; and remember to invoke this if needed from the standard shutup
>; procedure.
>SET /CLI=TI:MCR
>SET /NONAMED
>SET /DEF=[200,200]
>@ <EOF>
Из лога видно, что она как раз работает.
Зато судя по ошибкам "Privilege violation" можно предположить, что перед выполнением IPGEN защитный UIC был непривилегированным (например [200,200]), соответственно и доступа к некоторым каталогам нету. Так что скорее всего нужно сначала выставить защитный UIC например командой SET /UIC=[1,1].
form, спасибо! Проблема была как раз в этом, теперь все нормально установилось.
Установил BQTCP/IP текущей версии. При установке указал статический адрес и прописал загрузку IPINS.CMD и IPAPPL.CMD в STARTUP.CMD но сетевой адаптер не видит, пишет при загрузке:
В SIMH указал delua адаптер(хотя и другие пробовал) так:Код:Starting IP.
Starting UD.
Starting TC.
>ifc set if0: add 192.168.1.22 acp ethacp lin lan mask 255.255.255.0
>ifc set if0: sta ope
TCP/IP - No suitable ethernet found!
Failed to start interface.
>ifc set if1: add localhost
Starting resolver
>ifc set if1: sta ope
>ifc add rou default gat defaultrtr
Error adding route.
>ifc add rou broadcast gat 192.168.1.22
Error adding route.
сам simh собран с поддержкой сети, пробовал версию и для linux и для win. К примеру в vms в эмуляторе vax сеть у меня работает нормально.Код:SET XU ENABLE
SET XU type=delua
SET XU mac=08-00-2B-AA-BB-DD
ATTACH XU eth0
Сейчас не пойму в чем проблема, в simh или в rsx11m+?
Может что то надо дополнительно настраивать в rsx11m+? Но при генерации про сеть только один вопрос там видел:
В самом BQTCP/IP про указание типа адаптера ничего не нашёл.Код:>* CE120 Do you want support for communications products
>* (such as DECnet, PSI, and LAT)? [Y/N D:N]: Y
Начал разбираться с DECnet :)
Хотел поставить DECnet-11M-PLUS V4.6 с ленты, но по нему не нашел мануалов, может есть у кого нибудь?
Самый свежий нашёл этот - AA-H225F-TC_DECnet-RSX_V4.5_Network_Generation_and_Installation_Guide _Oct89.pdf но там PREGEN этап похоже отличается от того дистрибутива что есть у меня. У меня образ ленты вроде не FLX и поэтому не смог скопировать PREGEN.CMD
Может есть какой нибудь способ определить тип содержимого на ленте не перебирая FLX, BRU и т.п.?
Лога не оказалось под рукой, но M+ легко ставить с ленты. Лента загрузочная (классический дистрибутив разделен на несколько лент, но может все на одной быть). После загрузки попросит ввести первое и второе устройство, которые и вводим - ленту и диск на который восстанавливаем (MU: и DU: например). Далее запускаем BRU и восстанавливаем первую часть на диск:После восстановления грузимся с диска, все остальное он восстановит сам - в M+ тут все просто. Есть еще нюансы касаемые больших дисков вроде RA90/RA92, но для поставленной цели они несущественны...Код:>RUN BRU
BRU>/REW MU: DU:
- - - Добавлено - - -
Хм. Это я про RSX-11M-PLUS написал - еще только вошел - не разглядел вопроса хорошо, теперь про DECnet :D
- - - Добавлено - - -
Касаемо DECnet-11M+ V4.6, это тоже лента BRU, из под RSX восстанавливается первая часть:Ответить на вопросы, запустить @NETGEN...Код:>MOU MU:/FOR
>INS $BRU
>BRU /REW/NOI/UFD MU: DU:
>CHD 137 10
>@PREGEN
Есть документация на bitsavers, но многое и так будет понятным...
- - - Добавлено - - -
С FLX надо документацию смотреть - не вспомню навскидку хватит ли одного PREGEN или там несколько файлов надо копировать.
- - - Добавлено - - -
Определить можно посмотрев вывод DMP, но смысла нет - проще попробовать BRU, а затем FLX. На ANSI лентах дистрибы не поставляют, соответственно перемонтировать для еще одного теста не нужно...
- - - Добавлено - - -
Посмотрел по описанию - вроде PREGEN достаточно с FLXовской ленты скопировать...Код:>UFD [137,10]
>CHD 137 10
>FLX /RS/FA=MU:PREGEN.CMD/DO
>@PREGEN
Возможно порченый образ, а возможно проблемы с эмуляцией MS. Лента должна быть в BRU формате. Формат самого образа совместим с SimH и E11. Не TPC.
Установил :v2_dizzy_roll:
Почему то под win образ не монтировался нормально..
Добавил в [1,2]startup.cmd запуск decnet:
и теперь при выполнении shutup.cmd не отмонтируется системный диск DB0:Код:.SETT $CEX
.SETT $DEC
.SETT $NNS
ASN LB:=XX:
.SETF $LAT
@LB:[5,1]NETINS
Это так и должно быть или перед shutup нужно отключать decnet?Код:>RUN $SHUTUP
RSX-11M-PLUS Shut down program
Enter minutes to wait before shutdown:
Reason for shutdown (<CR> for none):
OK to shutdown? [Y/N]: Y
All further logins are disabled
22-JAN-16 10:59 System is now shutting down -- PISTON
QUE /STO:QMG
>
STOP/ACCOUNTING SHUTUP
10:59:52 SYSLOG -- 47. Exiting
>
@LB:[1,2]SHUTUP
>VCP DISCONNECT /ALL
>@ <EOF>
>
ELI /NOLOG
>
ACS DB0:/BLKS=0.
ACS -- Checkpoint file now inactive
>
DMO DB0:/DEV/LOCK=V
DMO -- System disk being dismounted
DMO -- SYSTEM dismounted from DB0: *** Final dismount initiated ***
>
Command (DMO) Timeout - Continue waiting? [Y/N]: N
DMO NS0:/DEV/LOCK=V
DMO -- SYSTEM dismounted from NS0: *** Final dismount initiated ***
>
Event type 68.14, Normal usage terminated
Occurred 22-JAN-16 11:00:13 on node 1.77 (PISTON)
Circuit UNA-0
Event type 2.0, Local node state change
Occurred 22-JAN-16 11:00:15 on node 1.77 (PISTON)
Reason for state change: Operator command, Old node state = On
New node state = Off
SHUTUP operation complete
Его сервер имен держит. Нужно добавить в LB:[1,2]SHUTUP.CMD строчку:- - - Добавлено - - -Код:.IFACT NT.NNS .IFINS ...SCP SCP STOP SIL (I)
Хинт по DECnet: если выбрать адрес и имя из следующего списка, то можно через меня потом подключиться к HECnet (обязательно non-routing node) :)Ну или можно самостоятельно подключиться через BQT :)Код:62.4 (COPOKA) Unreachable
62.5 (BOPOHA) Unreachable
62.6 (KOPOBA) Unreachable
62.10 (NOKIA) Unreachable
62.11 (KYPEBO) Unreachable
62.12 (CTEPEO) Unreachable
62.13 (MOHO) Unreachable