PDA

Просмотр полной версии : ОС RT-11 и поддержка Y2K !!!



hobot
25.02.2013, 08:51
ОС RT-11 с полноценной поддержкой современного календаря вполне заслуживает отдельной темы. Во первых это важно ! Кому не надоело видеть унылые <BAD> в графе даты на своих экранах ?




RT-11SJ V05.04 G

Время Дата
14:42:00 10-Апр-2020, Пятница



Список вариантов ОС RT-11 с поддержкой Y2K даты :

RT-11SJ V05.03 и программы. (http://zx-pk.ru/showpost.php?p=497018&postcount=177)
RT11SJ V05.04G ( full 8 bit, full Y2K support ) (http://zx-pk.ru/attachment.php?attachmentid=38815)
Пробный камушек RT-11SJ V05.04G (Y) Для энтузиастов!:
вариант для ДВК> http://zx-pk.ru/showpost.php?p=560098&postcount=147
вариант для УК-НЦ> http://zx-pk.ru/showpost.php?p=560099&postcount=301

Последний набор патчей для RT-11 V5.04G. (http://zx-pk.ru/showpost.php?p=584541&postcount=24)
Патченый RESORC для OC RT-11 5.4G (http://zx-pk.ru/showpost.php?p=647826&postcount=50)

RT-11FB (S) V05.07C - УК-НЦ (!) (http://zx-pk.ru/showpost.php?p=444175&postcount=197)
Дистрибутив TSX-Plus 5.01C, пропатченый на предмет Y2K. (http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/tsxp5161_Y2k_distrib/)
Дистрибутив TSX-Plus V6.01, пропатченый на предмет y2k. (http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/tsxp601_Y2k_distrib/)
Последний вариант дистрибутива TSX-Plus V6.01 (http://zx-pk.ru/showpost.php?p=688511&postcount=58) с поддержкой Y2K, максимально приведен к оригиналу.
http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/tsxp601_Y2k_orig/

Программы установки системной даты :

DATE.SAV V3.0, автор: [form] (http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Other/form_date30/)
DATE.SAV V4.0, автор: [form] (http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Other/form_date40/)

Улучшенная версия DAY.SAV Алексея Мухамеджанова, автор: [Patron]
DAY.SAV Версия 2.0 (http://zx.pk.ru/attachment.php?attachmentid=40883&d=1365453562);
DAY.SAV v2.1 (http://zx.pk.ru/attachment.php?attachmentid=40962&d=1365882844), при запуске переводит терминал во 2-ю систему команд. Переключает УКНЦ в режим VT52.

Прочее по теме Y2K :

Y2K Pascal переместился в архив! (http://zx.pk.ru/showpost.php?p=580988&postcount=42)

RT-11 V5.4G Y2K - IND. Патч для IND, исправление <DATE> (http://zx.pk.ru/showpost.php?p=579491&postcount=258).

Патч для TSX+ 6.1. Добавляет совместимость с годами 2004-2099 в вызов .SDTTM. (http://zx.pk.ru/showpost.php?p=580768&postcount=21)

Y2K патч (http://zx.pk.ru/showpost.php?p=585561&postcount=32) для программы FILTIM.SAV из TSX-Plus V6.01.

60-блочный BASIC.SAV из комплекта ОС Рафос пропатчен для совместимости с Y2K и KOI8.
http://zx-pk.ru/showpost.php?p=782495&postcount=367 - автор апгрейда Patron.

:redface:

form
25.02.2013, 12:52
Название темы автоматически ее закрывает - если заниматься этим то в рамках RT-11, а не отдельного монитора ;)

Patron
25.02.2013, 12:56
Я уже давно использую этот монитор: RT11SJ V05.04G ( full 8 bit, full Y2K support ) (http://zx.pk.ru/attachment.php?attachmentid=38815) и никаких дополнительных претензий и пожеланий в плане обработки даты и символов КОИ-8 не имею.

Vamos
25.02.2013, 17:09
Было у меня пара файликов с датой 1978 и в пропатченной системе они давали BAD в дате, было это несколько лет назад с тех пор специально не смотрел.

form
25.02.2013, 17:51
Было у меня пара файликов с датой 1978 и в пропатченной системе они давали BAD в дате, было это несколько лет назад с тех пор специально не смотрел.

Это в последних версиях DIR видимо - там проверяется правильность даты. В более старых версиях спокойно мог писать даты вроде "31-Feb-99" :)

Vamos
25.02.2013, 18:29
Это в последних версиях DIR видимо - там проверяется правильность даты. В более старых версиях спокойно мог писать даты вроде "31-Feb-99"
Я не разбирался в версиях DIR, не знаю, просто взял пропатченную систему с pdp11.org и увидел, что файлы с датами до 1980 дают BAD в дате. Как сейчас не знаю, если исправлено, то хорошо, если нет то зачем тогда патч я не понял, меня и старые даты устраивают.

form
25.02.2013, 18:32
Я не разбирался в версиях DIR, не знаю, просто взял пропатченную систему с pdp11.org и увидел, что файлы с датами до 1980 дают BAD в дате. Как сейчас не знаю, если исправлено, то хорошо, если нет то зачем тогда патч я не понял, меня и старые даты устраивают.

От патченности системы это вообще не зависит никаким боком, а патчить DIR сейчас особого смысла нету - есть DIR от 5.7 и он не использует никаких 5.5+ хитростей.

---------- Post added at 21:32 ---------- Previous post was at 21:31 ----------

А насчет исправленности - как раз исправленный вариант и может ругаться на старые даты если они неправильные с точки зрения возможности существования такой даты :)

В старых системах правильность даты вообще не проверялась.

hobot
26.02.2013, 07:43
RS SHELL странно обрабатывает даты новые кстати говоря, если DIR от 05.00 версии монитора просто пишет BAD, его можно заменить на DIR пропатченый, а вот исходников RS SHELL нету случайно? Он не пишет BAD - но вместо новых дат (после 99-го) от вставляет что то типа 12-???-81 - такие вот дела. Сейчас поправлю ссылки в первом сообщении и спойлер лишний уберу...

---------- Post added at 07:43 ---------- Previous post was at 07:23 ----------

Первое сообщение отредактировано - так информативнее и красивее? )

hobot
28.02.2013, 02:00
Я уже давно использую этот монитор: RT11SJ V05.04G ( full 8 bit, full Y2K support ) и никаких дополнительных претензий и пожеланий в плане обработки даты и символов КОИ-8 не имею.
Рискну от себя добавить, что в плане совместимости со стареньким софтом, очень
хотелось бы конечно доработанный подобным образом иметь и v05.00 монитора )
http://pdp-11.org.ru/files/rt-11/rtv50_rl.zip

Спасибо! )

form
28.02.2013, 12:48
Рискну от себя добавить, что в плане совместимости со стареньким софтом, очень
хотелось бы конечно доработанный подобным образом иметь и v05.00 монитора )
http://pdp-11.org.ru/files/rt-11/rtv50_rl.zip

Спасибо! )

Между 5.0 и 5.04G не было каких-то глобальных изменений, так, что если что-то не работает, надо просто разбирать конкретный случай и исправлять.

Очень часто проблемы вылезают просто из-за разных настроек и параметров генерации. К примеру программы которые "не работают" при не-destructive tabs на самом деле просто писались в состоянии "SET TT NOTAB" (в старых системах настройка по умолчанию, в новых - наоборот), программы, работающие с регистрами терминала напрямую не будут работать в многотерминальных системах с таймером из-за автоматического восстановления нормального состояния регистров (как бороться писал, но это если с нуля писать, переделывать сложнее). Проблема с программами которые используют область памяти 500-777 как код уже как-то разбирались - нужно установить битик CHAIN$ в $JSW... Вобщем гораздо полезнее на мой взгляд разобрать случаи где что-то не работает и составить список возможных проблем :)

Patron
28.02.2013, 13:06
Между 5.0 и 5.04G не было каких-то глобальных измененийС точки зрения запуска программ - были как раз глобальные изменения. В 5.0 ячейки 500-777 по умолчанию грузятся из кода программы, а в 5.02 и последующих - по умолчанию заполняются копией командной строки запуска программы.


К примеру программы которые "не работают" при не-destructive tabs на самом деле просто писались в состоянии "SET TT NOTAB" (в старых системах настройка по умолчанию, в новых - наоборотВ SJ-мониторах вообще нет такой настройки - там табуляция (с точки зрения RMON) ничем не отличается от обычных символов.

form
28.02.2013, 13:20
С точки зрения запуска программ - были как раз глобальные изменения. В 5.0 ячейки 500-777 по умолчанию грузятся из кода программы, а в 5.02 и последующих - по умолчанию заполняются копией командной строки запуска программы.

Это оже описывалась и даже выкладывал утилиту для правки и IND скрипт для правки всего.


В SJ-мониторах вообще нет такой настройки - там табуляция (с точки зрения RMON) ничем не отличается от обычных символов.

В SJ мониторах вообще есть такая настройка и она работает.
Правда настройка эта многотерминальная.

Patron
28.02.2013, 13:25
В SJ мониторах вообще есть такая настройка и она работает.Значит не во всех.

Вот так реагирует на неё SJ-монитор последней версии, сгенерённый с поддержкой абсолютно всех команд:



RT-11SJ (Y) V05.04 G

.SET TT SCOPE

.SE TT TAB
?KMON-F-Invalid set parameter

.SE TT NOTAB
?KMON-F-Invalid set parameter

form
28.02.2013, 13:26
Значит не во всех.

Ну я написал выше - это многотерминальная настройка в SJ.
Многотерминальный монитор вообще много чего умеет, в том числе поддерживает 8bit символы без всяких правок системы...

hobot
28.02.2013, 14:51
надо просто разбирать конкретный случай и исправлять.
Вот конкретный случай, для 05.04G запускается только один вариант CAT.SAV на УК-НЦ, тот где правильная ДВКашная заставка, но съедена нижняя строка - жуков-попыточников не видно, облом! Твой патч - если помнишь такой chapa? пишет No need ! Принуждение не помогло, так что как-то так.

Вобщем гораздо полезнее на мой взгляд разобрать случаи где что-то не работает и составить список возможных проблем
И есть ещё вещи с УК-НЦшным софтом - который летает в 05.00 и трапится в 05.04
(про 05.07 я вообще молчу - это уже не SJ и для меня это как новая система вообще - до сих пор не освоенная).

form
28.02.2013, 14:53
Начни с того, что спроси SH CONF и там и там, сравни драйверы диска которые и там и там.

hobot
28.02.2013, 14:57
по умолчанию заполняются копией командной строки запуска программы.
Мне вот это как раз нужно, а где бы увидеть пример как прочитать параметры и вообще строку которую пользователь ввёл, хочу свой HUST перепинать, что бы можно было им прямо в системе (на УК_НЦ разумеется) как color - оператором в бейсике пользоваться? )

---------- Post added at 14:57 ---------- Previous post was at 14:53 ----------


Начни с того, что спроси SH CONF и там и там, сравни драйверы диска которые и там и там.
Тогда прямой вопрос - что проще описать и рассмотреть 100 проблем с запуском программ или пропатчить версию 05.00 ? ) Это ведь веха в RT-11 - выход на новый этап, супер версия - на ней все отечественные разработки строились, что может быть (особенно для "фанатов" RT-11) приятнее увидеть, что старая проверенная версия теперь просто не ругается на календарь, нормально показывает псевдографику и вообще живее всех Win 3.11 (к примеру) )))

form
28.02.2013, 15:07
Тогда прямой вопрос - что проще описать и рассмотреть 100 проблем с запуском программ или пропвтчить версию 05.00 ? ) Это ведь веха в RT-11 - выход на новый этап, супер версия - на ней все отечественные разработки строились, что может
быть (особенно для "фанатов" RT-11) приятнее увидеть, что старая проверенная версия теперь просто не ругается на каллендарь, нормально показывает псевдографику и вообще живее всех Win 3.11 )))

Во-первых разбор с проблемами вносит некоторое понимание, что и в принципе пригодится и позволить опять-таки в новом мониторе сделать так чтобы работало.

Во-вторых, а кто тебе сказал, что в самособранном 5.0 оно заработает? Может оно вообще работает в конкретном мониторе или в мониторе конкретной конфигурации. Отсюда и мысль - сначала проверить конфиги и драйверы.

---------- Post added at 18:07 ---------- Previous post was at 18:00 ----------

И кстати если на то пошло, если говоришь о программе которая не работает, неплохо бы сослаться на нее. Я вот понятия не имею где этот CAT.SAV живет и где монитор в котором он работает :)

Patron
28.02.2013, 15:54
Мне вот это как раз нужно, а где бы увидеть пример как прочитать параметры и вообще строку которую пользователь ввёлРаботать будет только в v5.02 и выше:



;
.MCall .Exit, .Print, .GTLIN
START:
Mov #510, R0
Mov (R0)+, R1
BEq 1$
Dec R1
BEq 1$

.Print #Args
.Print #512
.GTLIN #BUFF
.Exit
1$:
.Print #NoArgs
.Exit

NoArgs: .ASCIZ \No Args..\
Args: .ASCII \Args: \<200>
.Even
BUFF = .
.End START
;

form
28.02.2013, 15:58
Работать будет только в v5.02 и выше:



;
.MCall .Exit, .Print, .GTLIN
START:
Mov #510, R0
Mov (R0)+, R1
BEq 1$
Dec R1
BEq 1$

.Print #Args
.Print #512
.GTLIN #BUFF
.Exit
1$:
.Print #NoArgs
.Exit

NoArgs: .ASCIZ \No Args..\
Args: .ASCII \Args: \<200>
.Even
BUFF = .
.End START
;

Только кроме проверки в chain области, параметры еще надо явно вычитать с помощью .GTLIN, .CSIGEN и .CSISPC, иначе они отработают как следующая команда :)

---------- Post added at 18:57 ---------- Previous post was at 18:56 ----------

А-а, ну тут оно и вычитывается - не рассмотрел :)

---------- Post added at 18:58 ---------- Previous post was at 18:57 ----------

Добавлю еще, что CCL при вводе команды в формате "PROG ARG1 ARG2" выдаст результат пригодный для CSI (ARG2=ARG1). Но в chain области перестановок не будет.

form
28.02.2013, 21:03
Еще патчик для TSX+ 6.1.
Добавляет совместимость с годами 2004-2099 в вызов .SDTTM.

Использование:
.REN TSEM2.OBJ .OLD

.MAC TE2PT

.PAT TSEM2=TSEM2.OLD,TE2PT

после чего пересобрать систему.

hobot
01.03.2013, 08:57
Во-вторых, а кто тебе сказал, что в самособранном 5.0 оно заработает? Может оно вообще работает в конкретном мониторе или в мониторе конкретной конфигурации. Отсюда и мысль - сначала проверить конфиги и драйверы.
Очень правильный вопрос, я по крайней мере точку отсчёта некоторую получил, так вот промежуточный результат

Это вариант системы которым я пользуюсь сейчас
Но с ним действительно есть проблемы с запуском
программ (а ведь "школьники" до фига чего понаписали)

http://savepic.ru/4167596.png

А ниже, вариант монитора, который собирал кто-то для
поставок УК-НЦ от СЭМЗа. Он отличается от собранного
варианта на дистрибутиве от DEC, но под ним работает всё!
(всё ПО для УК-НЦ в смысле!).

http://savepic.ru/4148140.png

form, пожалуйста учитывай что когда я пишу что то о запусках,
компьютерах, программах - всегда я пишу про УК-НЦ (или спец. оговариваю
что вариант для ДВК - скажем.). Вот этот СЭМЗовский монитор хорош всем,
только бы даты поддержал и псевдографику выводил сразу, не после
запуска дополнительных программ вроде RMKOI8.

Вот кстати SH CONF с DEC монитором (собранным вариантом на дистр. диске),
ты и так это знаешь прекрасно - DECовский вариант ничего не хочет знать
ни о каком UCL и самого UCL у них на диске вроде нет? (могу ошибаться).
Поскольку это дискета как бы полу-пустая тут настройки типа SWAP просто не прописаны, а идут по умолчанию.

http://savepic.ru/4162478.png


-----------------------------------------
Про драйвера - принципиальные различия в конфигурации 05.04 и 05.00
есть, например с 05.04 я использую твой вариант WD.SYS, но с 05.00
классический (Olega H.), MZ - вроде везде обычный для УК-НЦ, не тот который облегчённый твой. Остальное всё одинакое, LD с родной болванки соответственно, старому монитору от СЭМЗ я подпихнул старшие версии МАКРО и ЛИНК (понты). Системная библиотека и макробиблиотека соответствует версиям мониторов. Конечно всё что можно старому скормить от уже пропатченных старших версий патчить нет смысла. Поскольку исходников RS SHELL (пока) не обнаружено
возможность поправить ситуацию с датами в нём стремятся к 0. )

form
17.03.2013, 20:19
Поскольку исходников RS SHELL (пока) не обнаружено возможность поправить ситуацию с датами в нём стремятся к 0. )

Вообще-то исходников много чего не обнаружено (и не существует), но до сих пор это никак не мешало исправлять проблемы с датами :)

form
17.03.2013, 21:38
Последний набор патчей для RT-11 V5.04G.

поддержка Y2K в RMON
поддержка Y2K в KMON
поддержка 8-битных символов в RMON (требует определения EIGH$T=1)
поддержка флага EIGH$T
печать при загрузке флагов Y2K и 8BIT с названием монитора
поддержка Y2K в IND
поддержка флагов Y2K и 8BIT в RESORC


В комплекте также собранные RT11-SJ и RT-11FB в таком виде в каком они идут в дистрибутиве, их карты памяти и файл ответов (с добавкой определения EIGH$T=1).

Переделанный RESORC нормально работает с непеределанными системами. Непеределанный RESORC также работает с переделанными системами, но не будет писать флаги.


.SH CONF

RT-11FB V05.04 G Y2K 8BIT
Booted from DU2:RT11FB

USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
TT is set NOQUIET
ERROR is set ERROR
SL is set ON
EDIT is set KED
KMON nesting depth is 3

PDP 11/83 Processor
4088KB of memory
Floating Point Accelerator Unit
Extended Instruction Set (EIS)
Memory Management Unit
Parity Memory
ECC Memory
Cache Memory
PMI Memory
60 Cycle System Clock

FPU support


.

hobot
17.03.2013, 23:15
Вообще-то исходников много чего не обнаружено (и не существует), но до сих пор это никак не мешало исправлять проблемы с датами
Ну если дойдут у мастеров руки вот образ с монитором
"УК_НЦ - СЭМЗОВСКИМ"
http://savepic.ru/4148140.png
- под которым на УК-НЦ работают все игры и программы (!)

и RS.SYS ))) одна из самых удобных оболочек для УК-НЦ и без проблем работает с ЖД УК-НЦ в отличие от прочих КОМАНДИРОВ )))

http://savepic.ru/4288025.png

http://savepic.ru/4285977.png

RS-SHELL не пишет про новые даты <BAD>, она наверное берёт
младшие в своём счётчике год 79-80 (?) - вместо месяца пишет обычно ???
как-то так.



Последний набор патчей для RT-11 V5.04G.
Забираем! Спасибо! ) Добавлю в шапку так же ссылку на этот пост, хорошо бы конечно первое сообщение закрепить в этой теме, надо модератора просить ?

Patron
17.03.2013, 23:48
По идее - RT-11 v05.01 ничем не хуже v05.00 - лучше её проапгрейдить и использовать для запуска оригиналов старых программ.

form
17.03.2013, 23:54
Вот только номер с подставкой утилит из 5.7 может не пройти. В частности PIP. Новые утилиты могут всякие .GFDAT пользовать.

hobot
18.03.2013, 00:34
По идее - RT-11 v05.01 ничем не хуже v05.00
а есть 5.1 с такой CONF - как на картинке выше? Там ведь ты понимаешь конечно же нюансы? )


Вот только номер с подставкой утилит из 5.7 может не пройти
DIR - скорее всего будет работать))) Она наверное и сейчас уже работает я просто не пробовал как то )))

form
18.03.2013, 00:36
DIR - скорее всего будет работать))) Она наверное и сейчас уже работает я просто не пробовал как то )))

DIR и так читает каталог, ему не нужно использовать .GFDAT и тому подобное, а PIPу нужно и он возможно этими директивами делает. Смотреть лень. Родной же будет сильно урезан в функционале без переделки под y2k.

hobot
18.03.2013, 18:35
Image : forum3.dsk

Format : DSK
Size : 800 Kb

Volume ID: FORUM3
Owner : [hobot]

File Blocks Date Bytes
---------- ------ ----------- ----------
IND .SIP 1 17-Mar-2013 512
RESORC.SIP 1 18-Mar-2013 512
BSTRAP.SLP 1 18-Mar-2013 512
EDTGBL.SLP 1 17-Mar-2013 512
KMOVLY.SLP 2 17-Mar-2013 1'024
RMONFB.SLP 2 17-Mar-2013 1'024
RMONSJ.SLP 2 17-Mar-2013 1'024
< UNUSED > 1576 806'912
---------- ------ ----------- ----------
7 Files, 10 Blocks
1576 Free blocks

form, у меня просто очередной ступор - нужна просто шпора!
1 - я ведь не понимаю на самом деле (! зато честно !), какой файл
из списка за что отвечает.
2 - вопрос: как мне пропатчить всё кроме уже собранного (из второго архива монитора) - RESORC.SIP - это и есть патч? как это делается? Нужен SIPP.SAV, так?

поддержка Y2K в IND
поддержка флагов Y2K и 8BIT в RESORC
- вот эти пунктики как мне сделать, ведь патченые IND.SAV и RESORC.SAV в архиве отсутствуют?
Монитор SJ я запустил для проверки он честно пишет что он патченый, делаю вывод, что для IND и RESORC нужно проделать самому или где забрать (что-бы актуальный диск системный сделать уже правленные?), а проделать самому - нужна шпора !!! )
:confused_std:

form
19.03.2013, 08:07
а проделать самому - нужна шпора !!! )
:confused_std:

.SLP патчи накладываются на исходники командами


.REN XXX.MAC .OLD

.SLP XXX.MAC=XXX.OLD,XXX.SLP/A

.SIP патчи просто запускаются:


.UNP XXX.SAV

[email protected]

Патчи для OBJ (.MAC) накладываются командами


.REN XXX.OBJ .OLD

.MAC PATXXX

.PAT XXX.OBJ=XXX.OLD,PATXXX

form
21.03.2013, 18:38
Y2K патч для программы FILTIM.SAV из TSX-Plus V6.01.


.SET TT QUIET

.RU FILTIM FILTIM.LST
DK:FILTIM.LST 34 21-RST-81 20:29:00 16298

[email protected]

.RU FILTIM FILTIM.LST
DK:FILTIM.LST 34 21-Mar-2013 20:29:00 16298

.

hobot
14.04.2013, 21:58
http://savepic.org/3299202.png
2 Alex_K > У вас не осталось исходников, может быть DAY-УК-НЦ стоит так-же переделать с целью поддержки Y2K - даты? Почему нет?

Alex_K
14.04.2013, 22:05
http://savepic.org/3299202.png
2 Alex_K > У вас не осталось исходников, может быть DAY-УК-НЦ стоит так-же переделать с целью поддержки Y2K - даты? Почему нет?
Исходники может и есть, но программа кривая и неоптимальная. Версия от Patron-а вроде также умеет изменять дату стрелочками.

form
14.04.2013, 22:06
Исходники может и есть, но программа кривая и неоптимальная. Версия от Patron-а вроде также умеет изменять дату стрелочками.

У меня date стрелочками меняется.
Каждый новый день просто ткнул один раз.
Правда только дату, временем не занимается.

hobot
14.04.2013, 22:18
Исходники может и есть, но программа кривая и неоптимальная.
Да ! Я согласен, что обработчики дат есть готовые :
У form'а очень правильно реализовано сохранение даты. И весокосный год поправлен
Программа Patrona - более ностальгическая, но вот наверное многие помнят
УК-НЦ версия которая содержала в себе список команд ) Вот я о чём )
Чисто с ностальгической точки зрения - там конечно (не версия от Alex_K) дату приходилось руками вбивать. В целом я сейчас пользуюсь самой первой версией DAY от Patrona (на реале) и 2.0 версией в эмуляторе (просто пока не обновил), 2.1 боюсь ) Она что то там переключает ) Страшно )

Patron
14.04.2013, 23:15
2.1 боюсь ) Она что то там переключает ) Страшно )DAY 2.1 переключает УКНЦ в режим VT52, даже если при включении машины этот режим не был установлен.

hobot
19.04.2013, 17:39
DAY 2.1 (http://zx.pk.ru/attachment.php?attachmentid=40962&d=1365882844) переключает УКНЦ в режим VT52,
В шапку темы добавил ссылку на него.

shattered
20.04.2013, 01:57
Кстати, есть работа для знающих RSX -> http://jobs.itworldcanada.com/Jobs/Ggnt_nt-yM0A2pqNiGCgnQ==/Senior-PDP-11-Software-Designer-Permanent-Peterborough-ON

form
20.04.2013, 01:59
Кстати, есть работа для знающих RSX -> http://jobs.itworldcanada.com/Jobs/Ggnt_nt-yM0A2pqNiGCgnQ==/Senior-PDP-11-Software-Designer-Permanent-Peterborough-ON

Осталось придумать каким боком это относится к теме ;)

shattered
20.04.2013, 02:07
Абсолютно никаким, просто отдельную тему делать лень было

form
20.04.2013, 02:08
Абсолютно никаким, просто отдельную тему делать лень было

А зачем отдельную - есть же универсальные вроде "и все что с ним связано" :)

---------- Post added at 05:08 ---------- Previous post was at 05:08 ----------

Да и по RSX тема есть...

form
07.06.2013, 23:39
Последний набор патчей для TSX-Plus V6.1, все в сборе, добавлен командный файл для наложения патчей. Все, что нужно - скопировать содержимое образа на дистрибутивный диск TSX-Plus и набрать команду "$@TSXPAT".


.$@TSXPAT

.RENAME/NOLOG (SYSMON,TSKM2A,TSX2,TSEM2).OBJ .OLD

.COPY/NOLOG FILTIM.SAV .OLD

.UNPROTECT FILTIM.SAV

.R MACRO
*SYSMON.OBP=SYSMON.PAT
*TSKM2A.OBP=TSKM2A.PAT
*TSX2.OBP=TSX2.PAT
*TSEM2.OBP=TSEM2.PAT
*^C

.R PAT
*SYSMON=SYSMON.OLD,SYSMON.OBP
*TSKM2A=TSKM2A.OLD,TSKM2A.OBP
*TSX2=TSX2.OLD,TSX2.OBP
*TSEM2=TSEM2.OLD,TSEM2.OBP
*^C

.DELETE/NOQUERY (SYSMON,TSKM2A,TSX2,TSEM2).OBP

[email protected]

.R SIPP
*FILTIM.SAV/A
Base? 0
Offset? 50

Base Offset Old New?
000000 000050 002440 2522
000000 000052 000000 ^Z
Offset? 2162

Base Offset Old New?
000000 002162 005305 4767
000000 002164 010546 254
000000 002166 012702 ^Z
Offset? 2250

Base Offset Old New?
000000 002250 062705 4767
000000 002252 000110 204
000000 002254 004737 ^Z
Offset? 2442

Base Offset Old New?
000000 002442 000000 42705
000000 002444 000000 177760
000000 002446 000000 5305
000000 002450 000000 11646
000000 002452 000000 10566
000000 002454 000000 2
000000 002456 000000 207
000000 002460 000000 16601
000000 002462 000000 2
000000 002464 000000 6201
000000 002466 000000 301
000000 002470 000000 42701
000000 002472 000000 177637
000000 002474 000000 60501
000000 002476 000000 62701
000000 002500 000000 3664
000000 002502 000000 5000
000000 002504 000000 71027
000000 002506 000000 144
000000 002510 000000 10005
000000 002512 000000 10146
000000 002514 000000 4737
000000 002516 000000 2022
000000 002520 000000 12605
000000 002522 000000 207
000000 002524 000000 ^Y
*^C

.

hobot
16.11.2013, 21:29
Image : AD3.dsk

Format : DSK
Size : 800 Kb

Volume ID: RT11A
Owner :

File Blocks Date Bytes
---------- ------ ----------- ----------
SWAP .SYS 27P 19-Dec-1988 13'824
AC .SYS 5P 12-Sep-1994 2'560
TT .SYS 2P 23-Jan-1980 1'024
SL .SYS 10P 19-Jan-1988 5'120
RS .SYS 26P 13-Sep-1994 13'312
BG .SYS 19P 12-Sep-1994 9'728
BP .SYS 15P 10-Nov-1992 7'680
FP .SYS 2P 12-Sep-1994 1'024
LD .SYS 8P 19-Dec-1988 4'096
LP .SYS 3P 12-Sep-1994 1'536
MH .SYS 3P 12-Sep-1994 1'536
MZ .SYS 4P 07-Dec-2011 2'048
NL .SYS 2P 19-Dec-1988 1'024
PM .SYS 2P 12-Sep-1994 1'024
RT11SJ.SYS 79P 17-Mar-2013 40'448
TI .SYS 3P 12-Sep-1994 1'536
TY .SYS 2P 12-Sep-1994 1'024
VM .SYS 3P 24-Dec-1994 1'536
WD .SYS 3P 05-Aug-1979 1'536
DUP .SAV 45P 27-Dec-1983 23'040
PIP .SAV 30P 31-Oct-1998 15'360
RESORC.SAV 26P 29-Nov-2013 13'312
RDWR .SAV 3P 20-Dec-1991 1'536
PMEM .SAV 2P 25-Aug-1993 1'024
MZFORM.SAV 6P 13-Jun-1990 3'072
MACRO .SAV 63P 21-Dec-2012 32'256
LINK .SAV 59P 31-Oct-1998 30'208
DIR .SAV 19P 04-Jul-2002 9'728
DESS .SAV 16P 17-May-1993 8'192
DATE .SAV 3P 15-Nov-2012 1'536
DSTAT .SAV 8P 29-May-1989 4'096
HAND .SAV 8P 14-Mar-1988 4'096
NYS .SAV 22P 22-Oct-1993 11'264
SYSLIB.OBJ 47P 19-Dec-1988 24'064
SYSMAC.SML 92P 31-Oct-1998 47'104
WDBOOT.SAV 5P 03-Oct-1980 2'560
SYS .SAV 3P 30-May-1979 1'536
UCL .SAV 2P 31-Dec-1999 1'024
LZA .SAV 16P 13-Jan-1993 8'192
UZA .SAV 15P 13-Jan-1993 7'680
LZ .SAV 16P 18-Oct-1992 8'192
UZ .SAV 15P 18-Oct-1992 7'680
WDR .SAV 3P 01-Oct-1980 1'536
WDX .SAV 41P 01-Oct-1980 20'992
WDXR .SAV 41P 01-Oct-1980 20'992
STARTS.COM 1 14-Nov-2013 512
< UNUSED > 761 389'632
---------- ------ ----------- ----------
46 Files, 825 Blocks
761 Free blocks


В этом и была идея - АЛЬФА-СИСТЕМУ (ПО от Alex_K) - а именно драйвера на рельсы Y2K перенести, за кадром остались такие шедевры как фирменный UCL, редактор шрифтов, редактор уровней для LAND, программа выдающая SCAN-коды клавишей и много чего ещё. Практически все программы были и виде исходников и в исполняемом варианте. Оригинальные образы дискет от ALEX_K есть на форуме (в темах софта и игр) и с UKNCBTL шли в одном из ранних архивов, так-же в соответствующих темах, ALEX_K множество исчерпывающих пояснений и описаний к своим программам (по мимо прочих сообщений) уже публиковал - все кому интересно изучайте раздел ДВК\УК-НЦ.

Особенности\Доп.Информация :
монитор заменён на вот этот > http://zx.pk.ru/showpost.php?p=584541&postcount=24
WD.SYS, MZ.SYS, DATE.SAV, SYS.SAV - by form ;
DIR.SAV версии 5.03
UCL.SAV - 2 блока, фирменный by hobot;:biggrin:
PMEM - от Alphaprog
DESS v06.00
(!) RESORC.SAV - заменён на правильный http://zx.pk.ru/showpost.php?p=647826&postcount=50

Содержимое файла STARTS.COM

SE TT SCOPE, QUIET
SE USR NOSWAP
SE EXIT NOSWAP
SE AC ON
SE SL ON
R DATE
SH S


В целом, я для живой машинки своей эту дискету собирал, но в этой теме вполне нормально считаю такой образ прикрепить.

:redface:

hobot
29.11.2013, 03:21
http://zx.pk.ru/showpost.php?p=584541&postcount=24 - ссылка на патчи
http://zx.pk.ru/showpost.php?p=584946&postcount=31 - ссылка на шпору

Получилось как-то вот так:

http://s3.hostingkartinok.com/uploads/images/2013/11/f1d8d1b9e3260d241e996e46792662e1.png

Как видно у RESORC.SAV изменилась дата ! )
Это означает всё - пропатчил я RESORC ? )

hobot
29.11.2013, 03:44
Но (!) после применения патча, начал трапиться на SH CONF

http://s6.hostingkartinok.com/uploads/images/2013/11/df6e1c432ecdaf1c3a5750cf3734e0d1.png

пока делаю просто откат на RESORC который работал )
(и даже, возможно был уже патченый?)

form
29.11.2013, 15:46
Но (!) после применения патча, начал трапиться на SH CONF

Отсутствует информация что патчилось. По скриншотам видно что проблемы были. Патч был для RT-11 V5.4G (ничего общего например с 5.4 не имеет).

hobot
30.11.2013, 00:05
Отсутствует информация что патчилось. По скриншотам видно что проблемы были. Патч был для RT-11 V5.4G (ничего общего например с 5.4 не имеет).

Попытка пропатчить RESORC.SAV, монитор на этом разделе ЖД в эмуле у меня, тот который Patron выкладывал, т.е. RT-11 (Y) 5.4G который.
(!)ДОБАВЛЕНО(!) - поскольку и в твоём архиве и мин.наборе от Patrona кроме мониторов как таковое
ядро системы не присутствует (я про готовые патченные SAV), при сборке\установки я брал все SAVы с родного
ISO из архива 5.4G. То есть RESORC который патчился оттуда надо полагать? )

А ссылку на сам патч и шпору я там дал, прилепленный файл (выше) тот
который после этой процедуры и получился (т.е. который стал трапиться
на SH CONF).


form, если уж поднялась тема, гляди ты просил озвучивать (http://zx.pk.ru/showpost.php?p=580570&postcount=10) возможные проблемы с запуском и глюками программ, на самом деле почти ничего такого критичного не обнаружено, а то что есть (вылеты\ошибки) нуждается в дополнительной проверке. Была проблема с DIR от семёрки - решилась откатом к DIR от патченой тройки )

Говоря о выложенном тобой архиве (очень полезным и нужным!) вот тут
http://zx.pk.ru/showpost.php?p=584541&postcount=24
я просто обязан спросить, есть шанс что ты нашёл бы время и возможность
пнуть эти версии мониторов ещё разок? (Я про собранные конечно уже говорю), на предмет - изменить системное приглашение со стандартной точки, на отображение устройства? Было бы удобней, поскольку сейчас для этого использую драйвер AC.SYS от ALEX_K, но он несёт дополнительный функционал, который никак не используется (+дисковое пространство).

Во избежании путаницы где патченый RESORC - где нет (в архиве и образах на форуме к примеру), я думаю неплохо бы если бы ты всё таки к собранным мониторам и патченные SAV приложил!!! Поскольку видишь проблемы могут быть ) А так был-бы вменяемый пакет(архив) с мониторами+гарантировано правильно патченный RESORC, IND, PIP. Пользователям только польза, а тебе
не слишком же это труда составит? В шапке темы можно будет
ссылку уже на обновлённый архив сделать!

