-
На всякий случай попробовал скачать - скачанное соотвествует оригиналу. И ImgUtil моя не ругается при распаковке.
-
Перезалил заново - размер правильный, все читается.
Драйверы разных лент немного отличаются все-таки: отличается имя для таблицы LUN и кое-какой код - надо будет посмотреть внимательнее.
- - - Добавлено - - -
LP заработал.
DL подключается, но сыпет ошибками - скорее всего RTшная специфика DL, что в первом блоке должна быть таблица замещения блоков.
Хотя возможно тут проблема с DUP: в v5 DL должен быть VARSZ$, в v4 свой механизм.
MT подключается, но ругается при попытке инициализировать.
Правда эксперимент не чистый - в RSX использовался VF с альтернативным DCB, а насколько он эмулирует функционал данных устройств - фиг знает.
Придется сделать тестовый стенд со всеми этими устройствами :)
И слотов свободных маловато - надо перегенерить будет монитор.
UPD. Про DL подтвердилось - проблема в ожидания DUP.
- - - Добавлено - - -
Разбираю RTEMовский DL.
Для начала разобрал как родные RTEMовские драйверы проверяют нужно им инсталиться или нет, а то до сих пор не было возможности посмотреть.
Выглядит это так:
Если драйвер несистемный:- Ищется приаттаченое через JOAT устройство DD0, DD1, DD2, итд...
- Если таковое находится - драйвер инсталится, если нет - не инсталится
Если драйвер системный:- Проверяется есть ли свободный LUN
- Если нет - не инсталится
- Проверяется есть ли в основной системе устройства DD0, DD1, DD2, итд...
- Если есть - выполняется проверка аналогичная несистемному драйверу
- Если нет - не инсталится
UPD: затупил насчет DL. Все работает и SF.SIZ отрабатывается. Все что нужно - как и с VS добавить VARSZ$ в слово состояния.
Видимо при проверке забыл приаттачить :)
-
Лента...
Код:
.JOAT MS:/A
.INI MS:/NOQ
.COP SY:.SYS MS:
Files copied:
SY:RTEMFB.SYS to MS:RTEMFB.SYS
SY:DAM.SYS to MS:DAM.SYS
SY:DCM.SYS to MS:DCM.SYS
SY:DHM.SYS to MS:DHM.SYS
SY:NLM.SYS to MS:NLM.SYS
SY:VSM.SYS to MS:VSM.SYS
SY:RKM.SYS to MS:RKM.SYS
SY:SWAP.SYS to MS:SWAP.SYS
SY:BAM.SYS to MS:BAM.SYS
SY:DUM.SYS to MS:DUM.SYS
SY:LDM.SYS to MS:LDM.SYS
SY:SDM.SYS to MS:SDM.SYS
SY:SLM.SYS to MS:SLM.SYS
SY:DDM.SYS to MS:DDM.SYS
SY:DMM.SYS to MS:DMM.SYS
SY:DXM.SYS to MS:DXM.SYS
SY:DYM.SYS to MS:DYM.SYS
SY:LPM.SYS to MS:LPM.SYS
SY:MSM.SYS to MS:MSM.SYS
SY:DLM.SYS to MS:DLM.SYS
SY:MFM.SYS to MS:MFM.SYS
SY:MTM.SYS to MS:MTM.SYS
.DIR MS:
13-Aug-2022
RTEMFB.SYS 108 -BAD- DAM .SYS 4 -BAD-
DCM .SYS 4 -BAD- DHM .SYS 4 -BAD-
NLM .SYS 2 -BAD- VSM .SYS 6 -BAD-
RKM .SYS 4 -BAD- SWAP .SYS 28 -BAD-
BAM .SYS 7 -BAD- DUM .SYS 5 -BAD-
LDM .SYS 11 -BAD- SDM .SYS 23 -BAD-
SLM .SYS 17 -BAD- DDM .SYS 4 -BAD-
DMM .SYS 5 -BAD- DXM .SYS 4 -BAD-
DYM .SYS 4 -BAD- LPM .SYS 7 -BAD-
MSM .SYS 9 -BAD- DLM .SYS 5 -BAD-
MFM .SYS 9 -BAD- MTM .SYS 9 -BAD-
22 Files, 279 Blocks
.
Похоже в коде записи ANSI ленты в PIP от V05.07 никакого Y2K не наблюдается :)
Пробуем BUP:
Код:
.BAC/INI/DEV/NOQ SY: MS:
?BUP-F-Unexpected error in .SPFUN
?BUP-I-Creating output volume 1
?BUP-F-Unexpected error in .SPFUN
?BUP-I-Backup operation is complete
.BAC/DIR MS:
RT-11 BACKUP
13-Aug-2022 19:37
Saveset Section Blocks Date
?BUP-F-Unexpected error in .SPFUN
?BUP-F-Unexpected error in .SPFUN
?BUP-F-Unexpected error in .SPFUN
?BUP-F-Unexpected error in .SPFUN
VS0 .BUP 1 5527/5527 13-Aug-2022
1 Saveset section, 5527 Blocks
.DIR MS:
13-Aug-2022
VS0 .BUP 691 13-Aug-2022
1 Files, 691 Blocks
.
BUP'у каких-то .SPFUN недостает, но в целом пашет.
Будем смотреть.
-
Обновление RTEM.
Новый RT11SH.DSK и RTEM.TSK.
Добавлены родный драйверы DD, DL, DM, DX, DY, LP, MF, MS, MT (пропатчены для DUP V5 где нужно).
Драйвер NL заменен на RTEMовский (до этого был от V5.7 который содержал бесполезный в RTEM код на предмет TOY clock).
В RTEM.TSK поле IDENT заменено на V1.00C.
Таблица устройств расширена до 18.
Драйвер RK теперь использует стандартный RTEMовский вариант установки в системе.
Поскольку прошло много времени, немного суммирую проделанную работу:
RTEM.TSK
- Версия изменена на V01.00C
- Исправлен косяк, приводивший к зацикливанию Trap to 4
- Добавлена поддержка дат после 1999 года
- Во время обмена данными со вторичным загрузчиком RT-11 флаг наличия UCF.SAV очищается
- В RSX-11 используются десятичные номера версий файлов если система использует десятичные
- Тип файлов виртуального диска по умолчанию изменен на .DSK
- В строке идентификации RTEM вместо VAX/VMS печатается название системы в которой RTEM запускается
RT-11 V05.07
- Исправлена установка флага UCF.ON (BSTRAP)
- Исправлена загрузка в RTEM системы с поддержкой расширенных номеров устройств (BSTRAP)
- Флаг UCF по умолчанию выключен (RMON)
- Исправлена потеря содержимого регистров при закрытии файла (USR)
Драйверы
- DL, DM, DY, VS отмечены как VARSZ$
- RK написан с нуля
- DU написан с нуля, только основной функционал
JOAT.SAV
- Версия изменена на V01.00C
- В RSX-11 используются десятичные номера версий файлов если система использует десятичные
- Тип файлов виртуального диска по умолчанию изменен на .DSK
- В таблицу допустимых устройств добавлены DA, DC, DH, DU, DW, DZ, VF, MU
- В список файлов, перемещаемых в markzone добавлены новые драйверы, IND.SAV и UCL.SAV (тут нужно кое-что переработать с учетом новый информации - некоторым устройствам нечего делать в markzone)
- В строке идентификации RTEM вместо VAX/VMS печатается название системы в которой RTEM запускается
-
Ух-ты, сайт заработал!
А тем временем RTEM в очередной раз обновился.
Поменял версии: FIP V01.00C, JOAT V01.00D, RTEM V01.00D.
- RTEM: передает флаг SCOPE/NOSCOPE в RT-11 (до этого делал заглушку - всегда передавался SCOPE)
- RTEM, FIP, JOAT: печатает реальное имя системы вместо VAX/VMS
- FIP, JOAT: поддержка десятичных номеров версий в RSX-11 и P/OS
- FIP, JOAT: исправлен размер DPB директивы ELP$ - теперь работают в VAX/RSX V2.5 (как работало раньше - не ясно - после исправления стало так как написано в руководстве по VAX/RSX V1.0)
- FIP, JOAT: список допустимых устройств пополнен внутренними устройствами VAX/RSX
- RTEMFB: увеличен размер таблицы устройств
- RTEMFB: тест CIS в BSTRAP сделан совместимым с VAX/RSX (в VAX/RSX прерывания по 4/10 и по защите памяти на верхушке стека оставляют адрес инструкции, вызвавшей прерывание, а не следующей за ней - загрузчик к такому не был готов)
- RTEMFB: убрано принудительное выставление TT в режим SCOPE для RTEM - пусть BSTRAP корректно выставляет
Теперь RT-11 V05.07 нормально грузится в VAX/RSX.
Код:
Welcome to OpenVMS (TM) VAX Operating System, Version V7.3
Username: FORM
Password:
,;,
O(o o)O
+---ooO-----------Ooo----------------------------------------------+
| # # # ## # |
| # ## ## # |
| #### #### #### # # ### # ### # ### # ### ### |
| # # # # # # ### # # # # # # # # # # # # |
| # # # # # # # # # # # # # # # # ##### |
| #### #### #### ### ### # ### # # ### ### # # # |
| # # ### |
| # # XPEH:: VAX/OpenVMS V7.3 |
+------------------------------------------------------------------+
Last interactive login on Wednesday, 24-AUG-2022 20:14
Last non-interactive login on Wednesday, 24-AUG-2022 00:46
$ RTE /VS
RTEM-11 (VAX/VMS) V01.00D
RT-11FB V05.07
.SET TT QUIET
?DATE-I-Time source: VAX/VMS
?DATE-I-Date & time: 24-AUG-2022 20:28:19
.
- - - Добавлено - - -
Выше писал про проблемы с Y2K на ленте, грешил на PIP, но позже сообразил: в RT-11 метками ANSI занимается FSM, прикомпиленный к драйверу, а драйверы лент у нас от RT-11 V4.
Вот еще на досуге будет чем заняться наряду с named directories и UCF :)
- - - Добавлено - - -
Среди прочих ковыряний обнаружено значение бита 1 в первом слове в блоке параметров RTEM на который ссылается смещение 110 от начала link area.
Он выставляется если при запуске применяется недокументированная опция /RP.
В VMS по умолчанию /RP, в RSX /-RP.
Опция включает/выключает RPA режим.
В RSX опция ни на что не влияет (по крайней мере в полноценном драйвере терминада), а в VMS если указать /-RP, CTRL/Y будет пропускаться в систему.
Код:
$ RTE /VS/-RP
RTEM-11 (VAX/VMS) V01.00D
RT-11FB V05.07
.SET TT QUIET
?DATE-I-Time source: VAX/VMS
?DATE-I-Date & time: 24-AUG-2022 22:04:08
Interrupt
$ CONT
.
-
Файлы и информация, касающаяся RTEM, переезжает отсюда сюда.
Пока в процессе.
Постепенно подтяну туда остальные файлы и добавлю русскую страничку.
UPD. Добавлена русскоязычная страница.
-
Обновление shared image на странице RTEM.
JOAT V01.00E, номера устройств для файлов образа диска печатаются в восьмеричном виде в RSX и в десятичном в VMS.
- - - Добавлено - - -
Среди прочих копаний обнаружил интересную фичу в JOAT.SAV (я ее наверное уже обнаруживал как-то, но не помню отметил этот факт или нет).
Если по адресу 1632 записать не 0, в распечатке подключенных устройств появятся LUN.
Код:
.SH S
No LD units mounted
VS0: RO [5519] DU0:[1,1]RT11SH.DSK;2
RW DU1:RT11PR.DSK;1
VS7: RW [65535] DU1:WORK.DSK;1
.GET JOAT
.D 1632=1
.ST
*/L
VS0: RO 2 [5519] DU0:[1,1]RT11SH.DSK;2
RW 3 DU1:RT11PR.DSK;1
VS7: RW 5 [65535] DU1:WORK.DSK;1
TT0: RW 1
*^C
.
-
Выяснилось еще немного информации по внутренностям RTEM.
По смещению 114 в RTEM Link Area находится ссылка на таблицу LUN.
Каждому LUN выделено два слова: слово состояния и имя устройства в Radix-50.
Теперь в слове состояния известны значения всех битов:
- 100000 - доступ только для чтения
- 040000 - LUN используется
- 020000 - LUN не участвует в поиске (без этого бита при назначении нового устройства, если такое уже было назначено - будет запользован его LUN; с этим битом будет назначен новый [не нашел где бы это использовалось кроме подпрограммы поиска LUN для устройства])
- 010000 - бит говорит что файл/устройство, назначенное LUN, физически недоступно для записи
- 000400 - временный файл (используется только в таблице файлов, для LUN не применяется)
- 000200 - RTEM устройство, не может быть отключено командой JOAT /D
Эти же биты используются для таблицы VS устройств (адрес по смещению 1045).
Биты 0-6 содержат номер задания плюс 1 или 0 для RTEM устройств.
В таблице 9 записей по 19 слов под описание файла для каждого VS (если VS0 - системное устройство, первые две записи используются под shared/private).
Выявлен косяк в JOAT.
При попытке отсоединить устройство RTEM (несистемное), сначала зачищается информация о файле, устройство переключается в режим RW, и только потом обнаруживается тот факт, что отсоединять его нельзя, о чем выдается ошибка, после чего JOAT падает (детально не ковырял почему так как все-равно поведение неправильное и требуется переделка - завтра посмотрю).
-
Исправление shared image на странице RTEM-11.
Теперь при попытке отсоединить устройство, назначенное RTEM-11, JOAT не падает и не зачищает информацию о файле, привязанному к устройству VS.
Также во вчерашний shared образ затесался STARTM.COM которого там быть не должно, а заодно лишний UCL.SAV (два UCL.SAV - жирно будет).
JOAT V01.00F
-
Еще исправление.
RTEM.TSK V01.00E - исправлена директива ELP$ и в нем (до этого были FIP и JOAT).
Теперь в VMS нормально показываются пути файлов.
Код:
$ RTE /VS
RTEM-11 (VAX/VMS) V01.00D
RT-11FB V05.07
.SET TT QUIET
?DATE-I-Time source: VAX/VMS
?DATE-I-Date & time: 30-AUG-2022 12:59:22
.SH S
No LD units mounted
VS0: RO [5516] LB0:RT11SH.DSK;11
RW $$1:RT11PR.DSK;1
VS7: RW [65535] $$1:[FORM]WORK.DSK;1
.BY
$ COP RTEM.EXE SYS$SPECIFIC:[001054]/PRO=(GR:RWED,WO:RE)
$ RTE /VS
RTEM-11 (VAX/VMS) V01.00E
RT-11FB V05.07
.SET TT QUIET
?DATE-I-Time source: VAX/VMS
?DATE-I-Date & time: 30-AUG-2022 13:00:48
.SH S
No LD units mounted
VS0: RO [5516] LB0:[SYSLIB]RT11SH.DSK;11
RW $$1:[FORM]RT11PR.DSK;1
VS7: RW [65535] $$1:[FORM]WORK.DSK;1
.