Наконец закончилось новогодее спиртное, и я выбрал время продолжить любимое дело.
Итак, с первичным загрузчиком, формируемым на диске программой SAV, я разобрался. Он, действительно, пытается определить тип контроллера - RH-11 или RH-70, по наличию регистра расширенного адреса RHBAE, в котором хранятся дополнительные биты адреса 18-21. А, до этого, пытается определить тип процессора - 11/70 или нет, по наличию регистра SYSID (177764). И если машина не 11/70, то считает, что контроллер у нас RH-11. Подход выглядит весьма корявым, и является следствием непродуманности средств идентификации оборудования.
Вообщем, если из адресного пространства выкинуть регистр RHBAE, то стартер BASELINE начинает отлично грузиться с DB-диска:
С ошибкой, вылезающей в процессе генерации системы, я также разобрался. Проблема оказалась в скрипте SGNVC.CMD, предназанченном для формирования файла SYSVMR.CMD. Вот в этом месте:Код:2044.KW START? DB0 RSX-11M-PLUS V4.6 BL87 2044.KW System:"Baseline" >RED DB:=SY: >RED DB:=LB: >RED DB:=SP: >MOU DB0:"RSX11MPBL87" >@[2,54]BASTART.CMD >SET /CRASHDEV=MM0: SET -- Crash device MM000: has been successfully loaded >; >* Do you wish to see the Installation Notes? [Y/N]: >SET /UIC=[200,200] >; >; PLEASE NOTE >; >; If you have not yet read the system release notes, please do so >; now before attempting to perform a SYSGEN or to utilize the new >; features of this system. >; >; >; In order to start the SYSGEN process, type: >; >; >@SYSGEN >; >; When SYSGEN has completed and your generated system is >; running, you may wish to edit several supplied prototype >; command and text files to suit your system and application: >; >; File Purpose >; ---- ------- >; [0,0]RSX11.SYS An account/password file >; This file does contain privileged accounts. >; >; [1,2]STARTUP.CMD (This file) Invoked at bootstrap time to >; control bringing up the system. >; >; [1,2]QMGSTART.CMD Invoked by STARTUP to start up the Queue >; Manager and spooling system. >; >; [1,2]SHUTUP.CMD Invoked by SHUTUP when taking down the system >; to perform system dependent shutdown tasks. >; >; [1,2]QMGSTOP.CMD Invoked by SHUTUP to stop the Queue Manager >; and spooling system. >; >; [1,2]LOGIN.TXT Displayed on user's terminal when logging in. >; >; [1,2]BATCH.TXT Displayed at the beginning of each batch log >; file. >; >; >* Please enter time and date (HH:MM DD-MMM-YYYY) [S]: 15:52 6-JAN-23 >TIME 15:52 6-JAN-23 >ACS SY:/BLKS=1024. >CON ONLINE ALL >ELI /LOG/LIM >CLI /INIT=DCL/CTRLC/DPR="<15><12>/$ /" >INS LB:[1,1]RMSRESAB.TSK/RON=YES/PAR=GEN >INS LB:[1,1]RMSLBL.TSK/RON=YES/PAR=GEN >INS LB:[1,1]RMSLBM.TSK/RON=YES/PAR=GEN >INS $QMGCLI >INS $QMGCLI/TASK=...PRI >INS $QMGCLI/TASK=...SUB >QUE /START:QMG >INS $QMGPRT/TASK=PRT.../SLV=NO >QUE LP0:/CR/NM >START/ACCOUNTING >CON ESTAT LP0: >QUE LP0:/SP/FL:2/LOWER/FO:0 >QUE BAP0:/BATCH >QUE LP0:/AS:PRINT >QUE BAP0:/AS:BATCH >@ <EOF> >
не проверяется наличие переменной $U$DAS, что и порождает ошибку. Переменная эта имеет смысл только для I/D процессоров, для остальных она не определена. Исправить ситуацию можно разными способами, я пошел самым простым путем, введя проверку наличия этой переменной:Код:.VMR60: .IF $FCPNM NE "FCPLRG" .GOTO VMR65 .IFT $U$DAS .SETS $FCPNM "FCPLRGID"
Предполагаю, что ошибку эту внесли криворукие программисты ментека, конкретно некий D. Carroll. Судя по журналу модификаций, этот код появился как раз в версии 4.6:Код:.VMR60: .IF $FCPNM NE "FCPLRG" .GOTO VMR65 .IFNDF $U$DAS .GOTO VMR65 .IFT $U$DAS .SETS $FCPNM "FCPLRGID"
В результате генерация системы проходит до конца, но дальше поджидает очередной облом:Код:.; Modified for RSX-11M-PLUS V4.6 by: .; .; D. Carroll 06-Jan-1996 04.09 .; DC428 -- Load VF: if virtual disks were selected in sysgen .; and select I/D space ACP if applicable
Свежая система загружается и вполне успешно функционирует - можно смонтировать все диски без проблем, можно запускать любые задачи. Но вот попытка сохранить образ командой SAV вызывает мертвый вис. Более того, образ системы необратимо портится и больше не загружается:Код:>BOO [1,54] XDT: 87 XDT>G RSX-11M-PLUS V4.6 BL87 >SAV
На этом пока все. Не ожидал, что возникшая на ровном месте проблема дисков DB превартится в такой длинный и тернистый путь. Теперь придется копать дальше, благо новый год и времени пока хватает.Код:>BOO [1,54] 057242 @




Ответить с цитированием