Буду рад любому ответу!

form
30.11.2013, 08:06
тот который Patron выкладывал

Тот RESORC патчить бесполезно - это не оригинал наверняка, а пересборка которая не падает с эмулятором EIS :)

hobot
30.11.2013, 08:40
это не оригинал наверняка,
Да! Он по размерам с кристально чистым не совпадает!
Взял сейчас с дистрибутива кристально чистенький - патч проскочил нормально) Единственный момент, надо расширение .SIP явно указывать.
Вот ведь теперь бардак какой ) Надо на всех с RT-11 5.4G образах менять RESORC на этот !!! По крайней мере тех, которые для УК-НЦ,
там EM.SYS не используется ! ) В принципе в шапке есть ссылки и не так уж много выложено, лучше заменить (IND там нет - в моих вариантах системы точно :biggrin:). А последние три образа я пока
на живую машинку не утащил (время не было), так что будем заменять.

Прилеплен RESORC.SAV уже патченый (читайте тему).

hobot
16.12.2013, 18:28
У меня тут назрело, попытаюсь неспешно задать конкретные вопросы что бы услышать какие-то рекомендации.

Первый вопрос, по драйверу AC.SYS (AlphaProg),
однажды я захотел использовать его чисто для того, что бы
изменить prompt системный (в принципе так пользуюсь им для этого), но тогда ещё выяснилось что на одном из образов версия которая не пашет (в плане промпта) и версия которая пашет.

Теперь(!) я подружил драйвер с патченой 5.4 и решил в промпт вставить дату - он мне написал 81 - там где год должен быть.
Ту же магическую 81 - долбачат почти все старые шеллы или связанные с отображением дат программы. ИМХО: лучше бы
честно как DIR 5.0 писали бы BAD.

Исходник AC.SYS как-бы есть, но вот незадача (!) во первых он
дату читает вызовом .DATE, а во вторых это исходник того самого
AC который промпт не кажет )



ac.sys
Я для этого писал драйвер AC.SYS. Он может менять системный промптер,
правда для этого я перехватывал вектор EMT, и ловил EMT 351, смотрелось,
чтобы после команды была MOV R4,R4 или MOV R5,R5, ну и чтобы они были
в определенном смещении в памяти. Не очень конечно хорошо, но так уж получилось.
Еще этот драйвер запускает оконный менеджер, но до этого дело не дошло.

Команды:
SET AC SYSGEN - подстроиться под параметры генерации монитора;
SET AC ON - загрузить в ОЗУ и включить драйвер;
SET AC OFF - выключить драйвер и выгрузить из ОЗУ;
SET AC [NO]COM - запускать/не запускать коммандер;
SET AC [NO]HOLD - ждать/не ждать перед запуском коммандера;
SET AC PROMPT - настроить вид приглашения.

Запускать драйвер можно только с помощью SET AC ON, а выгружать - SET AC OFF.
Команды для настройки приглашения:
$$ - символ $;
$B - звуковой сигнал (007);
$D - дата в формате DD-Mon-YY, например 17-Jun-93;
$E - символ Escape (033);
$H - шаг назад (убрать предыдущий символ);
$L - символ LAT (017);
$R - символ RUS (016);
$S - устройство SY: в формате DDn, например MZ0;
$T - время в формате hh:mm:ss, например 12:24:31;
$U - устройство DK: в формате DDn, например MZ1.
Все остальные символы - как есть.

Исходники есть на диске sysimage.dsk.
_________________________________


Фрагмент исходника AC.MAC

7$: CMPB R4,#204
BNE 10$
.DATE ; <- он виноват да? )
MOV R0,R5
ASH #-5,R5
BIC #177740,R5
CALL OUTNUM
MOV R0,R5
ASH #-12,R5
BIC #177760,R5
CMP R5,#12.
BLOS 8$
CLR R5


http://s5.hostingkartinok.com/uploads/images/2013/12/d69476c79226b29c592c3825197bdb27.png






И такой вопрос\пожелание
пускай и не на уровне исполнения - просто в чём тонкость\трудность
пропатчить на предмет поддержки дат ADOS - в связи с тем что
SuperMax - скажем так систему сберёг и даже выложил
рабочие образы и для КВАНТА и для УК-НЦ, там самая лучшая рабочая среда в плане отечественных наработок для отечественных
PDP. (поддерживается КВАНТ4 и УК-НЦ).
http://forum.maxiol.com/index.php?showtopic=4509

Можно ли всё таки вот эту систему пнут на 2YK+8bit (Сэмзовский монитор - он ведь очень хороший) > http://hobot.pdp-11.ru/ukdwk_archive/ukncbtlwebcomplekt/SEMZdsk/SEMZ_rt11sj50.DSK
Можно ли всё таки пнут на 2YK > RS.SYS ???

http://s5.hostingkartinok.com/uploads/images/2013/12/fc15c04e6850ae25ca10054a5fa6c252.png


Спасибо!!!

Alex_K
16.12.2013, 19:09
Первый вопрос, по драйверу AC.SYS (AlphaProg),
однажды я захотел использовать его чисто для того, что бы
изменить prompt системный (в принципе так пользуюсь им для этого), но тогда ещё выяснилось что на одном из образов версия которая не пашет (в плане промпта) и версия которая пашет.

Теперь(!) я подружил драйвер с патченой 5.4 и решил в промпт вставить дату - он мне написал 81 - там где год должен быть.
Ту же магическую 81 - долбачат почти все старые шеллы или связанные с отображением дат программы. ИМХО: лучше бы
честно как DIR 5.0 писали бы BAD.

Исходник AC.SYS как-бы есть, но вот незадача (!) во первых он
дату читает вызовом .DATE, а во вторых это исходник того самого
AC который промпт не кажет )

hobot, почему вы так уверены, что это исходник плохого AC? На диске sysimage.dsk версия от 12.09.1994.

Теперь по поводу 81-го года. Когда писалась AC, то о никаких Y2K я даже и не слышал. На год в слове выделялось 5 бит, соответственно от 0 до 31, или с 1972 года по 2003 год. Далее все идет по кругу - 2013 минус 2004 равно 9, плюс 1972, вот вам и 1981 год. .DATE тут ни при чем. Надо менять процедуру обработки вывода даты в AC, использовать для этого еще два дополнительных бита, ну и выводить в четырехзначном формате.

hobot
16.12.2013, 20:34
hobot, почему вы так уверены, что это исходник плохого AC?
потому что я его скомпилил )

---------- Post added at 20:34 ---------- Previous post was at 20:32 ----------


адо менять процедуру обработки вывода даты в AC, использовать для этого еще два дополнительных бита, ну и выводить в четырехзначном формате.

Вот бы ещё знал бы я как это делать?Почему вы так уверены что я программист и знаю ассемблер? )))

Alex_K
16.12.2013, 20:58
потому что я его скомпилил )
Сейчас перекопировал под другим именем, скомпилировал, слинковал, и получил тот самый AC, который на диске sysimage.dsk.

---------- Post added at 20:58 ---------- Previous post was at 20:52 ----------


Вот бы ещё знал бы я как это делать?Почему вы так уверены что я программист и знаю ассемблер? )))
Исходники те самые.
Не уверен, что знаете ассемблер, но и самому неохота что-то переделывать. Уже как-то пройден этот этап.

hobot
17.12.2013, 02:06
hobot, почему вы так уверены, что это исходник плохого AC? На диске sysimage.dsk версия от 12.09.1994
Да! Извиняюсь, поторопился, исходник тот самый - я просто ждал от него эффекта сразу после sysgen и ins, позабыв его запустить! (r или loa - !).
Значит дедукцию применим :wink:

form
14.03.2014, 07:42
Последний вариант дистрибутива TSX-Plus V6.01 (http://zx.pk.ru/showpost.php?p=688511&postcount=58) с поддержкой Y2K, максимально приведен к оригиналу.

hobot
14.03.2014, 13:56
form, пожалуйста просто уточни, как быть с тем, что уже лежит в хламничке в разделе ДВК? Полностью заменить этим со всем хэлп-текстами и комментариями или рядышком положить? )

form
14.03.2014, 13:56
form, пожалуйста просто уточни, как быть с тем, что уже лежит в хламничке в разделе ДВК? Полностью заменить этим со всем хэлп-текстами и комментариями или рядышком положить? )

Пусть рядышком - там был оригинал (как его испоганили шаловливые ручки) и патчи. Для истории :)

hobot
14.03.2014, 13:58
Да! В шапку темы сейчас ссылку добавлю на форумную публикацию ! )

---------- Post added at 13:58 ---------- Previous post was at 13:57 ----------


Пусть рядышком
Гуд! )

form
14.03.2014, 14:00
Гуд! )

Осталось добыть 6.5...
Написал письмо, жду ответа...
И лицензии что-то на VMS не идут - скоро старые кончаются уже :)

AFZ
11.03.2016, 11:18
form, а монитор RT-11 на Y2k ты в исходниках правил, или как?

form
11.03.2016, 11:45
монитор RT-11 на Y2k ты в исходниках правил, или как?
В исходниках - исходники моритора в любом ките есть. Но 5.7 править не нужно - он изначально совместим.

AFZ
11.03.2016, 14:44
В исходниках - исходники моритора в любом ките есть. Но 5.7 править не нужно - он изначально совместим. Меня 5.1 интересует. Есть патченный исходник?

form
11.03.2016, 14:46
Есть патченный исходник?
Нету. Я как-то начинал процедуру, но наткнулся в KMON на то, что код перестал влезать в оверлей и плюнул. В сущности наверное ничего сложного - перегруппировать кое-что...

hobot
11.03.2016, 18:14
AFZ, готовая самая младшая 5.3 на уровне монитора и нескольких утилит, потом 5.4G их два варианта.
Я использую с младшими системами обработчик дат современный и DIR от третий, получается "как-бы" поддержка.

- - - Добавлено - - -

form, пользуясь случаем, что подняли тему, в шапке (первом сообщении) все самые актуальные ссылки на патчи именно по теме,
если при случае пробежишься взглядом - может я пропустил что то дай знать пожалуйста! )

form
11.03.2016, 18:24
5.3 на уровне монитора
Там тоже кое-что недоделано. .SFxxx в частности. Из-за этого при копировании файлов с годом выше какого-то - не помню уже - дата будет портиться. Хотя может и я доделывал позже - не помню.

hobot
11.11.2016, 20:43
По последней ссылке от уч. MIX обнаружена такой вот DX дискеты образ


RT-11 Utilities and Year 2000 Patches Page
Please read the Read Me (https://www.eskimo.com/%7Enickz/rt11/README.txt) file first, then download the utilities, patches and accompanying information from here (https://www.eskimo.com/%7Enickz/rt11/). The Y2K patches are intended for RT-11 V5.01C but will work with slight modifications on other versions such as V5.3. Please note that these are not provided by DEC or Mentec and are not supported by them or any third parties, including me. The monitor itself is not provided, since it is copyrighted by Mentec; only the patches are supplied. Mentec does not permit use of the source code by those not licensed to use it (but see here (https://www.eskimo.com/%7Enickz/dec.html#images) for binaries licensed for noncommercial use provided they are only used with the PDP-11 simulator (https://www.eskimo.com/%7Enickz/dec.html#minnie) by Robert Supnik).





.BOOT DX:

RT-11FB (S) V05.01C

.SET TT QUIET
?CINIT -- initializing VM...
11-Nov-2016
?KMON-W-No clock

.SH
TT (Resident)
DX (Resident)
DX0 = DK , SY
MQ (Resident)
LD (Loaded)
SL (Loaded)
VM
VM0 = CF , WF
LP
BA
NL
20 free slots


.DIR
-BAD-
KED .SAV 59P 27-Jul-84 ENABLE.SAV 1P 07-Jan-86
CLEAR .SAV 1P 05-Jan-86 DX .SYS 4P 12-Jan-98
RT11FB.SYS 98P 05-Feb-98 SRCCOM.SAV 26P 27-Jul-84
BINCOM.SAV 24P 27-Jul-84 SL .SYS 14P 04-Feb-98
DIR .SAV 19P 21-Dec-97 DIR2 .SAV 10P 18-Mar-98
PIP .SAV 30P 02-Feb-84 DY .SYS 4P 12-Jan-98
DL .SYS 5P 15-Jan-98 DUP .SAV 45P 02-Feb-84
STARTF.COM 3P 17-Jun-98 CINIT .SAV 3P 10-Mar-98
CINIT .COM 1P 10-Mar-98 SWAP .SYS 26P 27-Jul-84
VM .SYS 3P 12-Jan-98 NL .SYS 2P 30-Jan-98
TT .SYS 2P 01-Feb-98 LP .SYS 2P 30-Jan-98
HD .SYS 3P 13-Feb-98 LD .SYS 8P 12-Jan-98
UCL .DAT 10P 24-Jan-98 UCL .SAV 13P 27-Jul-84
RESORC.SAV 22P 02-Feb-84 LET .SAV 5P 27-Jul-84
CLS .SAV 1P 11-Nov-97 CLOCKI.SAV 2P 19-Mar-98
DUMP .SAV 8P 27-Jul-84 SIPP .SAV 21P 02-Feb-84
TCONV .SAV 3 29-Jan-98 DM .SYS 5P 18-Jul-98
34 Files, 483 Blocks
3 Free blocks

.DATE
11-Nov-2016

.


https://www.eskimo.com/~nickz/dec.html#images

- - - Добавлено - - -


вот DX дискеты образ (https://www.eskimo.com/~nickz/dec/rtfb_y2k.dx0)
Безусловный ХИТ! ПО с той дискеты, это программа DIR2.SAV !!!




KMON>RU DX:DIR2
DIR2 V2.1 by Nicholas Zymaris 18-Mar-1998 (pi day+4): /H for help
*/H
/H
Type [<outfile>=]<infile> or /H(elp), /I(D), /Q(uit), ^C.
Input file may be a disk or logical disk; e.g.:
TT:=DY: or QQQ.QQQ=DL0:TEST.DSK or NL:=TEST2.DSK

Make sure driver LOADed before reading device.

Use the /B(rief) switch with a disk or file for a brief listing
(output device ignored for now).

/N: Numeric (not character) month; /E: European date order.
For numeric European order, use /E/N, not /N/E.
List only: /U(nprotected) or /P(rotected) files;
include /D(eleted) files; /T(oday's files only);
Print the file sizes and number of files in (O)ctal.

Nonstandard file status flags: N=present, n=not present, z=zero.
*SY:
SY:
11-Nov-2016
Volume label: 54Y2K_system Owner: DWKemul File system: DECRT11A
TT .SYS 2. P 23-Jan-1980
RT11SJ.SYS 79. P 17-Mar-2013
SWAP .SYS 27. P 19-Dec-1988
HD .SYS 3. P 01-Mar-2012
EM .YS 4. P 29-Oct-1988
LD .SYS 8. P 19-Dec-1988
SL .SYS 10. P 28-Dec-1987
NL .SYS 2. P 19-Dec-1988
LP .SYS 2. P 21-Apr-1998
RS .SYS 26. P 13-Sep-1994
MX .SYS 9. P 15-Dec-1980

<..>

220. files, 14999. blocks, 15067. total used blocks
40466. free blocks
*


Там где-то на страничке исходники вроде бы были )))

- - - Добавлено - - -

https://www.eskimo.com/%7Enickz/rt11/ - но исходников DIR2 не видать, она тут собранная лежит.

form
11.11.2016, 20:51
но исходников DIR2 не видать
Зато есть исходники DIR из 5.07 :)

hobot
11.11.2016, 21:11
Зато есть исходники DIR из 5.07

Что то не увидел или ты имеешь в виду, что в принципе у тебя есть?
И ещё хотел уточнить там вот всяческие старшие системы, ценно или пусть там и остаются?
(перетаскивать в архив или не имеет значения >>> например вот это
https://www.eecis.udel.edu/~mader/delta/downloadrsts.html

- - - Добавлено - - -

доб.





rsts-built.tar.gz (https://www.eecis.udel.edu/%7Emader/delta/download/rsts-built.tar.gz) (3.4 Mb)
Here, you will find two prebuilt RSTS/E V7.0-07 systems on RL01 packs as prepared by Chuck Cranor. There is a minimal system and a fully loaded system. Since these are RL01's, they require a bit less space than Gary's RM03 system. Also, Chuck has included a detailed document (https://www.eecis.udel.edu/%7Emader/delta/download/build.txt) that describes how to build your own RSTS system from scratch or how to add packages of your choosing to his minimal system. With this document, you should be able to get by without a SYSGEN manual.

rsts7.0-07.tar.gz (https://www.eecis.udel.edu/%7Emader/delta/download/rsts7.0-07.tar.gz) (3.5 Mb)
This is the original distribution of RSTS/E V7.0-07 from DEC on 3 RL01 packs. You get to build it from the ground up.

form
11.11.2016, 21:14
Что то не увидел или ты имеешь в виду, что в принципе у тебя есть?
Есть source kit RT-11 V5.7. Он есть в архиве в RT11DV50. Там есть исходники родной программы DIR, Y2K она поддерживает.

например вот это
Там RSTS/E V7, он лежит на родном сайте simh и на bitsavers. Есть также более поздние версии. В принципе хочется все, что найдется в архив утащить, вот только места на диске уже гигов 150 осталось (ну еще 300 можно будет очистить в случае нужды) :)

hobot
11.11.2016, 21:40
Там RSTS/E V7
потерпит, тем более не совсем по теме моего сайта,
тем более ещё ожидается перенос в архиве "некоторых"
материалов (достаточно объёмных) строго по теме.
Ведь наобещали же ! )

- - - Добавлено - - -

В нужных темах есть ссылки, так что кому нужно доберётся и возьмёт )

- - - Добавлено - - -


DIR из 5.07
кстати глючный он. в общем ситуация такая,
я же гоняю последнюю RT-11 на виртуалке и на живой!
И там и там подводит именно DIR v5.09 - которая без
всяких вроде бы причин трапиться или виснит, но чаще
всего на моменте когда каталог уже на экране и надо
вывести последнюю статистику (всего файлов, блоков, свободно)
выпадает в СТОП.

При этом версия 5.8 пока такого не сделала ни разу )))
А программа DIR из версии RT-11 v5.3 - та что патчиная на Y2K
самая наверное стабильная.

