Еще к ним нужна переключалка кодировки при вводе. Та, которую я помню для VMS, реагировала на Ctrl-пробел (null)
Вид для печати
Еще к ним нужна переключалка кодировки при вводе. Та, которую я помню для VMS, реагировала на Ctrl-пробел (null)
для rt-11 видел (NC.SYS)
Давненько ничего в теме не появлялось...
Обновил набор программ для автоматического получения даты и времени по Ethernet. Клиентская программа пока только под RT-11/TSX-Plus, серверная расчитана на FreeBSD/NetBSD/OpenBSD/Ubuntu, но в принципе можно достаточно легко собрать в любой другой UNIX-системе (а при большом желании и в Windows с CygWin или MinGW) где есть libpcap. При сборке в Ubuntu нужно установить пакеты libpcap-dev и bmake (для сборки использовать команду pmake).
Проверка делалась в последних (на сегодня) версиях UNIXов, в старых может потребоваться небольшой напильник.
Сервер принимает от клиентов запросы с указанием частоты таймера и возвращает пакет с текущей датой и временем в форматах, пригодных для RT-11 и RSX-11. Частота таймера может быть от 1 до 1000. Если частота не равна 50 или 60, а также если год меньше 1972 или больше 2099, в полях для RT-11 передается -1.
В RT-11 перед запуском программы нужно загрузить сетевой драйвер (EQ или NQ для Q-Bus машин, EU или NU для UNIBUS или NC для Professional), В TSX-Plus в конфигурации должен присутствовать драйвер EQ или EU, а для запуска программы требуются привилегии OPER.
Все лежит здесь.
Запуск сервера:Для перечисленных выше систем прилагаются стартовые скрипты.Код:ethtimed [-dlV] [-i interface]
-d - не отцепляться от терминала, вести лог в stderr
-i interface - слушать на заданном интерфейсе
-l - сообщать в syslog о запросах
-V - печатает номер версии программы и libpcap и выходит
Запуск клиента:Запросы времени от тестовых систем и моего роутера:Код:.R ETM [/ОПЦИИ]
.ETM [/ОПЦИИ]
/O[LD] - выбирает ближайший год между 1972 и 1999 для которого дни недели совпадают
/Q[UIET] - не печатать предупреждения (запуск в RTEM-11, ошибка чтения файла монитора в RT-11, таймаут)
/SH[OW] - показать полученную дату и время (по умолчанию если не указан /SET)
/SE[T] - установить полученную дату и время в системе
/SI[LENT] - синоним /QUIET
Лог роутера:Код:?ETM-I-Date & time - 8-JUN-2014 04:14:44
?ETM-I-Time server - 70-71-BC-50-EB-D0, OpenBSD 5.5 amd64
?ETM-I-Date & time - 8-JUN-2014 11:15:10
?ETM-I-Time server - 00-0C-29-79-D1-45, NetBSD 6.1.4 amd64
?ETM-I-Date & time - 8-JUN-2014 04:17:08
?ETM-I-Time server - 00-0C-29-0E-97-0F, FreeBSD 10.0-RELEASE amd64
?ETM-I-Date & time - 7-JUN-2014 14:30:57
?ETM-I-Time server - 00-0C-29-5E-BE-63, Linux 3.13.0-29-generic i686
Код:Jun 7 20:19:43 pdp-11 ethtimed[3649]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11SB (S) V05.07
Jun 7 20:49:23 pdp-11 ethtimed[3649]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11FB (S) V05.07
Jun 7 20:22:58 pdp-11 ethtimed[3649]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11XM (S) V05.07
Jun 8 14:36:16 pdp-11 ethtimed[7161]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11ZM (S) V05.07
Jun 7 21:59:10 pdp-11 ethtimed[32033]: request from 08:00:2b:31:47:b4, 50 Hz, TSX-Plus Version 6.1
Jun 9 08:23:23 pdp-11 ethtimed[22540]: request from 08:00:2b:31:47:b4, 50 Hz, TSX-Plus Version 6.50
Решил навести некоторый порядок с IOSCAN, а то расплодилось их разных у меня... Это первый шаг, потом если не лень будет, еще доведу до ума, хотя в большинстве случаев и этого хватит :)
IOSCAN V4.0 - все в одном флаконе: собирается для запуска на голом железе, под RT-11, XXDP, RSX-11M, RSX-11M-PLUS, Micro/RSX и P/OS, а также на ПП УК-НЦ.
В архиве лежит образ диска RT-11 с исходниками и собранными программами.
Содержимое DSK файла:Под RT-11 программа не запускается если загружен foreground job или если программа запущена под RTEM-11. Под TSX также не будет запускаться так как он всегда сигналит о загрузке FG job. Под RSX-11 и P/OS программа не запускается если обнаружена хоть одна задача с незавершенным I/O.Код:07-Apr-2015
Volume ID: IOSCAN V4.0
Owner : FORM
IOSCAN.MAC 7 01-Jul-2014 - общая часть программы
IOSPP .MAC 5 03-Jul-2014 - оновная часть для УК-НЦ ПП
IOSRSX.MAC 10 28-Aug-2017 - оновная часть для RSX-11 и P/OS
IOSRT .MAC 6 01-Jul-2014 - основная часть для RT-11
IOSST .MAC 5 01-Jul-2014 - основная часть для чистого железа
IOSXDP.MAC 4 07-Apr-2015 - основная часть для XXDP/XXDP+
IOSCAN.CMD 11 28-Aug-2017 - командный файл IND для сборки
IOSCAN.COM 1 28-Aug-2017 - командный файл для сборки в RT-11 без IND
IOSCAN.BIN 1 28-Aug-2017 - IOSCAN для XXDP/XXDP+
IOSCAN.BOT 2 28-Aug-2017 - IOSCAN для чистого жезела (магнитофонный загрузчик)
IOSCAN.LDA 1 28-Aug-2017 - IOSCAN для записи на перфоленту
IOSCAN.PDP 1 28-Aug-2017 - IOSCAN для чистого железа (грузить с адреса 1000)
IOSCAN.PPU 4 28-Aug-2017 - IOSCAN для запуска на ПП УК-НЦ
IOSCAN.SAV 3 28-Aug-2017 - IOSCAN для RT-11
IOSCAN.TSK 6 28-Aug-2017 - IOSCAN для RSX-11M-PLUS и Micro/RSX версий 3.0 и новее
IOSPOS.TSK 6 28-Aug-2017 - IOSCAN для P/OS V2.0 и новее
16 Files, 73 Blocks
0 Free blocks
Программа, собранная для RSX-11M+ и Micro/RSX свободно переносится между этими системами версии 3.0 и новее.
Программа, собранная для P/OS будет работать в версиях системы 2.0 и новее.
Для RSX-11M программа должна собираться в той системе в которой будет работать.
В RSX-11 при сборке используются файлы LB:[1,1]EXEMC.MLB, LB:[1,54]RSX11M.STB (в RSX-11M), LB:[3,54]RSXVEC.STB (в RSX-11M-PLUS и Micro/RSX). В P/OS используются файлы LB:[1,5]EXEMC.MLB, LB:[1,5]RSXMC.MAC, LB:[1,5]POS.STB. В RSX-11M/M-PLUS данные файлы есть сразу после генерации системы, в Micro/RSX не уверен, возможно они есть в Advanced Programmers Toolkit. В P/OS нужные файлы берутся с дистрибутивной дискеты PRODCL2 из каталога [ZZPRIVDEV], также нужен установленный Pro Toolkit.
Сборка в RSX-11
Код:>@IOSCAN
>;
>; IOSCAN V4.0 generation program.
>;
>; Running on RSX-11M-PLUS or Micro/RSX system.
>;
>; Building programs:
>; IOSCAN.TSK - IOSCAN for any RSX-11M-PLUS or Micro/RSX system
>;
>MAC @IOSCANASM
>TKB @IOSCANBLD
>PIP IOSCANPRE.MAC;*,IOSCANASM.CMD;*,IOSCANBLD.CMD;*/DE/NM
>PIP IOSCAN.OBJ;*,IOSRSX.OBJ;*/DE/NM
>PIP IOSCAN.TSK/PU
>@ <EOF>
>RUN IOSCAN
160100-160106
160440-160456
165000-165776
172100-172102
172150-172152
172200-172376
172516
173000-173776
174440-174456
174500-174502
176500-176536
177514-177524
177546
177560-177566
177572-177676
177744-177752
177766
177772
177776
>
[свернуть]Сборка в P/OS
Код:$ @IOSCAN
$ ;
$ ; IOSCAN 4.0 generation program.
$ ;
$ ; Running on P/OS system.
$ ;
$ ; Building programs:
$ ; IOSCAN.TSK - IOSCAN for this P/OS system only
$ ;
$ MAC @IOSCANASM
$ LIN @IOSCANBLD
$ DEL/NOWAR IOSCANPRE.MAC;*,IOSCANASM.CMD;*,IOSCANBLD.CMD;*
$ DEL/NOWAR IOSCAN.OBJ;*,IOSRSX.OBJ;*
$ PUR/NOWAR IOSCAN.TSK
$ @ <EOF>
$ RUN IOSCAN
160000-167776
172300-172316
172340-172356
172516
173000-173212
173300-173314
173400-173406
173500-173506
173600-173704
174000
174004-174020
174200
174204-174224
174400
174404-174410
174414-174420
174600
177560-177566
177572-177616
177640-177656
177750
177776
$
[свернуть]Сборка в RT-11
Код:.IND IOSCAN.CMD
;
; IOSCAN V4.0 generation program.
;
; Running on RT-11 system.
;
; Building programs:
; IOSCAN.BIN - standalone IOSCAN
; IOSCAN.LDA - standalone IOSCAN (absolute loader format)
; IOSCAN.REL - standalone IOSCAN (PRUN format for MC0511)
; IOSCAN.SAV - IOSCAN for RT-11
;
.MAC IOSCAN
.MAC IOSPP
.MAC IOSRT
.MAC IOSST
.LIN/FOR/EXE:IOSCAN IOSPP,IOSCAN
.LIN/EXE:IOSCAN IOSRT,IOSCAN
.LIN/LDA/EXE:IOSCAN IOSST,IOSCAN
.LIN/EXE:IOSCAN.TMP IOSST,IOSCAN
.SPLIT IOSCAN.TMP/B:1 ,IOSCAN.BIN
.DEL/NOQ IOS(CAN,PP,RT,ST).OBJ,IOSCAN.TMP
@ <EOF>
.RU IOSCAN
160100-160106
160440-160456
165000-165776
172100-172102
172150-172152
172200-172376
172516
173000-173776
174440-174456
174500-174502
176500-176536
177514-177524
177546
177560-177566
177572-177676
177744-177752
177766
177772
177776
.
[свернуть]Изготовление загрузочного диска под RT-11
Код:.COP/BOO DU2:RT11SB DU2:
.COP IOSCAN.BIN/FIL DU2:/DEV/STA:2/NOQ
?DUP-W-Output device is larger than input file
.BO DU2:/FO
160100-160106
160440-160456
165000-165776
172100-172102
172150-172152
172200-172376
172516
173000-173776
174440-174456
174500-174502
176500-176536
177514-177524
177546
177560-177566
177572-177676
177744-177752
177766
177772
177776
001062
@
[свернуть]
Обновлены файлы IOSCAN V4.0 - косметические правки, улучшения командного файла сборки, добавлены файлы для ПП УК-НЦ. Добавлен пример использования IOSCAN.BIN...
---------- Post added at 21:58 ---------- Previous post was at 20:44 ----------
Вдруг пригодится кому...
Изготовление загрузочной ленты IOSCAN в RT-11:Для MS: в качестве загрузчика нужно использовать файл MBOT16.BOT, для MT: и MU: - MBOOT.BOT.Код:.MAC IOSST
.MAC IOSCAN
.LIN/EXE:IOSCAN.BOT IOSST,IOSCAN
.INI/NOQ/FIL:SY:MBOOT.BOT MU:
.COP IOSCAN.BOT MU:/POS:-1
Files copied:
DK:IOSCAN.BOT to MU:IOSCAN.BOT
.
Testing in progress - Please wait
Memory Size is 4088 K Bytes
9 Step memory test
Step 1 2 3 4 5 6 7 8 9
Message 04 Entering Dialog mode
Commands are Help, Boot, List, Setup, Map and Test.
Type a command then press the RETURN key: B MU
Trying MU0
Starting system from MU0
160100-160106
160440-160456
165000-165776
172100-172102
172150-172152
172200-172376
172516
173000-173776
174440-174456
174500-174502
176500-176536
177514-177524
177546
177560-177566
177572-177676
177744-177752
177766
177772
177776
001062
@
Утилитка для считывания ROMа KDJ11-B/E в файл...
Использует RSXLIB.
Маленькая утилитка для машин с MMU. Если в системе есть драйвер VM, проверяет инициализирован ли он (проверяет тупо home block ничего бльше), если нет, то инициализирует и после всего назначает логические имена CF и WF на VM0. Пзволяет сохранить информацию на VM между перезагрузками разных RT-11/TSX при совпадении базового адреса VM и при том гарантированно назначать CF/WF на раьочий VM.
Сильно не мучил, н вроде работает :)
Вопросы к Гуру ОС на ДВК :
1. Есть ли возможность назначить базовый адрес расширенной памяти ( для многозадачника ) на 1801ВМ3 не на 160000, а, к примеру, на 200000 ( 8 ) ?
2. В многозадачнике имеется только 1 шт. выход на связь с терминалом 177560, или это распределено по многим компонентам в ОС ? ( Например, если терминал не стандартный, много ли там патчить ? )
3. Есть ли какие-либо ссылки на исходники Демоса, или это всё в далеком прошлом ?