Абсолютно никаким, просто отдельную тему делать лень было
Вид для печати
Абсолютно никаким, просто отдельную тему делать лень было
Последний набор патчей для 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
.@FILTIM.SIP
.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
.
В этом и была идея - АЛЬФА-СИСТЕМУ (ПО от Alex_K) - а именно драйвера на рельсы Y2K перенести, за кадром остались такие шедевры как фирменный UCL, редактор шрифтов, редактор уровней для LAND, программа выдающая SCAN-коды клавишей и много чего ещё. Практически все программы были и виде исходников и в исполняемом варианте. Оригинальные образы дискет от ALEX_K есть на форуме (в темах софта и игр) и с UKNCBTL шли в одном из ранних архивов, так-же в соответствующих темах, ALEX_K множество исчерпывающих пояснений и описаний к своим программам (по мимо прочих сообщений) уже публиковал - все кому интересно изучайте раздел ДВК\УК-НЦ.Код: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
Особенности\Доп.Информация:
монитор заменён на вот этот > 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:
http://zx.pk.ru/showpost.php?p=584541&postcount=24 - ссылка на патчи
http://zx.pk.ru/showpost.php?p=584946&postcount=31 - ссылка на шпору
Получилось как-то вот так:
http://s3.hostingkartinok.com/upload...46792662e1.png
Как видно у RESORC.SAV изменилась дата ! )
Это означает всё - пропатчил я RESORC ? )
Но (!) после применения патча, начал трапиться на SH CONF
http://s6.hostingkartinok.com/upload...cf3734e0d1.png
пока делаю просто откат на RESORC который работал )
(и даже, возможно был уже патченый?)
Попытка пропатчить 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. Пользователям только польза, а тебе
не слишком же это труда составит? В шапке темы можно будет
ссылку уже на обновлённый архив сделать!
Буду рад любому ответу!
Да! Он по размерам с кристально чистым не совпадает!
Взял сейчас с дистрибутива кристально чистенький - патч проскочил нормально) Единственный момент, надо расширение .SIP явно указывать.
Вот ведь теперь бардак какой ) Надо на всех с RT-11 5.4G образах менять RESORC на этот !!! По крайней мере тех, которые для УК-НЦ,
там EM.SYS не используется ! ) В принципе в шапке есть ссылки и не так уж много выложено, лучше заменить (IND там нет - в моих вариантах системы точно :biggrin:). А последние три образа я пока
на живую машинку не утащил (время не было), так что будем заменять.
Прилеплен RESORC.SAV уже патченый (читайте тему).
У меня тут назрело, попытаюсь неспешно задать конкретные вопросы что бы услышать какие-то рекомендации.
Первый вопрос, по драйверу AC.SYS (AlphaProg),
однажды я захотел использовать его чисто для того, что бы
изменить prompt системный (в принципе так пользуюсь им для этого), но тогда ещё выяснилось что на одном из образов версия которая не пашет (в плане промпта) и версия которая пашет.
Теперь(!) я подружил драйвер с патченой 5.4 и решил в промпт вставить дату - он мне написал 81 - там где год должен быть.
Ту же магическую 81 - долбачат почти все старые шеллы или связанные с отображением дат программы. ИМХО: лучше бы
честно как DIR 5.0 писали бы BAD.
Исходник AC.SYS как-бы есть, но вот незадача (!) во первых он
дату читает вызовом .DATE, а во вторых это исходник того самого
AC который промпт не кажет )
Скрытый текст
Фрагмент исходника AC.MACЦитата:
Сообщение от Alex_K
http://s5.hostingkartinok.com/upload...25197bdb27.pngКод: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
[свернуть]
И такой вопрос\пожелание
пускай и не на уровне исполнения - просто в чём тонкость\трудность
пропатчить на предмет поддержки дат ADOS - в связи с тем что
SuperMax - скажем так систему сберёг и даже выложил
рабочие образы и для КВАНТА и для УК-НЦ, там самая лучшая рабочая среда в плане отечественных наработок для отечественных
PDP. (поддерживается КВАНТ4 и УК-НЦ).
http://forum.maxiol.com/index.php?showtopic=4509
Можно ли всё таки вот эту систему пнут на 2YK+8bit (Сэмзовский монитор - он ведь очень хороший) > http://hobot.pdp-11.ru/ukdwk_archive...Z_rt11sj50.DSK
Можно ли всё таки пнут на 2YK > RS.SYS ???
http://s5.hostingkartinok.com/upload...4a5fa6c252.png
Спасибо!!!
hobot, почему вы так уверены, что это исходник плохого AC? На диске sysimage.dsk версия от 12.09.1994.
Теперь по поводу 81-го года. Когда писалась AC, то о никаких Y2K я даже и не слышал. На год в слове выделялось 5 бит, соответственно от 0 до 31, или с 1972 года по 2003 год. Далее все идет по кругу - 2013 минус 2004 равно 9, плюс 1972, вот вам и 1981 год. .DATE тут ни при чем. Надо менять процедуру обработки вывода даты в AC, использовать для этого еще два дополнительных бита, ну и выводить в четырехзначном формате.
Сейчас перекопировал под другим именем, скомпилировал, слинковал, и получил тот самый AC, который на диске sysimage.dsk.
---------- Post added at 20:58 ---------- Previous post was at 20:52 ----------
Исходники те самые.
Не уверен, что знаете ассемблер, но и самому неохота что-то переделывать. Уже как-то пройден этот этап.
Последний вариант дистрибутива TSX-Plus V6.01 с поддержкой Y2K, максимально приведен к оригиналу.
form, пожалуйста просто уточни, как быть с тем, что уже лежит в хламничке в разделе ДВК? Полностью заменить этим со всем хэлп-текстами и комментариями или рядышком положить? )
form, а монитор RT-11 на Y2k ты в исходниках правил, или как?
AFZ, готовая самая младшая 5.3 на уровне монитора и нескольких утилит, потом 5.4G их два варианта.
Я использую с младшими системами обработчик дат современный и DIR от третий, получается "как-бы" поддержка.
- - - Добавлено - - -
form, пользуясь случаем, что подняли тему, в шапке (первом сообщении) все самые актуальные ссылки на патчи именно по теме,
если при случае пробежишься взглядом - может я пропустил что то дай знать пожалуйста! )
По последней ссылке от уч. MIX обнаружена такой вот DX дискеты образ
Цитата:
RT-11 Utilities and Year 2000 Patches Page
Please read the Read Me file first, then download the utilities, patches and accompanying information from here. 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 for binaries licensed for noncommercial use provided they are only used with the PDP-11 simulator by Robert Supnik).
https://www.eskimo.com/~nickz/dec.html#imagesКод:.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
.
- - - Добавлено - - -
Безусловный ХИТ! ПО с той дискеты, это программа 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 не видать, она тут собранная лежит.
Что то не увидел или ты имеешь в виду, что в принципе у тебя есть?
И ещё хотел уточнить там вот всяческие старшие системы, ценно или пусть там и остаются?
(перетаскивать в архив или не имеет значения >>> например вот это
https://www.eecis.udel.edu/~mader/de...nloadrsts.html
- - - Добавлено - - -
доб.
Цитата:
- 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 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 (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.
Есть source kit RT-11 V5.7. Он есть в архиве в RT11DV50. Там есть исходники родной программы DIR, Y2K она поддерживает.
Там RSTS/E V7, он лежит на родном сайте simh и на bitsavers. Есть также более поздние версии. В принципе хочется все, что найдется в архив утащить, вот только места на диске уже гигов 150 осталось (ну еще 300 можно будет очистить в случае нужды) :)
потерпит, тем более не совсем по теме моего сайта,
тем более ещё ожидается перенос в архиве "некоторых"
материалов (достаточно объёмных) строго по теме.
Ведь наобещали же ! )
- - - Добавлено - - -
В нужных темах есть ссылки, так что кому нужно доберётся и возьмёт )
- - - Добавлено - - -
кстати глючный он. в общем ситуация такая,
я же гоняю последнюю RT-11 на виртуалке и на живой!
И там и там подводит именно DIR v5.09 - которая без
всяких вроде бы причин трапиться или виснит, но чаще
всего на моменте когда каталог уже на экране и надо
вывести последнюю статистику (всего файлов, блоков, свободно)
выпадает в СТОП.
При этом версия 5.8 пока такого не сделала ни разу )))
А программа DIR из версии RT-11 v5.3 - та что патчиная на Y2K
самая наверное стабильная.
http://storage7.static.itmages.ru/i/...be22c9255f.png
Это из личного опыта\наблюдений за последние пару лет.
- - - Добавлено - - -
Да! И конечно речь идёт только об УК-НЦ и его эмуляторе.
Про дискеты и ЖД УК-НЦ соответственно.
- - - Добавлено - - -
Ну какие могут быть объёмы ПО в рамках УК-НЦ\ДВК темы,
конечно максимум пару десятков МЕГАБАЙТ )))
Так анализировать надо трапы. Ни разу еще прога не упала в принципе у меня.
Ну если речь идет о том, чтобы подложить прогу в чужую систему, не от которой она - тут вопрос отдельный. Хотя конкретно для данного случая любая система старше 5.02 должна подойти. Но не проверял. Как-то не приходило в голову ее не в 5.07 использовать :)
Моя прога ведет себя несколько иначе чем оригинал. В то время у меня не было 5.7, и потому я по-своему решил как она будет с датами разбираться (в опциях которые указывают дату). В оригинале можно использовать годы 72-99 и 1972-2099, а в моей проге 00-99 и 1972-2099 (00-71 считается как 2000-2071).
Я наверное не умею ) Пишет обычно трап ту 4 - и циферки, возможно разные возможно одни и те же.
И да я подсовываю эти версии ДИР(5.08,5.09 и 5.03) под все мониторы - поскольку уже не комфортно <BAD> видеть
при выводе каталога в какой-нибудь 5.0 системе.
http://storage4.static.itmages.ru/i/...2333f1fe1b.png
я уже писал, эта версия самая стабильная,Скрытый текст
а 5.08 случайно попалась в комплекте
эмулятора ДВК ) То есть везде до этого 5.09 - чисто визуально, она зачем-то микро паузу
такую берёт перед каждой операцией - когда долго пользуешся это заметным становится,
то есть вот она быстренько вывела каталог по запросу и ключам и "микро-пауза",
финальную информацию по устройству - и вот во время этой "микро-паузы" вполне может
и трапнуться и повиснуть или просто вылететь в @@@СТОП@@@. Но это я понимаю
малонаучный подход. Будем собирать статистику, делать скрины и фиксировать глюки.
Если наберётся за год инфа сделаю тему отдельную ) Для себя я то выхожу из ситуации,
просто для "посторонних" и "вновь прибывших" - это лишний повод сказать про "виснет от каждого чиха"
про УК-НЦ и про нестабильность в целом ПО. В общем легко лечится заменой (откатом) на 5.08 версию,
она так-же всё с датами современными дружит.[свернуть]
Дело не в стабильности - стабильные все в своих системах. Просто в 5.3 DIR точно не использовал всяких вызовов .GF* которых нету в ранних версиях RT-11 (включая ранние v5). Ну и по размеру он поменьше будет, а это тоже часто важно, особенно если в системе куча драйверов от советских умельцев которые понятия не имели о правилах написания таковых :)
В общем же случае правило одно: использовать родные программы от системы.
form, среди прочих материалов опубликованных Хранительницей, нашёлся дистрибутив QQ - монитора.
Особенности этого "гибридного" монитора коротко описаны авторами, многократно обсуждались на форуме
временно я разместил этот образ в разделе УК-НЦ, где позднее будут размещены все
предоставленные Хранительницей образы дискет.
http://archive.pdp-11.org.ru/ukdwk_a..._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_a.../RT11A1_qqfix/
- - - Добавлено - - -
Да! Этот монитор конечно актуален только в рамках темы УК-НЦ и ДВК !!! То есть для отечественных машинок только !!!
Это оверлеи команд, в частности команды DATE.
Ну методика добавки известна - никто не мешает :)
В общем случае, нужно поправить:
- KMON (KMOVLY.MAC) на предмет приема команд с расширенными датами
- RMON (RMON.MAC [5.6 и новее] или RMONSJ/RMONFB.MAC) на предмет обработки переключения даты (sysgen опция date rollover)
- RMON макровызовы .SDTTM и .SFxxx
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 провалилась - после правки оверлеи не влезали в рамки сегмента. Нужно заниматься перераспределением команд по оверлеям.
для меня сложновато, если честно. Дистрибутив QQ-монитора какое-то время по ссылке выше будет
доступен, а позднее все образы Хранительницы я к архиву прилеплю.
У меня на жестком диске стоит RT11SJ 05.02 без Y2K. Если я просто скопирую с дискеты на это винт системные файлы от RT11SJ 05.04 c Y2K, заменив старые, у меня с загрузкой системы не возникнут проблемы?