http://storage7.static.itmages.ru/i/16/1111/s_1478889930_9765302_be22c9255f.png (http://itmages.ru/image/view/5175196/be22c925)

Это из личного опыта\наблюдений за последние пару лет.

- - - Добавлено - - -

Да! И конечно речь идёт только об УК-НЦ и его эмуляторе.
Про дискеты и ЖД УК-НЦ соответственно.

- - - Добавлено - - -


достаточно объёмных
Ну какие могут быть объёмы ПО в рамках УК-НЦ\ДВК темы,
конечно максимум пару десятков МЕГАБАЙТ )))

form
11.11.2016, 21:48
которая без
всяких вроде бы причин трапиться или виснит
Так анализировать надо трапы. Ни разу еще прога не упала в принципе у меня.


При этом версия 5.8 пока такого не сделала ни разу
Ну если речь идет о том, чтобы подложить прогу в чужую систему, не от которой она - тут вопрос отдельный. Хотя конкретно для данного случая любая система старше 5.02 должна подойти. Но не проверял. Как-то не приходило в голову ее не в 5.07 использовать :)


А программа DIR из версии RT-11 v5.3 - та что патчиная на Y2K
самая наверное стабильная.
Моя прога ведет себя несколько иначе чем оригинал. В то время у меня не было 5.7, и потому я по-своему решил как она будет с датами разбираться (в опциях которые указывают дату). В оригинале можно использовать годы 72-99 и 1972-2099, а в моей проге 00-99 и 1972-2099 (00-71 считается как 2000-2071).

hobot
11.11.2016, 22:27
Так анализировать надо трапы.
Я наверное не умею ) Пишет обычно трап ту 4 - и циферки, возможно разные возможно одни и те же.
И да я подсовываю эти версии ДИР(5.08,5.09 и 5.03) под все мониторы - поскольку уже не комфортно <BAD> видеть
при выводе каталога в какой-нибудь 5.0 системе.

http://storage4.static.itmages.ru/i/16/1111/s_1478892519_9313112_2333f1fe1b.png (http://itmages.ru/image/view/5175310/2333f1fe)

form
11.11.2016, 22:43
под все мониторы
Под совсем старыми может и не работать - надо смотреть что он там в исходниках пользует. Я вроде делал для 5.4 еще DIR, уже в стиле 5.7, но не помню выкладывал его или нет. Ну и от 5.3 с моим патчем подойдет.

hobot
12.11.2016, 00:32
Ну и от 5.3 с моим патчем подойдет.
я уже писал, эта версия самая стабильная, а 5.08 случайно попалась в комплекте
эмулятора ДВК ) То есть везде до этого 5.09 - чисто визуально, она зачем-то микро паузу
такую берёт перед каждой операцией - когда долго пользуешся это заметным становится,
то есть вот она быстренько вывела каталог по запросу и ключам и "микро-пауза",
финальную информацию по устройству - и вот во время этой "микро-паузы" вполне может
и трапнуться и повиснуть или просто вылететь в @@@СТОП@@@. Но это я понимаю
малонаучный подход. Будем собирать статистику, делать скрины и фиксировать глюки.
Если наберётся за год инфа сделаю тему отдельную ) Для себя я то выхожу из ситуации,
просто для "посторонних" и "вновь прибывших" - это лишний повод сказать про "виснет от каждого чиха"
про УК-НЦ и про нестабильность в целом ПО. В общем легко лечится заменой (откатом) на 5.08 версию,
она так-же всё с датами современными дружит.

form
12.11.2016, 06:27
самая стабильная
Дело не в стабильности - стабильные все в своих системах. Просто в 5.3 DIR точно не использовал всяких вызовов .GF* которых нету в ранних версиях RT-11 (включая ранние v5). Ну и по размеру он поменьше будет, а это тоже часто важно, особенно если в системе куча драйверов от советских умельцев которые понятия не имели о правилах написания таковых :)
В общем же случае правило одно: использовать родные программы от системы.

hobot
16.11.2016, 18:08
form, среди прочих материалов опубликованных Хранительницей, нашёлся дистрибутив QQ - монитора.
Особенности этого "гибридного" монитора коротко описаны авторами, многократно обсуждались на форуме
временно я разместил этот образ в разделе УК-НЦ, где позднее будут размещены все
предоставленные Хранительницей образы дискет.

http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/UKNC_RT11QQ_DISTR/

Этот вариант ОС RT-11 показал уникальную стабильность при использовании с любыми программами (разных лет),
на УК-НЦ и ДВК (различных модификаций). Мне попадались образы чисто под MY драйвер и конечно
большинство под УК-НЦшный MZ. Единственный минус - отсутствие поддержки современных дат.

Я открыл файл KMOV01.MAC, похоже именно тут даты или я ошибаюсь?



.SBTTL KMOV01.MAC
.SBTTL DATE
OVERLAY

.IF EQ BF
.IF NE LOAD$$
OVCMD LOAD
CALLR LOADO
.ENDC
OVCMD OL1
CALLR OL1O
.ENDC

.IF NE CLOS$$
OVCMD CLOSE
CALLR CLOSEO
.ENDC
.IF NE DATE$$
OVCMD DATE
.ENABL LSB
ADDR TMRLST,R3
MOV R3,R0
MOV R3,-(R0)
TST -(R0)
EMT 375
ADDR MONTHS,R4
MOV @#SYSPTR,R0
TSTB @R5
BEQ 6$
CMPB @R5,#SPACE
BEQ 1$
INC R5
1$: CLR R1
JSR R3,NUMK
.BYTE 0.,31.-0.
SWAB R1
ASR R1
ASR R1
ASR R1
INC R5
MOV R5,R3
2$: ADD #2000,R1
TSTB 1(R4)
BEQ 10$
MOV R3,R5
MOV R4,R2
CMP (R4)+,(R4)+
3$: MOVB (R2)+,-(SP)
BICB #40,@SP
MOVB -(R5),-(SP)
BICB #40,@SP
CMPB (SP)+,(SP)+
BNE 2$
4$: CMP R2,R4
BLOS 3$
JSR R3,NUMK
.BYTE 72.,99.-72.
TSTB @R5
BNE 10$
ADDR TMRLST,R0
MOV #-1,@R0
MOV R1,-(R0)
MOV R0,SDTM+2-<TMRLST-2>(R0)
ADD #SDTM-<TMRLST-2>,R0
.SDTTM
RETURN

; OUTPUT DATE FROM MONITOR
6$: MOV $DATE-$RMON(R0),R2
BEQ 10$
7$: MOV @SP,R0
MOV R2,-(SP)
BIC #^C<37>,@SP
ASR R2
ASR R2
ASR R2
ASR R2
ASR R2
BNE 7$
CALL R10ONF
DEC @SP
ASL @SP
ASL @SP
ADD (SP)+,R4

MOV #5,R2
8$: .TTYOUT (R4)+
DEC R2
BNE 8$

TST (SP)+
MOV (SP)+,R0
ADD #72.,R0
JMP R10OUT ;####

;#### CALL R10OUT
;####K0CRLF:
;#### OJMP KCRLF
10$:
.IF EQ CONT$N
KMEROR <Invalid or no date>
.IFF
KMEROR <Invalid or no date>,,WARN$
.ENDC
NUMK: OJSR PC,DECNUM
MOVB (R3)+,R2
SUB R2,@SP
BLE 10$
MOVB (R3)+,R2
CMP @SP,R2
BGT 10$
ADD (SP)+,R1
RTS R3
.DSABL LSB
.ENDC
.IF NE TIME$$
.SBTTL TIME
OVCMD TIME
.ENABL LSB
OTIME: MOV @#SYSPTR,R0
ADD #CONFIG-$RMON,R0
BIT #CLK50$,@R0
BEQ 1$
MOVB #50.,9$
MOVB #50.,CLKFRQ
1$: ADDR TMRLST,R3
MOV R3,R0
MOV R3,-(R0)
TST -(R0)
EMT 375
TSTB @R5
BEQ 8$
CMPB @R5,#SPACE
BEQ 2$
INC R5
2$: CMP (R3)+,(R3)+
CLR R1
CLR -(SP)
3$: OJSR PC,DECNUM
MOVB (R3)+,R4
CMP R4,@SP
BLOS 12$
CMPB @R5,(R3)+
BEQ 4$
TSTB @R5
BNE 12$
INC R5
4$: ADD (SP)+,@SP
ADC R1
MOVB @R3,R4
BEQ 6$
MOV R1,R2
MOV @SP,R0
5$: DEC R4
BEQ 3$
ADD R0,@SP
ADC R1
ADD R2,R1
BR 5$
6$: MOV @#SYSPTR,R0
.IF NE BF!TIME$R
SUB TMRLST+2,@SP
SBC R1
SUB TMRLST,R1
ADD (SP)+,$TIME+2-$RMON(R0)
ADC R1
ADD R1,$TIME-$RMON(R0)
K0RTS: RETURN
.IFF
OINTOF 7$
MOV (SP)+,$TIME+2-$RMON(R0)
MOV R1,$TIME-$RMON(R0)
MOV @SP,-(SP)
CLR 2(SP)
7$: RTI
.ENDC
8$: MOV (R3)+,R1
MOV (R3)+,R2
JSR R4,DIVIDE
9$: .WORD 60.
MOV R5,R0
MOV #3,R3
10$: MOV R0,-(SP)
JSR R4,DIVIDE
.WORD 60.
DEC R3
BNE 10$
11$: CALL R10OUT
MOV (SP)+,R2
BMI 14$
.TTYOUT #':
MOV R2,R0
BR 11$
12$:
.IF EQ CONT$N
KMEROR <Invalid time>
.IFF
KMEROR <Invalid time>,,WARN$
.ENDC
14$: RETURN
.DSABL LSB
.ENDC
.IF NE TIME$$!DATE$$
.SBTTL DECIMAL OUTPUT AND CONVERSION
.ENABL LSB
R10ONF:
R10OUT: SWAB R0
1$: ADD #173001,R0
BPL 1$
ADD #'0+<10.*400-1>,R0
.TTYOUT
SWAB R0
2$: ADD #'0,R0
.TTYOUT
RETURN
.DSABL LSB
DIVIDE: CLR R0
MOV #31.,R5
1$: ASL R2
ROL R1
ROL R0
CMP R0,@R4
BLO 2$
SUB @R4,R0
INC R2
2$: DEC R5
BPL 1$
TST (R4)+
RTS R4
SDTM: .BYTE 0,..SDTM
.WORD 0
.NLIST BEX
..MNTH == .
MONTHS: .ASCIZ "-Jan-Feb-Mar-Apr-May-Jun-Jul-Aug-Sep-Oct-Nov-Dec-"
.LIST BEX
.BYTE 0,..GTIM
.WORD 0
TMRLST: .WORD 0,0
.BYTE 24.,':,60.,':,60.,'.
CLKFRQ: .BYTE 60.,377,0
.EVEN
.ENDC
.IF NE CLOS$$
.SBTTL CLOSE
CLOSEO: TSTB @R5
BNE 12$
CLR R2
CLR R4
1$: MOV @#SYSPTR,R3
ADD #$CSW-$RMON,R3
MOV (PC)+,R5
.CLOSE 0
2$: MOV @R3,R0
BPL 6$
BIC #^C<76>,R0
ADD @#SYSPTR,R0
ADD #$PNAME-$RMON,R0
OINST MOV @R0,INPFN,,*
TST R2
BNE 4$
OADDR DEVSTS,SP
EMT 342
BCS 11$
TST 4(R0)
BNE 3$
MOV 2(R0),R0
CMP R0,R4
BLOS 3$
MOV R0,R4
3$: BR 6$
4$: MOV R0,-(SP)
TST R4
BEQ 5$
.SERR
MOV @SP,R0
.FETCH R4
BCS 10$
.HERR
5$:
.IF EQ BF
CLRB C.DEVQ(R3)
.ENDC
MOV R5,@PC
HALT
BCS 13$
MOV (SP)+,R0
.RELEASE
6$: INC R5
ADD #12,R3
CMP R5,(PC)+
.CLOSE 20
BLO 2$
TST R2
BNE 8$
MOV R4,R0
BEQ 7$
OINST MOV SP,@.EXTFL,,*
OJSR PC,GETBLK
BCC 7$
SUB R0,@SP
7$:
OINST CLR @.EXTFL,,*
MOV SP,R2
BR 1$
8$: TST R4
BEQ 9$
OINST MOV SP,@.EXTFL,,*
OJSR PC,PUTBLK
BCC 9$
ADD R0,@SP
9$:
OINST CLR @.EXTFL,,*
.IF NE BF
.SRESET
.IFF
OJSR PC,RSTSRS
.ENDC
RETURN
10$: OJSR PC,PUTBLK
TSTB @#ERRBYT
BPL 11$
OJMP BADFET
11$: OJMP BADHAN
12$: OJMP BADCOM
13$: KMEROR <File created; protected file already exists>,,WARN$
.ENDC

.IF NE BF
OVERLAY
OVCMD OL1
CALLR OL1O
OVCMD LOAD
.ENDC
.SBTTL LOAD
.IF NE LOAD$$
SYNTAX LOAD
PROMPT $DEVICE
REQBLNK
END
SWITS LOAD
ENDNO
NOS
ENDS

LOADO:
.IFTF
.ENABL LSB
.IFT
ITBLE 0
OJSR PC,INITIT
MOV R5,R2
MOV R5,R3
5$: MOVB -(R2),-(R3)
BEQ OLOAD
CMPB #<SPACE>,@R2
BNE 5$
TSTB (R3)+
BR 5$
OLOAD: OADDR DEVSTS,R2
OJSR PC,GETNAM
OJSR PC,OPTCOL
.ENDC
OL1O:
CALL MAPIT1
CLR FTEMP
.IF NE BF
.IF EQ SYT$K
CLR R3
CMPB #<'=>,@R5
BNE 20$
BICB #40,-(R5)
CMPB #<'B>,@R5
BEQ 10$
CMPB #<'F>,@R5
BNE IMSG3
TST (R3)+
10$: INC R3
DEC R5
.IFF
MOV #<-1>,R3
CMPB #<'=>,@R5
BNE 20$
MOV R2,-(SP)
CALL CKLJN1
BNE 15$
DEC R5
MOV R5,R4
CLRB @R3
KMRTMG <No such job ->,,<BCKASZ>
15$: MOV (SP)+,R2
.ENDC
.ENDC
20$: MOV @R2,-(SP)
OINST MOV @R2,INPFN,,*
.DSTAT R2,R2
BCS IMSG1
TST 4(R2)
BNE 50$
MOV (SP)+,@R2
MOV 2(R2),R0
MOV R2,-(SP)
MOV R3,-(SP)
MOV SP,@<.EXTFL-OVLY>-<.+4-OVLYST>(PC)
OJSR PC,GETBLK
MOV (SP)+,R3
BCC 25$
SUB R0,R5
SUB R0,2(SP)
SUB R0,@SP
25$: .SERR
MOV @SP,R0
.FETCH R4
BCS IMSG0
.HERR
MOV R4,FTEMP
CLR -(SP)
MOV (R4)+,R2
BPL 40$
ASL R2
ADD R2,R4
MOV (R4)+,R2
BPL 35$
MOV (R4)+,@SP
MOV @#SYSPTR,R2
CALL @GETVEC-$RMON(R2)
BCS IMSG0X
30$: MOV (R4)+,R2
35$: ADD @SP,R2
40$: BLE 45$
MOV R4,-(SP)
MOV #1,R4
MOV @#SYSPTR,R0
ADD #LOWMAP-$RMON,R0
OJSR PC,SETBT2
MOV (SP)+,R4
CMP (R4)+,(R4)+
BR 30$
45$: TST (SP)+
MOV (SP)+,R2
BR 20$
IMSG3: OJMP BADCOM
IMSG0X: TST (SP)+
MOV FTEMP,R4
IMSG0: OJSR PC,PUTBLK
TSTB @#ERRBYT
BPL IMSG1
OJMP BADFET
IMSG1: OJMP BADHAN
50$:
.IF NE BF
CLR R1
OINST MOV .$ENTR,R0,*
55$: CMP 4(R2),(R0)+
BNE 60$
MOV @SP,R4
MOV R1,-(SP)
OINST ADD .$PNAM,@SP,*
SUB @(SP)+,R4
BEQ 65$
SUB #<^R 0>,R4
CMP R4,#7
BLOS 65$
60$: TST (R1)+
CMP R1,#$SLOT*2
BLO 55$
MOV FTEMP,R4
BEQ IMSG3
OJSR PC,PUTBLK
BR IMSG3
65$: MOV @#SYSPTR,R0
CMP R1,SYINDX-$RMON(R0)
BNE 70$
TST R3
.IF NE SYT$K
BMI 70$
.IFF
BEQ 70$
.ENDC
CMPB SYUNIT+1-$RMON(R0),R4
BEQ IMSG1
70$:
.IF NE SYT$K
INC R3
.ENDC
BIT #FILST$!SPECL$,@R2
BEQ 75$
MOV #17,FTEMP
CLC
ROR R4
BCC ESRCH
ASL R3
ASL R3
ASL R3
ASL R3
COMB FTEMP
BR ESRCH
75$: TST R3
BEQ ESRCH
.IF EQ SYT$K
DEC R3
BEQ 80$
MOV #^B<0010001000100010>,R3
80$: ADD #^B<0001000100010001>,R3
.IFF
MOV R3,R0
SWAB R0
BIS R0,R3
MOV R3,R0
ASL R3
ASL R3
ASL R3
ASL R3
BIS R0,R3
.ENDC
ESRCH: CLR R1
OINST MOV .$ENTR,R0,*
85$: CMP 4(R2),(R0)+
BNE 100$
MOV R1,-(SP)
OINST ADD .$OWNE,R1,*
BIT #FILST$!SPECL$,@R2
BEQ 90$
ADD R4,R1
BICB FTEMP,@R1
BISB R3,@R1
BR 95$
90$: MOV R3,(R1)+
MOV R3,@R1
95$: MOV (SP)+,R1
100$: CMP (R1)+,(R1)+
CMP R1,#$SLOT*4
BLO 85$
.ENDC
TST (SP)+
CLR @<.EXTFL-OVLY>-<.+4-OVLYST>(PC)
.IF NE LOAD$$
CMPB @R5,#<COMMA>
BEQ 105$
.ENDC
TSTB @R5
BNE IMSG3
RETURN
.IF NE LOAD$$
105$: CALLR OLOAD
.ENDC
.DSABL LSB
FTEMP: .WORD 0
MAPIT1: MOV #$SLOT+3,R3
OINST MOV .$UNAM,R1,*
1$: DEC R3
BEQ 2$
CMP @R2,(R1)+
BNE 1$
MOV $UNAM1-$UNAM2-2(R1),@R2
2$: RETURN
.IF NE SYT$K
.ENABL LSB
CKLJN1: MOV R5,(PC)+
R5STA1: .WORD 0
ADDR NBUFF1+6,R0
CLR -(R0)
CLR -(R0)
CLR -(R0)
MOV R0,-(SP)
MOV #6,R1
TSTB -(R5)
BNE 10$
OJMP BADCOM
5$: TSTB -(R5)
BEQ 15$
CMPB #COMMA,@R5
BEQ 15$
10$: MOVB @R5,(R0)+
DEC R1
BNE 5$
DEC R5
MOV R5,R3
15$: MOV (SP)+,R0
MOV R5,-(SP)
MOV @#SYSPTR,R5
ADD #$IMPUR-$RMON,R5
MOV R5,(PC)+
IMSTA1: .WORD 0
CLR R4
CALL FNDJOB-$IMPUR(R5)
BEQ 20$
MOV R5,R4
SUB IMSTA1,R5
MOV R5,R3
BR 25$
20$: MOV R5STA1,@SP
25$: MOV (SP)+,R5
TST R4
RETURN
NBUFF1: .BLKW 3
.DSABL LSB
.ENDC


Вопрос к товарищу form и всем желающим прокомментировать этот исторический момент,
может быть "малой кровью" добавим поддержку дат и какие-то ещё необходимые в связи с этим
правки? Я смог бы "возможно" сам но не настолько я понимаю исходник, что бы без шпаргалок\
подсказок и наводок что то там шуршить. Я вижу там константу 72. - так понимаю это её нужно
править в первую очередь, но вот например где уст. 2 циферки под год и как их на 4 поправить?
Что ещё нужно сделать.

В архиве есть текущий рабочий образ для УК-НЦ.
http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/RT11A1_qqfix/

- - - Добавлено - - -

Да! Этот монитор конечно актуален только в рамках темы УК-НЦ и ДВК !!! То есть для отечественных машинок только !!!

form
16.11.2016, 18:13
KMOV01.MAC, похоже именно тут даты или я ошибаюсь?
Это оверлеи команд, в частности команды DATE.

добавим поддержку дат и какие-то ещё необходимые в связи с этим
правки?
Ну методика добавки известна - никто не мешает :)
В общем случае, нужно поправить:

KMON (KMOVLY.MAC) на предмет приема команд с расширенными датами
RMON (RMON.MAC [5.6 и новее] или RMONSJ/RMONFB.MAC) на предмет обработки переключения даты (sysgen опция date rollover)
RMON макровызовы .SDTTM и .SFxxx



Я вижу там константу 72.
1972 - это минимальный год который RT-11 позволяет обозначить. Год меньше 1972 в RT-11 представить невозможно. В целом же при доработке KMON нужно различать двузначные и четырехзначные даты и поступать соответственно. Как уже писал, алгоритм Mentec в этом случае позволяет вводить годы 72-99 (для 1972-1999) и 1972-2099 (год 2099 - это предел для RT-11). Мой вариант (который реализовал в RT-11 V5.3) также позволял вводить годы 00-71 (2000-2071).

Ну и добавлю, что попытка просто поправить KMOVLY.MAC для RT-11 старее 5.2 провалилась - после правки оверлеи не влезали в рамки сегмента. Нужно заниматься перераспределением команд по оверлеям.

hobot
16.11.2016, 22:38
Нужно заниматься перераспределением команд по оверлеям.
для меня сложновато, если честно. Дистрибутив QQ-монитора какое-то время по ссылке выше будет (http://zx-pk.ru/threads/20864-os-rt-11-i-podderzhka-y2k-!!!.html?p=891213&viewfull=1#post891213)
доступен, а позднее все образы Хранительницы я к архиву прилеплю.

Arix
26.06.2018, 19:30
У меня на жестком диске стоит RT11SJ 05.02 без Y2K. Если я просто скопирую с дискеты на это винт системные файлы от RT11SJ 05.04 c Y2K, заменив старые, у меня с загрузкой системы не возникнут проблемы?

Hunta
26.06.2018, 19:37
С загрузкой, скорее всего - нет, с работой (особенно тех программ, которые идут в составе дистрибутива RT) - уже не настолько уверен, хотя тоже скорее всего нет. Но лучше то, что с дистрибутива RT - взять родное

hobot
13.09.2019, 03:56
Вобщем гораздо полезнее на мой взгляд разобрать случаи где что-то не работает и составить список возможных проблем

и случай есть, PAF COMMANDER под SJ 5.4 полёт нормальный, а вот под семёркой нет запуска - пишет CRC error!
Как победить? Учитывая, что в принципе исходники есть
> http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/ishPAFCOM/ <



! Apxивный paздeл ЖД ! ЛAТ

LD1 is WD3:WD3A01.DSK[3200.]
LD2 is WD3:WD3A02.DSK[3200.]
LD3 is WD3:WD3A03.DSK[3200.]
LD4 is WD3:WD3A04.DSK[3200.]
LD5 is WD3:WD3A05.DSK[3200.]
LD6 is WD3:WD3A06.DSK[3200.]


RT-11FB (S) V05.07 C

Date? 12-SEP-2019

L07>AS SY DK

W03>LO PC

W03>R PC
CRC error

W03>

falanger
07.04.2020, 22:17
Обнаружил баг в сборке RT-11SJ 05.04G для УКНЦ.
При генерации системы вероятно был использован параметр частоты входящей для таймера 60 Гц американского стандарта. На реальной УКНЦ с ее вероятно 50 Гц сигналом время выставленное командой TIME за 12 часов начинает отставать на 1 час от реального времени по часам. В сборке 5.02 от Сторожевых - отставания часов нет при суточной непрерывной работе УКНЦ.

Hunta
07.04.2020, 22:23
SHOW CONFIGURATION покажет этот параметр

falanger
08.04.2020, 00:12
В системе на 5.02 - 50 Cycle System Clock
В системе на 5.04 - 60 Cycle System Clock
Как я и предполагал.

form
08.04.2020, 02:58
Если MAP файл в наличии, можно с помощью VKMON перенастроить на 50Hz.
Если нету - в принципе тоже можно, но придется поиском пройтись по файлу.

hobot
08.04.2020, 13:51
form, монитор от Патрона на 50 сконфигурирован


→ ЛАТ
WD4>SH CONF

RT-11SJ (Y) V05.04 G
Booted from WD4:RT11SJ

USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
TT is set QUIET
ERROR is set ERROR
SL is set ON
EDIT is set KED
KMON nesting depth is 3

LSI 11 or PDP 11/03 Processor
56KB of memory
Extended Instruction Set (EIS)
Floating Instruction Set (FIS)
50 Cycle System Clock

No SYSGEN options enabled


WD4>
SYSTEM PASCAL [WD4]


на 60 - который, я так же на УК-НЦ использую, проблем с ним нет.

form
08.04.2020, 14:03
монитор от Патрона на 50 сконфигурирован
Просто взять за правило: генерится монитор - сохранять MAP файл с ним - тогда его легко настраивать можно под себя уже после генерации.
И файл CUSTOM.TXT из дистрибутива за компанию - там еще много интересного описано что можно настроить :)
У меня была мысль сделать анализатор файла монитора который бы "из ничего" делал MAP, достаточный для VKMON, но все руки не дойдут никак.
Ну а если используется прегенеренный монитор из дистрибутива, то к нему MAP файл есть в том же дистрибутиве - тут VKMON в помощь.

Hunta
08.04.2020, 14:25
Просто взять за правило: генерится монитор - сохранять MAP файл с ним
У нас тут тааак много людей мониторы генерируют...

hobot
08.04.2020, 15:03
Просто взять за правило: генерится монитор - сохранять MAP файл с ним
MAP ни к одному из вариантов четвёрки нахрапом не обнаружен, стоит ли вообще волноваться по поводу правки 50 вместо 60, это не баг ни в коем случае, а промышленный стандарт. Пользуюсь на живой машинке обе версии - никаких проблем со стабильностью не выявлено. Два варианта последнего SJ 50 и 60,
мониторы различаются заголовками.

form
08.04.2020, 15:14
не баг ни в коем случае
Это кому как.
Я привык чтобы время в системе правильным было, даже если RT-11 его особо и не использует нигде :)

Hunta
08.04.2020, 15:33
50 вместо 60, это не баг ни в коем случае
Аха, не баг. Кривые часы и кривые руки

hobot
08.04.2020, 15:38
form, спокойствие!!! 60Гц кстати говоря твой вариант монитора и файл с расш. MAP (http://archive.pdp-11.org.ru/vid/rt54g-sjfb.rar) к нему прилагается )
Патроновский (Y) монитор уже 50 как выше показано...



ЛAТ
WD2>SH CONF

RT-11SJ V05.04 G Y2K 8BIT
Booted from WD2:RT11SJ

USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
TT is set QUIET
ERROR is set ERROR
SL is set ON
EDIT is set KED
KMON nesting depth is 3

LSI 11 or PDP 11/03 Processor
56KB of memory
Extended Instruction Set (EIS)
Floating Instruction Set (FIS)
60 Cycle System Clock

FPU support


WD2>
SYSTEM PASCAL [WD2]

falanger
08.04.2020, 15:57
50 гц - стандартная частота питающей сети в СССР и частота таймера в Э-60/ДВК/УКНЦ. При запуске на них системы собранной с настройкой под 60 гц американскую сеть и таймер системные часы будут отставать. Что я у себя и увидел 12 часов непрерывной работы УКНЦ.

Hunta
08.04.2020, 16:15
50 гц - стандартная частота питающей сети в СССР и частота таймера в Э-60/ДВК/УКНЦ.
Только таймер не всегда от 50 Гц сети заведён.
Насколько мне не изменяет память - в УКНЦ - нет.
И точно нет на платах .1201.03 .1201.04

hobot
08.04.2020, 16:21
Никто не мешает пользователю иметь такой вариант монитора какой он считает "правильным". Я гоняю все варианты - поскольку их много и некоторые лучше соотв. определённым задачам ;-)

hobot
08.04.2020, 19:52
вариант монитора и файл с расш. MAP к нему прилагается )



ЛAТ
RT-11 LINK V05.18 Load Map Sunday 17-Mar-85 21:21 Page 5
RT11SJ.SYG Title: BSTRAP Ident: V05.92

OPTX12 111416 OPTX13 111616 OPTX14 112052
OVLY36 113000 002000 = 512. words (RW,I,GBL,REL,OVR)
REENTE 113000 START 113016 STRE 113042
RUNCHK 113066 GETUCL 113172 GET1 113202
UCL 113234 UCF 113274 AT2 113754
..ATDK 114154 ..UCFD 114456 ..UCFF 114460
..UCLD 114466 ..UCLF 114470
OVLY40 115000 002000 = 512. words (RW,I,GBL,REL,OVR)
SAV1 115000 FACTOR 115004
OVLY42 117000 002000 = 512. words (RW,I,GBL,REL,OVR)
INDF1 117000 SCN0 117414 AT4 117526
$LAST$ 121000 000000 = 0. words (RW,I,LCL,REL,CON)
OVLY44 121000 000000 = 0. words (RW,I,GBL,REL,OVR)

Transfer address = 000001, High limit = 120776 = 20735. words


WD2>VKMON RT11SJ
?VKMON-F-Wrong MAP file for SY:RT11SJ.SYS

WD2>
SYSTEM PASCAL [WD2]


странно почему они у меня в одном rar запакованы???
не помню абсолютно, но так или иначе - VKMON сказал своё слово )

form
08.04.2020, 20:04
VKMON сказал своё слово
Видимо не тот файл :)
Кстати в RT11DV50 были дистрибы (правда вроде V4) где MAP не соответствовал.
Если систему я готовил, должен прилагаться файл ответов для SYSGEN :)

- - - Добавлено - - -

Да, на всякий случай, "VKMON RT11SJ" означает что открываются файлы с устройства SY:

hobot
08.04.2020, 20:33
должен прилагаться файл ответов
в этом маленьком архиве (http://archive.pdp-11.org.ru/vid/rt54g-sjfb.rar) .ANS только для FB (
Попробую второй слой хламника начать копать, там до сих пор кто то
перестукивается по ночам и фонариками морзянкой играют в шахматы...

- - - Добавлено - - -


Если систему я готовил
да - ты ещё Патрона призывал убрать (Y) )))
обсуждение в том числе в этой теме, но возможно частично размазано по теме поиска и по теме эмулятора...

- - - Добавлено - - -

изначально то скорее всего все эти карты и ответы были, но в процессе формирования дискет они отсеивались...
отсеивались...как то так...

- - - Добавлено - - -


обсуждение в том числе в этой теме
я не помню точно, но ты похоже сознательно 4-ку G генерил на 60 , потому что твоя же
5.7C на 50 (но там и дистрибутив сохранён в лучшем виде).

- - - Добавлено - - -

form, в целом ты прав! Если есть такой мощный VKMON - должен быть и GETMAP какой-то )))

form
08.04.2020, 20:40
да - ты ещё Патрона призывал убрать (Y) )))
Я просто призывал не ломать документацию. В документации совершенно точно сказано что такое (S) в названии системы.
А если так уж хочется показать что есть поддержка Y2K, то это легко сделать другим способом - система-то все-равно патчится :)
Не говоря уже о том, что легким движением руки (одной командой) по файлу ответов генерится система (подправленная под этот самый Y) без него :)

- - - Добавлено - - -


должен быть и GETMAP какой-то
В принципе ничего невозможного в этом нет, но тут уже придется небольшой анализатор кода делать.
Вариантов кода не так уж много в ключевых местах, но все-таки разница есть между разными версиями.
Времени пока не сильно много свободного.

falanger
08.04.2020, 20:41
Коллеги, будьте добры, дайте рецепт как сменить настройку таймера на образе диска от Хобота. Я тут одну схему домашней автоматики начал городить с управлением от УКНЦ и там нужен правильный ход часов.

hobot
08.04.2020, 20:54
Времени пока не сильно много свободного.
да я не настаиваю, я самой идеей такой "пипетки" проникся )))

form
08.04.2020, 21:04
Коллеги, будьте добры, дайте рецепт как сменить настройку таймера на образе диска от Хобота. Я тут одну схему домашней автоматики начал городить с управлением от УКНЦ и там нужен правильный ход часов.
Потребуется редактор кода вроде DESS, PUD итд.
В файле монитора ищем циферки: 061110 005540 064110 022027. Если находятся, то в адрес сразу за словом 22027 записываем 101 (вместо 117), прибавляем к адресу 22 (вроде так), записываем 165400 (вместо 15000).
Если это RT11SJ без поддержки таймера, такого кода не будет - пропускаем.
Далее ищем 177560 177562 177564 177566, шагаем на 2 слова назад от 177560, записываем туда 40 вместо 0. По идее все.

hobot
08.04.2020, 21:08
ЛAТ

RT-11SJ V05.04 G
Date? 08-APR-2020

WD2>DIR .MAP
08-Apr-2020
RT11SJ.MAP 23 17-Mar-2013
1 Files, 23 Blocks
44264 Free blocks

WD2>DIR RT11SJ
08-Apr-2020
RT11SJ.SYS 79P 17-Mar-2013 RT11SJ.MAP 23 17-Mar-2013
2 Files, 102 Blocks
44264 Free blocks

WD2>SYS

RT-11SJ V05.04 G
WD2>VKMON
*RT11SJ
?VKMON-F-Wrong MAP file for SY:RT11SJ.SYS
*
SYSTEM PASCAL [WD2]



всё таки они рядом не случайно - ПКМ по датам совпадают (хотя это ничего не значит возможно),
буду копаться на свежую голову, скорее всего где то сохранился полный состав - самый первый,
от которого потом остался только сам монитор )))

form
08.04.2020, 21:28
хотя это ничего не значит возможно
к сожалению обычный RT-11 не добавляет время в описание файла - это только TSX делает :)
В один день скорее всего собиралось куча систем, а потом тупо был подсунут MAP который подходил для ручной правки, но не совпадал в некоторых мелочах.
Кстати рецепт выше можно проверить по MAP файлу. Адреса первых двух слов которые нужно менять называются GTM.HI и GTM.LO, а последнего - CONFIG :)

- - - Добавлено - - -


RT-11SJ V05.04 G
Название без (S) претендует на прегенеренный вариант (который и обязан быть 60Hz к слову).
Для прегенеренного файл MAP называется по другому (RTSJ.MAP) дабы первый же SYSGEN не затер его :)
Проаерь VKMON RT11SJ,RTSJ

- - - Добавлено - - -

Вот только что-то мне подсказывает, что VKMON не позволяет менять частоту таймера при отсутствии символов GTM.HI и GTM.LO, а прегенеренный вариант как раз такой. Так что руками записать 40 в CONFIG.

hobot
08.04.2020, 22:45
Название без (S) претендует на прегенеренный вариант (который и обязан быть 60Hz к слову).
такой заголовок выдаёт утилитка SYS, на загрузке монитор пишет


ЛAТ
.BOO SY:
Line printer driver,LP V01.00,(C) "Alphaprog",1992
Alphaprog (c) 1993 driver on board...
SL V09.00 (C) Cтopoжeвыx C.B. + ИТO 1989

RT-11SJ V05.04 G Y2K 8BIT
^C
^C
^C
^C

.
.^C

.
SYSTEM PASCAL [WD2]



я попробую

MAP называется по другому
отпишусь в этой теме.

- - - Добавлено - - -


RT-11SJ V05.04 G Y2K 8BIT
да тут триллер с этим монитором )
= примерно дело было так - это пресобранный из дистрю 60 гц обычный монитор, тока немного патченый )))



-1063
.ASSUME . LE 4700
. = 4700
.WORD 123456
BOPTS: .ASCII " Y2K"
.IIF NE EIGH$T .ASCII " 8BIT"
.BYTE 0
-1103,1103
...CMV PART=SUFFIX,TYPE=I
BSTRND: .BYTE 0
-1901
MOVB #200,@#BSTRND
-1902
.PRINT #BOPTS
/



Вот и ответы на все вопросы )))
Ты не собирал, ты автор патчей получается, их там "кучка" )))

form,

Потребуется редактор кода вроде DESS
По хорошему, если там нормально работает ЖД и планируется какая-то разработка с программированием, а не игры - лучше под RT-11 5.7C на УК-НЦ делать, а младшенькие все не мучать, а для игрушек оставить...





rt11sb05.07c

http://www.dimouse.ru/images/ukncdwk/5floppy.png (http://www.dimouse.ru/data/ukncdwk/rt11sb05.07c.rar)http://www.dimouse.ru/images/ukncdwk/nfo.png (http://dimouse.ru/norka/computers/ukncdwk/uknc.html#)
RT-11FB, RT-11SB, набор для работы с винтом, дискетами, MACRO-11 программами, отладкой.
автор патчей: Олег Сафиуллин [form].


Параметры мониторов:

поддержка таймера в SB
поддержка таймера в драйверах
поддержка 64 устройств одним драйвером
50Hz часы (можно командой SET менять)

Дополнительно:

терминал не стрипает 8 бит ни на ввод ни на вывод
PIP при ASCII копировании (команда TYPE) не стрипает 8 бит
добавлен суффикс C к номеру версии

CTRL/O не пересаживал на CTRL/D
K52, MACRO не патчил на предмет 8 бит

Драйверы:

CL: - часы в нижней строке
DD: - DECtape II через C2
LD: - логические диски, поддерживает 16 устройств
LP: - принтер
LS: - принтер через C2
MZ: - упрощенный драйвер дисководов (только 80 дорожек, 2 стороны)
NL: - нуль-устройство
SD: - символьный отладчик
SL: - редактор команд/ввода, DECовский от 5.4G
WD: - драйвер винчестера, поддерживает 64 устройства
XL: - драйвер связи через С2 для VTCOM

falanger
09.04.2020, 12:25
По хорошему, если там нормально работает ЖД и планируется какая-то разработка с программированием, а не игры - лучше под RT-11 5.7C на УК-НЦ делать, а младшенькие все не мучать, а для игрушек оставить...





rt11sb05.07c

http://www.dimouse.ru/images/ukncdwk/5floppy.png (http://www.dimouse.ru/data/ukncdwk/rt11sb05.07c.rar)http://www.dimouse.ru/images/ukncdwk/nfo.png (http://dimouse.ru/norka/computers/ukncdwk/uknc.html#)
RT-11FB, RT-11SB, набор для работы с винтом, дискетами, MACRO-11 программами, отладкой.
автор патчей: Олег Сафиуллин [form].


Параметры мониторов:

поддержка таймера в SB
поддержка таймера в драйверах
поддержка 64 устройств одним драйвером
50Hz часы (можно командой SET менять)

Дополнительно:

терминал не стрипает 8 бит ни на ввод ни на вывод
PIP при ASCII копировании (команда TYPE) не стрипает 8 бит
добавлен суффикс C к номеру версии

CTRL/O не пересаживал на CTRL/D
K52, MACRO не патчил на предмет 8 бит

Драйверы:

CL: - часы в нижней строке
DD: - DECtape II через C2
LD: - логические диски, поддерживает 16 устройств
LP: - принтер
LS: - принтер через C2
MZ: - упрощенный драйвер дисководов (только 80 дорожек, 2 стороны)
NL: - нуль-устройство
SD: - символьный отладчик
SL: - редактор команд/ввода, DECовский от 5.4G
WD: - драйвер винчестера, поддерживает 64 устройства
XL: - драйвер связи через С2 для VTCOM







Есть где образ дискеты с такой системой чтобы загрузить и посмотреть как оно есть в живом виде? Патчи полезные, все. Особенно драйвер WD поддерживающий 64 устройства. Это можно использовать CF 2 Gb полностью.

form
09.04.2020, 12:46
драйвер WD поддерживающий 64 устройства.
Это ограничивает систему версиями 5.6 и 5.7.
В других версиях больше 8 устройств на один драйвер можно поддерживать только переключением.

hobot
09.04.2020, 14:32
form, у меня по началу эти L07 W05 вызвали примерно такую реакцию


confusion
uncertainty
fear
not much time for
humility
understanding
positive




! Apxивный paздeл ЖД ! ЛAТ
b lin
d dess
x mac

0 empty entries

SET SL LET is in effect

LD1 is WD3:WD3A01.DSK[3200.]
LD2 is WD3:WD3A02.DSK[3200.]
LD3 is WD3:WD3A03.DSK[3200.]
LD4 is WD3:WD3A04.DSK[3200.]
LD5 is WD3:WD3A05.DSK[3200.]
LD6 is WD3:WD3A06.DSK[3200.]
LD7 is WD4:PROJEC.DSK[1600.] = DK


RT-11FB (S) V05.07 C

Date? 08-APR-2020

L07>AS WD5 DK

W05>
! Apxивный paздeл ЖД !

falanger
09.04.2020, 15:26
Это ограничивает систему версиями 5.6 и 5.7.
В других версиях больше 8 устройств на один драйвер можно поддерживать только переключением.

Столкнулся с тем что в 5.04G драйвер INS WE, LOAD WE грузится, но команда init WE0: - зависает.

AFZ
09.04.2020, 22:42
к сожалению обычный RT-11 не добавляет время в описание файла - это только TSX делаетА куда TSX это дело добавляет?

form
10.04.2020, 07:12
А куда TSX это дело добавляет?
В поле номера задания/канала при закрытии файла.

AFZ
10.04.2020, 13:33
А как бы сделать Y2k для системы без *.map и прочих дополнительных продуктов генерации. Есть великолепная сборка 5.1 (RT11DS.SYS), многократно проверенная и очень удобная. Главная ее особенность - это то, что она в качестве промпта выдает не точку, а устройство, куда назначен DK.

Я, конечно, знаю, что есть какой-то драйвер, делающий то же самое, но драйвер - это занятая память, в том числе и во время исполнения программ, тогда как эта фенечка нужна только для KMON'а. И вписать ее в KMON, как это сделано в той самой RT11DS - это безусловно правильно. И существенно это именно для RT-11SJ - для ХМ необременительно и драйвер загрузить, а FB, ИМХО, вообще не нужна - если на машинке есть ДП, то ХМ без разговоров, а если нет ДП, то какие на фиг мультипрограммизмы? Нет, когда-то я пользовался FB на Э-60. Вывалил большой листинг в файл, пустил его печататься под FB через QUEUE, а сам правлю исходники для другого проекта. Но это было давно, сейчас никто такого делать не будет. А на машинке без ДП, иной раз, каждый байт на счету...

Так вот, внимание, вопрос: как бы пофиксить эту самую RT11DS на предметY2k? Или RT11CD, была и такая сборка, на УКНЦ. То есть, найти нужные места в файле RT11DS.SYS и втереть чем-нибудь то, что нужно. С "найти" я как-нибудь, надеюсь, справлюсь, а что именно туда втирать?

form
10.04.2020, 13:43
как бы пофиксить эту самую RT11DS на предметY2k?
Начинал писать драйвер который "на лету" патчит RT-11 (включая команду DATE) на предмет Y2K.
При этом сам файл монитора не трогается.
Но пока времени нет завершить.
Будет свободное время - доделаю.

AFZ
10.04.2020, 18:43
Мне бы образец того, что и куда надо втирать (куда - это по тексту соответствующих компонентов системы), а как это втереть в мою любимую систему, надеюсь, соображу. А то я даже нового формата даты не знаю...

hobot
10.04.2020, 19:08
Начинал писать драйвер который "на лету" патчит RT-11 (включая команду DATE) на предмет Y2K.
При этом сам файл монитора не трогается.
Но пока времени нет завершить.
Будет свободное время - доделаю.

он будет под RT-11SJ (S) V5.0 РАБОТАТЬ?
Если это драйвер и на лету, то есть он вносит изменения только в памяти сам файл
монитора не трогает? А можно ли тогда к нему функционал KP.SYS прибавить?



Есть великолепная сборка 5.1 (RT11DS.SYS), многократно проверенная и очень удобная. Главная ее особенность - это то, что она в качестве промпта выдает не точку, а устройство, куда назначен DK.
а в архиве где бы её поглядеть пощупать в текущем варианте???
дискета ваша с квазиком1 оно? )

form
10.04.2020, 19:11
Мне бы образец того, что и куда надо втирать
В принципе ничего сложного.
Что касается формата даты - он остался таким же, добавилось только два старших бита как расширение года.

Места которые нужно подправить в системе это код .SDTTM, .SFDAT (v5.0+) и оверлей команды DATE.
Код .SDTTM (интересный нам) выглядит так:
MOV (R0)+,R1 ;012701
BLE 1$ ;003402
MOV R1,$DATE ;010167 XXXXXX
1$: MOV (R0)+,R1 ;012001
Здесь задача вместо BLE, сравнить явно R1,#-1 и перейти если равно.

Код .SFDAT который нужно править существует в двух вариантах.

RT-11 V05.00-V05.03:
MOV @R1,-(SP) ;011026
BNE 1$ ;001002
MOV $DATE,@SP ;016716 XXXXXX
1$: BIC #140000,@SP ;042716 140000


RT-11 V05.04:
MOV @R1,R2 ;011102
BNE 1$ ;001002
MOV $DATE,R2 ;016702 XXXXXX
1$: BIC #140000,R2 ;042702 140000

В V05.05 и выше код .SFDAT не требует правки. Тут совсем все просто: нужно убрать BIC.

Это что касается RMON.
Попозже отпишусь по KMOVLY - как раз сейчас урывками продумываю алгоритм исправления.

Ну и еще информация "для покопаться".
По адресу 42 в файле монитора лежит адрес KMON (секция RT11) внутри файла.
Если к этому адресу добавить значение, лежащее в файле по адресу 4736, то получится первый свободный адрес внутри секции PATCH$ (секция продолжается до конца блока) куда можно добавлять свой код.
После добавления кода нужно подправить 4736 на размер добавленного кода (в байтах).

Собственно напрашивается вариант исправления .SDTTM: добавить в секцию PATCH$ код:
P$SDTM: MOV (R0)+,R1
CMP #-1,R1
BNE 1$
ADD #4,@SP
1$: RETURN
И заменить MOV и BLE на CALL P$SDTM - расчитать его несложно :)

hobot
10.04.2020, 19:12
AFZ, может возьмётесь драйвер Alex_K (есть исходник MACRO-11) привести к реалиям - убрать не нужный функционал и добавить поддержку дат???

form
10.04.2020, 19:15
он будет под RT-11SJ (S) V5.0 РАБОТАТЬ?
Он будет работать в любой системе начиная с V4.0.
В том числе во всяких рафосах-фодосах.
Постараюсь сегодня допинать драйвер - есть небольшой перерыв в работе.

Как семья уснет, пойду располагаться на кухне с нотебякой :)

AFZ
11.04.2020, 13:37
а в архиве где бы её поглядеть пощупать в текущем варианте???
дискета ваша с квазиком1 оно? )Возможно, не помню. В общем, то, где есть файл RT11DS.SYS, это оно. В частности, диск AZ1: в том комплекте файл-образов для AZ, которые мы распространяем с СуперМаксом.

Да, у нее есть один недостаток - нет команд BACKUP и RESTORE. Там же проблема в KMON'е - нет свободного места в оверлее, а менять оверлейную структуру файла монеитора не все готовы. То есть, одна команда таки решилась - это те, кто сделал RT11QQ, только их модификации слишком уж радикальные. А те, кто сделал RT11DSS, поступили проще - выкинули пару редких и, скажем прямо, маловостребованных команд, и вписали туда свой код.


Попозже отпишусь по KMOVLY - как раз сейчас урывками продумываю алгоритм исправления. А можно глянуть то, что уже сделано? В смысле, вроде-бы ведь есть патчи для каких-то версий RT-11 ?

form
11.04.2020, 13:59
есть патчи для каких-то версий RT-11 ?
Это надо у hopbot смотреть.
У меня все это на живом 11/83 - его откапывать долго.
Посмотрю, может где-то есть копия диска оттуда - я вроде делал как-то.

- - - Добавлено - - -

Вот что нашлось.
Патчи для 5.4G.
Тут для монитора и IND.SAV.
Где-то еще был патч для DIR от V5.3, но на глаза не попался.
Еще есть патчи для TSX+ V6.01 и V6.50 (в нем тоже кое-что забыли), но это другая история :)
EDTGBL.SLP непонятно как туда затесался - это мусор.

11-Apr-2020
Volume ID: PATCH 5.4G
Owner : FORM
RMONFB.SLP 1P 17-Dec-2012 RMONSJ.SLP 1P 17-Dec-2012
KMOVLY.SLP 2 02-Dec-2012 EDTGBL.SLP 1P 17-Dec-2012
IND .SIP 1P 25-Feb-2013
5 Files, 6 Blocks
1580 Free blocks

- - - Добавлено - - -

Вот еще правильный код команды DATE из RT-11 V5.7.
.IF NE DATE$$ ;If DATE command
.SBTTL DATE Command

;+
; "Thirty days hath September, April, June, and November;
; All the rest have thirty-one, excepting February alone,
; And that has twenty-eight days clear
; And twenty-nine in each leap year."
; - Richard Grafton,"Abridgement of the Chronicles of England"
;-
.ENABL LSB

OVCMD DATE

.ADDR #<TMRLST>,R3 ;Point to list
MOV R3,R0 ;Copy pointer to .GTIM area
MOV R3,-(R0) ;Put in address
TST -(R0) ;Point to parameter block
EMT ...GTI ;Do .GTIM EMT
.ADDR #<MONTHS>,R4 ;Point to ASCII month names
MOV @#$SYPTR,R0 ;Point to monitor
TSTB @R5 ;Want to print it?
BEQ 50$ ;Yah
CMPB @R5,#<SPACE> ;In case he left off space
BEQ 10$ ;Ok
INC R5 ;No space, don't lose first digit
10$: CLR R1 ;Clear date accumulator
JSR R3,NUMK ;Get day in R1
.BYTE <0.>, <31.-0.>
SWAB R1 ;Put it in place
ASR R1
ASR R1
ASR R1
INC R5 ;Fix and
MOV R5,R3 ;Save ptr to -MON-YY
20$: ADD #<2000>,R1 ;Bump date to next month
TSTB 1(R4) ;End of list ?
BEQ 120$ ; Drat
MOV R3,R5 ;Point R5 to given -MON-
MOV R4,R2 ;Copy ptr into list
CMP (R4)+,(R4)+ ;Advance for next time
30$: MOVB (R2)+,-(SP) ;Push character from table
BICB #<LOW2UP>,@SP ;Make it uppercase
MOVB -(R5),-(SP) ;Push given character
BICB #<LOW2UP>,@SP ;Make it uppercase
CMPB (SP)+,(SP)+ ;Are they the same?
BNE 20$ ;Branch if not - try next month
40$: CMP R2,R4 ;Done 5?
BLOS 30$ ;Keep trying
CALL YEARK ;Get the year
TSTB @R5 ;End of line?
BNE 120$ ;No, error
.ADDR #<TMRLST>,R0 ;Point to list
MOV #<DTM.NA>,@R0 ;Don't set the time
MOV R1,-(R0) ;Do set the date
MOV R0,SDTM+A.DTTM-<TMRLST-2>(R0) ;Point argument block at list
ADD #<SDTM-<TMRLST-2>>,R0 ;Point to argument block
EMT ...SDT ;Set the date, but not the time
RETURN
............
;+
; Print the date
;-
50$: MOV DATES-$RMON(R0),R2 ;Get date from monitor data base
BEQ 110$ ;If zero, give "No Date" ;147
MOV R2,R1 ;Make a copy of it
BIC #^C<DA.MON>,R1 ;Isolate the month field
ASR R1 ; and right justify it
ASR R1 ; ...
SWAB R1 ; ...
BEQ 120$ ;If zero, invalid month
CMP R1,#12. ;Is it within range?
BGT 120$ ;Nope...
DEC R1 ;Make month range 0-11 (not 1-12)

MOV R2,R0 ;Make another copy
BIC #^C<DA.DAY>,R0 ;Isolate the day
ASL R0 ; and right justify it
ASL R0 ; ...
ASL R0 ; ...
SWAB R0 ; ...
BEQ 120$ ;If zero, invalid day

MOV R2,-(SP) ;Make another (temp) copy
BIC #^C<DA.AGE>,@SP ;Isolate the RT epoch
BIC #^C<DA.YR>,R2 ;Isolate the year
SWAB @SP ;Right justify
ASL @SP ; ...
ASL @SP ; ...
SWAB @SP ; ...
BEQ 70$
60$: ADD #32.,R2 ;Increase by an epoch
70$: DEC @SP
BGT 60$
TST (SP)+ ;Discard count...

ADD R1,R4 ;Add in month offset
MOVB <MONTAB-MONTHS>(R4),-(SP) ;Get the month's length
SUB R1,R4 ;Restore R4...

CMP R1,#1 ;Is this february?
BNE 80$ ;Nope, leave length alone

; ** NOTE ** Leap years are those years divisible by 4, but not
; by 100, unless they are also divisible by 400.
; In the range supported by RT (1972 - 2099), all years
; divisible by 4 are leap years (including 2000)

BIT #^B<11>,R2 ;Is this a leap year?
BNE 80$ ;Nope...
INC @SP ;Yes, bump length
80$: CMPB R0,(SP)+ ;Is the day number valid?
BGT 120$ ;Nope...
CALL R10ONF ;Print the day
ASL R1 ;Shift for month string
ASL R1 ; ...
ADD R1,R4 ;R4 -> month string
MOV #5,R1 ;R1 = Length of string to print
90$: .TTYOU (r4)+ ;Print a month character
SOB R1,90$ ; and loop if more to print...

MOV #19.,R0 ;R0 = First two digits of year
MOV R2,-(SP) ;@SP = Year - 1972
ADD #72.,@SP ;Adjust for RT base year (year - 1900)
CMP @SP,#100. ;Is it into 2000?
BLT 100$ ;Not yet...
INC R0
SUB #100.,@SP ;Yes, so reduce by 100
100$: CALL R10OUT ;Print the first two digits
MOV (SP)+,R0 ;Get the last two digits
CALL R10OUT ; and print them

K0CRLF: OCALLR KCRLF ;Print CR LF and exit
............

;+
;ERROR
110$: KMEROR <No date>,,WARN$ ;Non-fatal
............

120$:
.IF EQ CONT$N
KMEROR <Invalid date> ;Fatal
............

.IFF ;EQ CONT$N
KMEROR <Invalid date>,,WARN$ ;Non-fatal
............

.ENDC ;EQ CONT$N
;-
NUMK: OCALL DECNUM ;Get a number from the command string
MOVB (R3)+,R2 ;Get low limit
SUB R2,@SP ;Decrease number
BLE 120$ ;Too bad, below low limit
MOVB (R3)+,R2 ;Get upper limit
CMP @SP,R2 ;Too big?
BGT 120$ ;Error if so
ADD (SP)+,R1 ;Add it in to date word
RTS R3
............

YEARK: OCALL DECNUM ;Get a number from the command string
CMP @SP,#100. ;Is it a two-digit year?
BLT 130$ ;Yes...
CMP @SP,#1972. ;No, is it a valid year?
BLT 120$ ;Nope...
CMP @SP,#2099. ;Maybe, check upper limit
BGT 120$ ;Nope...
SUB #1900.,@SP ;Reduce for epoch/year determination
130$: SUB #72.,@SP ;Reduce by RT base year
BMI 120$ ;Anything below 1972 is invalid

140$: SUB #32.,@SP ;Deduct an epoch
BMI 150$ ;We've found the correct one...
ADD #^O<40000>,R1 ;Not in this one, try again...
BR 140$

150$: ADD #32.,@SP ;Correct the year
ADD (SP)+,R1 ; and add it in
RETURN
............

.DSABL LSB

.ENDC ;NE DATE$$

falanger
11.04.2020, 15:16
form, не подскажешь как в твоей системе 5.7 получит доступ к разделам WE0-WE7?
Драйвер WE я загружаю, система не ругается. Но при попытке INIT WE0: - процесс зависает. На CF 1 Gb я набил 24 раздела, WD0-WD7 все впорядке. Выше - висит.
И ты не планируешь пропатчть NC чтобы он работал и с WD и другими дисками? Для работы с кучей разделов это бы сильно облегчило жизнь.

form
11.04.2020, 15:22
как в твоей системе 5.7
Я делал 5.7 со своим WD драйвером, других там не надо.
Номера WD0-WD7, W10-W77.
А WE (и не мой WD) в моем 5.7 работать не будут из-за криво оформленного драйвера (там "сэкономлено" одно слово ценой неработоспособности в системах с поддержкой device timeout, а может и еще в каких).

falanger
11.04.2020, 17:10
Я делал 5.7 со своим WD драйвером, других там не надо.
Номера WD0-WD7, W10-W77.
А WE (и не мой WD) в моем 5.7 работать не будут из-за криво оформленного драйвера (там "сэкономлено" одно слово ценой неработоспособности в системах с поддержкой device timeout, а может и еще в каких).

Я вот про этот образ говорю http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/RT1157C_UKNCsoftfixed/ файл WE.SYS на диске лежит
WDX.SAV создал 24 раздела WD0-7, WE0-7, WF0-7. WD0-WD7 доступны, обращение в разделам выше не проходит.
Или это очередное "творчество Хобота" с которым без миелофона не разобраться?

form
11.04.2020, 17:21
WE.SYS на диске лежит
Тогда это не моя система. Я использовал только свой драйвер с расширенными номерами.

falanger
13.04.2020, 14:05
Хобот, к тебе собственно вопрос как собиравшему образ. Как в твоем образе с его набором драйверов и утилит получить доступ к разделам WE0-WE7, WF0-WF0?

form
13.04.2020, 14:58
В своих завалах увидел RT-11 V5.7 с поддержкой 64 устройств с моим драйвером WD внутри.
Здесь (http://pdp-11.online/~form/files/pdp-11/uknc/rt57c_wd.zip).
http://pdp-11.online/~form/files/pdp-11/uknc/uk.jpg

hobot
13.04.2020, 15:28
Я вот про этот образ говорю http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/RT1157C_UKNCsoftfixed/ файл WE.SYS на диске лежит
WDX.SAV создал 24 раздела WD0-7, WE0-7, WF0-7. WD0-WD7 доступны, обращение в разделам выше не проходит.
Или это очередное "творчество Хобота" с которым без миелофона не разобраться?

да это моё творчество, собирал эти дискеты для своей УК-НЦшки и осели попутно в архиве , по умолчанию там стандартный WD и никаких WE.SYS на дискетах по ссылке быть не должно, так , что "не зная броду" - это ваше тов с фланга творчество. Ваша привычка раздавать поручения и вопросы,
перекидывать с больной на здоровую это легендарность. по поводу изначального назначения драйвера WE читать надо тему соответствующую,
тогда и вопросов не будет. (WE.SYS там затисалась на SYSTEM.DSK, но это не отменяет выше написанной рекомендации.

- - - Добавлено - - -


Тогда это не моя система. Я использовал только свой драйвер с расширенными номерами.
твоя 5.7С без всяких изменений лежит на твоём же образе ЖД для UKNCBTL

hobot
13.04.2020, 18:42
WE.SYS там затисалась на SYSTEM.DSK, но это не отменяет выше написанной рекомендации. ага! почитал от автора драйвера комментарии, драйвер я копировал на системный диск по принципу =(что бы было)=, WE/WF драйвера предназначены для второго ЖД загрузки с которого не планируется
(или для доп.разделов???). У меня такой конфигурации в железе нет и не было, попробуйте потренироваться в эмуляторе, очень кратко работа с WE драйвером описана в теме ЖД УК-НЦ (https://zx-pk.ru/threads/12218-vinchester-uknts.html?p=262518&viewfull=1#post262518). Как-то так.

- - - Добавлено - - -

form, у меня по RT-11 вопрос - вот смотри ,
если по SH S - я могу увидеть все подключенные (прописанные, назначенные) LDшки, можно ли как то
увидеть сколько реально WD разделов(!) и MZ ???
Я допустим про свой ЖД и так всё знаю, там 6 разделов от WD0 до WD5
А есть ли возможность получить инфу по правильно размеченному жд, сколько там разделов хотя бы?
Или это в функционале драйвера надо иметь?

- - - Добавлено - - -


увидеть сколько реально WD разделов(!)

по твоему харду тупо прошлёпал руками)))



?DIR-F-Error reading directory

.DIR W31:
?DIR-F-Error reading directory

.DIR W30:
?DIR-F-Error reading directory

.DIR W27:
?DIR-F-Error reading directory

.DIR W26:
?DIR-F-Error reading directory

.DIR W25:
?DIR-F-Error reading directory

.DIR W24:
27-Jun-2009

0 Files, 0 Blocks
5481 Free blocks

.

form
13.04.2020, 18:45
SH S - я могу увидеть все подключенные (прописанные, назначенные) LDшки, можно ли как то
увидеть сколько реально WD разделов(!) и MZ ???
Для LD функционал стандартизован и поддерживается программой RESORC.
Под RTEM так же запускается программа JOAT которая показывает назначения для устройств VS.
Все остальное - личное дело автора драйвера - можно реализовать какой-нибудь SET WD INFO, но к SH S оно само не прицепится - это надо программу RESORC переделывать.

- - - Добавлено - - -

Если ткнешь пальцами в мои исходники WD, посмотрю что можно придумать :)
У меня 11/83 где лежат исходники задвинут за шкаф :)

hobot
13.04.2020, 18:49
form,

можно реализовать какой-нибудь SET WD INFO
я так и думал, см. выше там - руками прощупал твой образ ЖД - последний раздел W24 - только он
уже размер имеет сильно меньший ))) В целом я понял - всё это или отдельную утилиту писать или
встраивать получение инф. по разделам в драйвер. Возможно программа WDXR может что то показать,
ты чем свой ЖД разбивал? Как готовил разделы и опт. размеры?

form
13.04.2020, 18:58
Накопал в аттачах исходники моего WD.
Сейчас приведу в порядок немного и подумаю :)

hobot
13.04.2020, 20:03
Накопал в аттачах исходники моего WD.
Сейчас приведу в порядок немного и подумаю :)

https://zx-pk.ru/threads/12218-vinchester-uknts.html?p=425058&viewfull=1#post425058

На ДВК кстати говоря под всяко разно DW столько софта понаписано и как минимум два варианта контроллеров,
УК-НЦ в этом плане скромняга, но зато IDE ;

rrp
07.10.2020, 10:30
Уважаемые Джентельмены!
Не завалялось ли у кого в архивах или вы знаете, что где-то в Сети лежит пропатченная на предмет Y2K версия RT-11 v4?

BYTEMAN
21.11.2020, 00:12
У меня тут вопросец возник... Реально ли иметь АДОС и Y2K-поддержку? Уж больно нравится мне их коммандер...

BYTEMAN
24.11.2020, 01:00
Я так понимаю, желания пропатчить ADOS и его утилитки для Y2K ни у кого нет?))) Походу, адосный файловый менеджер - самое адекватное что есть для ДВКшки...

SuperMax
24.11.2020, 14:31
Я так понимаю, желания пропатчить ADOS и его утилитки для Y2K ни у кого нет?))) Походу, адосный файловый менеджер - самое адекватное что есть для ДВКшки...
все проще - желание есть но времени нет

form
30.11.2020, 01:47
желания пропатчить ADOS
Я начинал делать драйвер для RT-11 V4+ и производных который превращает систему в y2k-совместимую без какого-либо вмешательства в саму систему, но пока нет времени доделывать :)
Если у кого много свободного времени, могу поделиться теорией процесса :)

AFZ
03.12.2020, 21:17
Это, конечно, интересно, только, ИМХО, общий подход к этому делу сделан не с той стороны. Драйвер - хорошее решение для систем с диспетчером памчти, когда задаче пользователя легко предоставить 56=60, а то и все 64К памяти, даже без использования ХМ-средств в самой задаче. А вот на машинках без диспетчера памяти такое решение - лишний расход той самой памяти. Y2k требует изменений в KMON и в некоторых программах - той же DIR, еще кое-где. А драйвер сидит в памяти всегда... Вон, та же сборка TSX при привычной конфигурации простой RT-11 уже не лезет в память, надо собирать под ХМ в virtual-mode или перестраивать RT-11. (В частности, нехватка памяти для сборки TSX-11+ под эмулятором побеждается простой командой SET USR SWAP. На реальной машинке этого лучше не делать - тот же ДВК собирает TSX минут 15, а при USR SWAP это время вырастет минут до 20-25).

В общем, моё мнение - надо выбрать несколько систем и пропатчить их на уровне исходников, вписав изменения прямо в KMON. Допустим, по какому-то дополнительному параметру генерации. Заодно, вписать туда же изменение системного промпта - вместо точки выдать DDn для DK. Опять же, имеющийся драйвер, который делает это - не лучшее решение. Это дело нужно только KMON'у, а драйвер сидит в памяти всегда. Основной кандидат на такой патч, ИМХО, RT=11 v05.04, дополнительный - RT-11 v05.01. Поясню. RT-11 v05.04 - последняя "нормальная" RT-11, уже с поддержклй 22-разрядного ДП, но еще без явного перекоса в сторону машинок с ДП в ущерб машинкам без него. Действительно: та же 05.07 - отличная система в варианте ХМ, однако в ней даже нет RT-11SJ. Предлагаемая вместо нее однозадачная RT-11SB - ни разу не SJ. Как известно, RT-11FB - многозадачная ОС, способная выполнять одну фоновую задачу и несколько (до восьми, параметр генерации) оперативных задач. Так вот, RT-11SB - это специальный вариант RT-11FB с нулевым числом оперативных задач. В отличие от предельно упрощенной RT-11SJ. Соответственно, и памяти она занимает гораздо больше. Той самой, которой на машинках без ДП всего 56 К. А еще для 05.04 доступен т.наз. "бонусный" дистрибутив, нормально прокомментированный (у обычных дистрибутивов комментарии удалены) и с исходниками большинства программ этой ОС. То есть, их (программы) тоже можно подправить на уровне исходников. Ну, а RT-11 v05.01 - это основная привычная система, которой пользовались у нас в конце 80-х - начале 90-х. Её тоже хотелось-бы полправить на уровне исходников монитора, но можно обойтись и патчем нескольких собранных систем (см. ниже).

И третий момент. Есть АДОС, а также две довольно распространенные сборки RT-11 v05.01 со следами вмешательства наших отечественных программистов. Это RT-11DS (SJ) и RT-11CD (SJ). Первая была моей основной системой с конца 80-х и до окончания эксплуатации ДВК, вторая часто встречается на дискетах УКНЦ. Про вторую я не очень в курсе, а вот первую я погонял и в хвост и в гриву, и уверен: система на редкость безглючная и очень удобная. Единственный ее недостаток - у нее полностью вырезана команда BACKUP. (Да и хрен с ней, магнитных лент на ДВК нет и не предвидится, а если кто-то и соберется бэкапить что-то на дискеты или еще куда-то, прямой вызов программы BUP с соответствующими ключиками никто не отменял).

Естественно, никаких исходников этих систем не найти. Таким образом, есть две или три уже собранных системы без исходников, которые надо бы пропатчить. Это АДОС и одна из RT-11DS или RT-11CD, или обе эти системы. Если их удастся пропатчить, то патчить исходники v05.01 необязательно.

hobot
04.12.2020, 01:05
Если их удастся пропатчить, то патчить исходники v05.01 необязательно.
надо патчить СЭМЗовский RT11SJ (S) V05.00 и RT11QQ - это супер актуальные мониторы для УК-НЦ.
QQ - уже имеет приглашение человеческое, а не "."

form
08.12.2020, 18:57
В общем, моё мнение - надо выбрать несколько систем и пропатчить их на уровне исходников, вписав изменения прямо в KMON.
KMON мало.
Нужно еще в RMON подправить вызовы .SDTTM и .SFDAT.
С RMON все просто, с KMON придется немного повозиться - там команды раскиданы по оверлеям, и навскидку попытка просто добавить нужный код в V5.0 к примеру приведет к выходу за рамки оверлея.
Но в целом решаемо.

AFZ
21.04.2022, 10:22
Я тут подумал и пришел к выводу, что все эти дела, в действительности, никому не нужны. А что действительно нужно - это пропатчить три сгенерированные системы - RT11DS, RT11CD и ADOSSJ. Увы от всех трех систем в наличии только собранные файлы системы: RT11DS.SYS, RT11CD.SYS, ADOSSJ.SYS, и всё! Никаких исходников, никаких мапов, никаких объектных модулей - ничего! Поэтому вопрос: что-нибудь можно сделать, или как? Да, программу DIR.SAV можно просто заменить чем-то посвежее, что-то еще из внешних программ можно будет пропатчить позже или тоже заменить на версии посвежее, но все три ядра системы надо патчить так, как они есть.


form, что скажешь? И вообще, опиши изменения, вносимые патчами, желательно с фрагментами исходников. Чтобы можно было найти нужные места по коду и перетереть их, допустим, DESS-ом.

form
21.04.2022, 10:50
опиши изменения, вносимые патчами, желательно с фрагментами исходников.
В системе пропатчить надо несколько мест: KMON (команда DATE), RMON (вызовы .SDTTM, .SFDAT и код перевода даты если он включен в систему).
Под рукой сейчас нету фрагментов, но их можно посмотреть в исходниках v5.7 и сравнить с v5.6 - они наиболее близки, при сравнении как раз будет видно разницу y2k в данных местах.
Посмотреть же исходный код того от чего нет исходников легко - подойдет скорее всего 5.00 или 5.02.
Я начинал писать драйвер который при загрузке в память патчил бы RMON и отслеживал загрузку KMON, но руки не дошли.
Если кому не лень, идея такая:

фрагменты кода которые отвественны за нужное начиная с версии 4.0 и до самого 5.6 существуют всего в двух-трех вариантах (код .SFDAT не существует для v4 [v5.7 не считаем - его не нужно править]), это относится и к рафосам-фодосам.
код RMON ищется прямо в памяти и оттуда переставляются ссылки в драйвер
начальный блок KMON (нужно будет вычислить номер блока на диске - берется из области каналов после открытия файла) и точка входа DATE в файле монитора ищется анализом файла монитора (начальное смещение можно найти в загрузчике, на память не подскажу)
сам драйвер сохраняет адрес подпрограммы QCOMP (смещение 270 кажется), прописывает туда свой адрес и в момент входа в него (сразу после завершения чтения) проверяет было ли чтение по системному каналу (SYSCH), проверяет был ли прочитан KMON (он всегда читается по начальному номеру блока в файле и читается целиком), и прямо в буфере куда KMON был прочитан (берется из смещения Q$BUFF пакета [на входе если склероз не врет R4 будет содержать адрес xxCQE системного драйвера, оттуда можно взять адрес I/O пакета]), после чего отдать управление системной QCOMP.
проверять чтение нужно именно по использованию SYSCH, а не по индексу устройства чтобы не патчить результат команды COPY например (при этом не нужно проверять индекс устройства - всегда будет SY и тип операции - всегда будет чтение).


Есть еще такое понятие как RMON patch space - это пустое место в конце RMON, его размер где-то в загрузчике хранится - туда можно вписать код для вызова и вызывать его через смещение относительно @#54. Это способ пропатчить прямо сам файл, но беда в том, что размер patch space разный, и он может быть недостаточным чтобы впихнуть в него нужный код.

У меня пока не будет времени заниматься этим. Если найду заготовки к драйверу - выложу.

AFZ
11.09.2022, 05:05
Я начинал писать драйвер который при загрузке в память патчил бы RMON и отслеживал загрузку KMONНапомиаю еще раз: драйвер хорош, когда есть много памяти. А у нас есть три системы SJ, которые даже не FB/SB, а примитивные мониторы, которые даже операцию ввода-вывода останавливают не отработкой всех последовательностей завершения, а банальной командой RESET. И процессоры, на которых им предстоит работать, обычно, БЕЗ диспетчера памяти, а попадаются и машинки с памятью меньшей, чем 28К - допустим, ЦП М2 с одной платой П3 (20К слов), а то и с 16К слов. Недавно консультировал одного коллегу, так он пытался запустить RT11 на Э-60 (ЦП М2) с 8К слов. Да, не то, чтобы осмысленно работать, а просто запустить - тем не менее...

То есть, очень желателен именно двоичный патч, который можно было бы внести даже DESS'ом. Ты же, помнится, при патче даже что-то там оптимизировал, чтобы влезть куда-то (в оверлейный сегмент, кажется). Так вот, здесь задача еще более жесткая - надо влезть в собранную систему, и чтобы она работала. Можно, вероятно, грохнуть какую-либо команду, только вот ненужную команду у RT11 я знаю одну - BACKUP/RESTORE, и ее в моей любимой RT11DS (SJ) уже грохнули.


Есть еще такое понятие как RMON patch space - это пустое место в конце RMON, его размер где-то в загрузчике хранится - туда можно вписать код для вызова и вызывать его через смещение относительно @#54. Это способ пропатчить прямо сам файл, но беда в том, что размер patch space разный, и он может быть недостаточным чтобы впихнуть в него нужный код. А вот это может быть решением - в тех собранных системах это пространство, если его, конечно, не заняли, уже никому не потребуется - единственная доработка, которая требуется этим системам - RT11DS (SJ), RT11CD и ADOSSJ - это Y2k, так, что всё, что там оставили - наше.

form
11.09.2022, 17:43
Напомиаю еще раз: драйвер хорош, когда есть много памяти.
Драйвер поддержки Y2K должен уложиться в несколько слов.
Резидентная часть минимальная, нерезидентная глубоко пофигу лежит она внутри файла монитора или за его пределами.

двоичный патч
Патч поверх системы можно внести если там есть для этого место.
Довольно небольшое, но часто и его нет.


Можно, вероятно, грохнуть какую-либо команду, только вот ненужную команду
Это настолько нифига не даст, что даже рассматривать не стоит. Разве что нужно освободить 3-4 слова, но столько обычно и так найдется.

BlaireCas
12.09.2022, 04:06
А в чем проблема с Y2K? Я какую-то систему заюзал от патрона наверное и она нормально к датам относится. (собственно скрин вон в теме про подключение старого компа к новому монитору). Какие-то вещи факапнулись, но в основном вон все даты точно написаны.
https://zx-pk.ru/threads/34641-rgbdigger-podklyuchaem-starye-kompyutery-k-sovremennym-monitoram-i-tv.html?p=1162592#post1162592

form
12.09.2022, 08:42
А в чем проблема с Y2K?
С Y2K проблем нет, начиная от того, что последняя версия в принципе изначально поддерживает даты до 2099 года без всяких переделок вместе со всеми утилитами, кончая тем, что известно что переделать в любой веросии системы.
Но насколько я понял хочется "именно вот это" уже собранное, исходников нет, карты памяти нет, как на планете щелезяка.

- - - Добавлено - - -


А вот это может быть решением
Самый простой способ (если нет карты памяти) - найти RMON stack.
Секция PATCH$ идет сразу после него и до границы блока.
Стек ищется легко: он забит словами 125252.
На примере RT-11SJ V5.0 из дистрибутива:
BLOCK NUMBER 000046
000/ 000207 125252 125252 125252 125252 125252 125252 125252 *..***************
020/ 125252 125252 125252 125252 125252 125252 125252 125252 ******************
040/ 125252 125252 125252 125252 125252 125252 125252 125252 ******************
060/ 125252 125252 125252 125252 125252 125252 125252 125252 ******************
100/ 125252 125252 125252 125252 125252 125252 125252 125252 ******************
120/ 125252 125252 125252 125252 125252 125252 125252 125252 ******************
140/ 125252 000000 000000 000000 000000 000000 000000 000000 ***..............*
160/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
200/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*

Здесь видно, что секция PATCH$ начинается по смещению 46142, размер 636 (414.) байт.
Проверяем по карте памяти:

PATCH$ 046142 000636 = 207. words (RW,I,LCL,REL,CON)
$RMEND 046142
Все точно.
Вот эти 207 слов мы можем добавить к RMON во время загрузки системы.
По смещению 4736 находится размер в виде $RMEND-KMON, его нужно увеличить на нужное количество байт.

AFZ
17.09.2022, 06:45
Самый простой способ (если нет карты памяти) - найти RMON stack.
Секция PATCH$ идет сразу после него и до границы блока.Заглянул внутрь RT11DS (SJ). Есть, но похуже, начинается со смещения в блоке 304, т.е. всего 158 слов.

Это настолько нифига не даст, что даже рассматривать не стоит. Разве что нужно освободить 3-4 слова, но столько обычно и так найдется.Ну почему же? Можно было бы использовать этот кусок оверлейного сегмента вместо родного. Думаю, подменить вызываемый оверлей не так сложно. О! А нельзя ли из одного оверлея вызвать второй? На том же уровне вложенности, без возврата. Блин, забыл, как это называется...

form
17.09.2022, 10:22
Думаю, подменить вызываемый оверлей не так сложно.
Подменить оверлей вообще без проблем, и менять существующие для этого не обязательно: оверлеи идут последними в образе - добавить еще один в конец несложно - если склероз не врет, в отличие от SAV тут нет ни таблицы оверлеев ни подпрограм переадресации. Есть только вычисляемый ID.
Главное - учесть оверлейные вызовы.
Наиболее простой способ - оставить старый оверлей, а из него вызвать новый - тогда не придется заботиться о вызовах из других оверлеев.
Впрочем можно сначала посмотреть по исходникам есть ли такие вызовы.
Сам оверлей KMON должен уложиться в 2 блока.

AFZ
17.09.2022, 16:43
Заглянул внутрь RT11DS (SJ). Есть, но похуже, начинается со смещения в блоке 304, т.е. всего 158 слов.Заглянул внутрь RT11CD. Чуть лучше - на 17 слов больше. На ту часть, которая в RMON'е 158 слов хватит, или как? Или, хотя бы, 175 ? Не нашел ADOSSJ, ближе к вечеру спрошу у Макса.


Наиболее простой способ - оставить старый оверлей, а из него вызвать новый - тогда не придется заботиться о вызовах из других оверлеев.Ну, если это так легко, то почему же мы до сих пор не сделали все это?


Сам оверлей KMON должен уложиться в 2 блока.Это предельный размер оверлея или что?

form
17.09.2022, 16:55
Ну, если это так легко, то почему же мы до сих пор не сделали все это?
Быть может потому что никому это не нужно? :)


Это предельный размер оверлея или что?
Да.
Код оверлея должен уложиться в этот размер.

AFZ
17.09.2022, 17:51
Быть может потому что никому это не нужно?Ну, например, нужно мне. Та самая RT11DS (SJ) - моя любимая система, под ней я проработал с 99-го и до второй половины 90-х, после чего пришлось забросить PDP-11 из-за невозможности коммерческого применения их в наших широтах и переходить на писюк. Еще было несколько вопрошающих, в основном, искали RT11CD. Ну, и есть в природе любители АДОС.

Да, заглянул в ADOSSJ.SYS, так там лучше всего - в секции PATCH$ аж 249 слов.

Кстати, ты так и не ответил, сколько надо место в RMON'е? 158 слов хватит?

form
17.09.2022, 18:16
Кстати, ты так и не ответил, сколько надо место в RMON'е? 158 слов хватит?
Для RMONовских функций требуется около 6-8 слов - это если тупо добавлять новый код и из старого вызывать..
Для KMON лучше всего найти оверлей в который входит команда DATE, дизассемблировать его и посмотреть на код: возможно вообще все уместится в тот же самый оверлей.
У V5.4 помню правки KMOVLY оставались в пределах того же самого оверлея, у V5.0 так не получалось.

А вообще - не проще ли взять исходники RT-11 которые есть практически для всех версий и править на уровне исходников, а если какие мелочи-самоделки нужны - туда же их и вставить?

Manwe
18.09.2022, 08:18
Для Союз-Неона решить бы эту проблему…

AFZ
18.09.2022, 08:58
А вообще - не проще ли взять исходники RT-11 которые есть практически для всех версий и править на уровне исходников, а если какие мелочи-самоделки нужны - туда же их и вставить?Ну, собственно мне очень хочется, чтобы промптом системы была не точка, а название диска, на который назначен DK. По типу "LD0>". Все остальное, в принципе, не особенно нужно.

И делать это драйвером - ну, только если транзитным, чтобы загружался вместе с КМОНом, а так память не занимал...

Но есть еще АДОС. Это что-то, сделанное в Зеленограде из v05.01, причем весьма навороченное. Там и 8-битовые символы, рассчитанные на VT200, и, пожалуй, лучший ДВК-шный командный процессор, подобный Командиру Нортону, и замечательный Бейсик, и еще много всякого-разного по мелочи. Ему, правда, необходим КЦГД, ну, или терминал, совместимый с КЦГД в алфавитно-цифровом режиме - на простых терминалах, вроде VT52, оно, естественно, гонит на экран кашу. Так, что у меня в дальних задумках стоит создание КСМ+КГД на какой-нибудь ПЛИС, только вместо поганого КСМ на нашем клоне 8080, поставить туда нечто приличное, способное заменить и КСМ, и КЦГД в символьном режиме. И все это с выводом на какой-нибудь VGA-монитор. Но это далеко, а вот сделать Y2k для Адоса хотелось бы сейчас.

- - - Добавлено - - -

Да, а у самого КМОНа какой размер? И оверлеи, как я понимаю, есть только у КМОНа, других же программ, вписанных в файл системы просто нет, не так ли? Там же кроме RMON'а и КМОНа только USR и загрузчик, но они оба - отдельные явления и обслуживаются по-своему, да?

form
18.09.2022, 10:09
Ну, собственно мне очень хочется, чтобы промптом системы была не точка
Это в файле KMON.MAC, можно искать "KDOT:".
Код примерно такой:

2$: MOV PC,R0
CMP (PC)+,(R0)+
.ASCII <PERIOD><200>
.PRINT
SLHOOK: MOV R5,R5
В V5.7 чуть проще смотрится, но код тот же:

20$: MOV PC,R0 ;Point to text to print
CMP (PC)+,(R0)+ ;
.ASCII "."<200> ;
.PRINT ;Print the dot
SLHOOK: MOV R5,R5 ;Hook for SL
Подставить сюда свой код легко. Важно чтобы в итоге подсказку печатал .PRINT после которого идет метка SLHOK - это нужно для правильной работы SL.


Но это далеко, а вот сделать Y2k для Адоса хотелось бы сейчас.
Если выложить его с тем под чем его можно запустить - на досуге гляну что там.
Если есть MAP - вообще отлично.


Да, а у самого КМОНа какой размер?
У корневого сегмента в пределах 17. блоков.


И оверлеи, как я понимаю, есть только у КМОНа, других же программ, вписанных в файл системы просто нет, не так ли?
USR в какой-то мере тоже оверлей. Он также подгружается по мере надобности (во всех вариантах RT-11 и независимо от SET USR [NO]SWAP).


загрузчик
Загрузчик по сути своей обычная оверлейная программа, только стартует как код из блоков 2-5 диска вначале, а уже дальше использует файл монитора. Но во время работы системы он не используется.

AFZ
18.09.2022, 17:09
Подставить сюда свой код легко. Важно чтобы в итоге подсказку печатал .PRINT после которого идет метка SLHOK - это нужно для правильной работы SL.Угу. Только вопрос: а куда его засунуть? Банально увеличить основную часть КМОНа? Или как? И как там оно будет взаимодействовать с SL-ем? От Сторожевых, вестимо, а не со стандартным.


USR в какой-то мере тоже оверлей. Он также подгружается по мере надобности (во всех вариантах RT-11 и независимо от SET USR [NO]SWAP).Тем не менее, он (пере)загружается через свой отдельный механизм, а не через обычную для КМОНа загрузку оверлеев.


Если выложить его с тем под чем его можно запустить - на досуге гляну что там.
Если есть MAP - вообще отлично.Адос? Легко. Он лежит у Макса на его ресурсе (https://forum.maxiol.com/index.php?act=Attach&type=post&id=9372). Запустить проще всего под Патроновским эмулятором. Монтируешь этот файл на любой HDx, редактором из-под другой системы выправляешь АДОСовский стартовый командный файл, чтобы ничего не загружалось и BO HDx.

Естественно, никаких красивостей, вроде RC-командира не будет, но работать должно. Не знаю, как оно там будет с русским, но по-ангельски всё должно быть ОК. А МАПа, конечно-же, нет...

form
18.09.2022, 18:50
Банально увеличить основную часть КМОНа?
Да.
KMON в памяти постоянно не сидит, добавить в него немного слов несложно.


И как там оно будет взаимодействовать с SL-ем?
С ним не нужно взаимодействовать - нужно просто чтобы после .PRINT который печатает подсказку шла (или не шла - в зависимости от ситуации) инструкция MOV R5,R5 - для этого сразу после .PRINT идет метка SLHOK, а как с ней работать система знает.


Он лежит
Гляну.

- - - Добавлено - - -


Запустить проще всего под Патроновским эмулятором.
Там наотрез отказался запускаться.
Запустил в SimH, причем загрузчик там кривой - при попытке аппаратно запустить AZ2 грузится AZ0 :)

form
19.09.2022, 01:17
Попинал слегка ADOS.
На данный момент поправил RMON (.SDTTM, .SFDAT). Поддержки перехода дат в системе нет - не пришлось править.
В KMON подправил вывод даты.
Осталось сделать ввод - как силы будут - допинаю.

sim> B AZ

AZ v1 Boot-I-Cold boot..

AZ (177220) disk driver v1.0 2019
RC A2.30 TPA A6.10
TP A2.00Tpa В.Курсеков & В.Рыжов
(c) zcntu 1990 G. LP V2.16 (iSPOLXZUJTE KOMANDU SET LP INFORM)

АДОС-SJ (S) A06.04
?KMON-F-Файл DK:STARTS.COM не найден

.R DATE
?DATE-I-Time source: KDJ11-E
?DATE-I-Date & time: 18-SEP-2022 23:18:16

.DA
18-Сен-2022

.

- - - Добавлено - - -

Выложил образ диска и SIP файл сюда (https://pdp-11.online/~form/files/pdp-11/ados/).
Полная поддержка Y2K для RMON и KMON.
Ввод даты в стиле V5.7 (год либо 72-99, либо 2000-2099).
Проверок на всякие 31 февраля не добавлял - оставил как было.
Файлы этой гадости хранить не буду - снесу при очередной чистке :)

Так что на всякий случай ниже код .SIP файла.
После применения нужно заново скопировать загрузчик командой COP/BOO.
Он же пригодится как образец для переделок других систем, собранных без поддержки перевода даты в конце суток.

Изменения:
R SIPP
ADOSSJ.SYS/A
0
4736
43032
^Z
44450
240
240
^Z
44656
20127
177777
1402
10167
175372
12001
20127
177777
1406
4767
7112
^Z
54016
166700
174216
5601
166701
174350
207
^Z
62202
4767
1424
240
^Z
62254
1445
240
240
240
240
240
^Z
62274
4767
1242
^Z
62362
1212
^Z
63542
16646
2
6216
316
42716
177637
42766
177740
4
52666
2
42702
140000
207
10046
12700
23
22716
144
101003
5200
162716
144
4767
177116
12600
167
177110
4767
7622
21627
144
2410
21627
3664
2422
21627
4063
3017
162716
3554
162716
110
100412
162716
40
100403
62701
40000
772
62716
40
62601
207
167
176454
^Y
^C

AFZ
19.09.2022, 09:51
Выложил образ диска и SIP файл сюда.
Полная поддержка Y2K для RMON и KMON.О, form, ты крут немерено! Толстое тебе "спасибо"! Снимаю шляпу, и вообще...

А можно тебя попросить? Может, по свежей памяти, проделаешь то же самое для RT11DS (SJ) и RT11CD ? Ты же управился за вечер. И у тебя всё еще свежо в памяти, а мне с этим разбираться месяц, не меньше... Обе системы легко работают под любым эмулятором.

form
19.09.2022, 10:45
Может, по свежей памяти, проделаешь то же самое для RT11DS (SJ) и RT11CD ?
Ткни в них пальцем - гляну.
До вечера похоже все-равно сил работать не будет :)