Просмотр полной версии : Софт для ДВК/PDP11
Поддержка таймера резко увеличивает число команд в обработчике прерываний таймера, а значит - грузить такой монитор через HX на скорости 57600 можно будет только с квитированием.
Можно сделать два файла: RT11SJ и RT11ST.
---------- Post added at 16:00 ---------- Previous post was at 15:50 ----------
Хотя при использовании HX собственно поддержка таймера все равно бесполезна ибо работать нифига не будет :)
Хотя при использовании HX собственно поддержка таймера все равно бесполезна ибо работать нифига не будетHX прерывания не запрещает, поэтому таймаутов не будет только при работе с ним самим.
Насколько я понял - добавить в HX возможность использования прерываний несложно, но всё равно - чтобы HX успешно работал на скорости 57600 без квитирования - нужно, чтобы в обработчике прерывания таймера не запрещались прерывания.
HX прерывания не запрещает, поэтому таймаутов не будет только при работе с ним самим.
А толку с этих прерываний? Программа-то заблокирована напрочь.
---------- Post added at 16:22 ---------- Previous post was at 16:19 ----------
нужно, чтобы в обработчике прерывания таймера не запрещались прерывания.
А может нужно правильно писать обработчики прерываний? :)
Есть четкие рекомендации сколько инструкций может выполнить обработчик на уровне прерывания. Если обработчик в них не вписывается, надо использовать FORK.
Обрабочтк таймера на уровне прерываний очень мало времени проводит и мешаться не должен нигде.
А толку с этих прерываний? Программа-то заблокирована напрочь.Если работа c HX идёт через общий порт с терминалом - программа будет заблокирована и при поддержке в HX прерываний.
Только когда HX работает через свободный порт - поддержка прерываний может иногда дать выгоду.
Но и тогда - работа без квитирования на скорости 57600 будет возможна только при разрешённых прерываниях в обработчике прерывания таймера.
Если работа c HX идёт через общий порт с терминалом - программа будет заблокирована и при поддержке в HX прерываний.
Только когда HX работает через свободный порт - поддержка прерываний может иногда дать выгоду.
Неверно.
Неблокировка программы не обязательно подразумевает ее работу с терминалом. Кроме того в 5.6 и 5.7 даже без переделки системы легко реализуется и работа с терминалом без блокировки (ну или с задержками за счет неудобного протокола).
Но и тогда - работа без квитирования на скорости 57600 будет возможна только при разрешённых прерываниях в обработчике прерывания таймера.
А зачем их запрещать?
А зачем их запрещать?В процессе обработки прерывания таймера в ядре RMON с поддержкой таймера - команда MTPS #0 выполняется довольно далеко от точки входа в обработчик.
Патч для IND, исправление <DATE>.
Теперь SYSGEN под ним можно делать...
Применение:
.UNP IND.SAV
.@IND.SIP
Патч для IND, исправление <DATE>.
Теперь SYSGEN под ним можно делать...
А можно вот эти релизы в той теме про Y2K с опросом делать?
Просто что-бы удобней было собрать потом все нароботки в рамках одной темы,
по форуму искать - затеряются через пару месяцев, я тут кстати что-то вроде
справочника по сообщениям в этом разделе из разных тем (типа закладок) собираю потихоньку, потому-что столько софта и программ раскидано и есть очень полезные авторские комментарии, другой момент что некоторые вещи уже довольно глубоко зарыты, особенно для совсем-совсем вновь прибывших, ну ты и сам понимаешь.
На использовании именно мной созданной темы я не настаиваю, просто подумал,
что так было бы удобней. Для TSX так-же (что бы отдельную не создавать - ведь
это грубо говоря очередной этап развития RT-11) предлагаю в ту же тему постить. В шапке можно будет ссылки с других тем ещё добавлять и обновлять.
Драйвер XL.SYS испытывает проблемы при работе через IP ( а также через пакетные варианты адаптеров USB-COMport ) когда его внутренний буфер не может принять все байты, приходящие в пакете за один раз.
Возможно два решения:
1. Увеличить размер приёмного буфера (необходимый размер зависит от многих факторов - нужно собрать статистику ).
2. Отключать прерывания в приёмном порту при исчерпании буфера (хуже не станет) и снова включать при освобождении буфера - это радикально поможет на портах с квитированием.
---------- Post added at 21:40 ---------- Previous post was at 21:24 ----------
Проблемы также возникают при любом размере буфера, когда оставшееся в нём свободное место недостаточно для размещения данных очередного пакета.
В качестве возможного решения проблемы предлагается вариант драйвера XL.SYS (http://zx.pk.ru/attachment.php?attachmentid=40157) с буфером 512 байт и отправкой Xoff после накопления в буфере 32 байт.
...
Стало гораздо лучше, но при работе "на большие дальности" при малой скорости процессора - всё ещё подглючивает.
Новый вариант драйвера XL.SYS - XL_1024 (http://zx.pk.ru/attachment.php?attachmentid=40159) - с буфером 1024 байта.
Этот вариант мне заставить глючить не удалось.
...
Размышления о том почему при запуске TSX-Plus 6.1 из под RT-11 V5.7 возникают проблемы с KED привели к очевидному выводу: TSX+ копирует номер версии из RT-11 в свой виртуальный RMON, а умный KED от такой радости считает, что ему можно .CLOSZ использовать, а он поддерживается в TSX+ вроде начиная с 6.4 версии. Следующий командный файл позволяет решить проблему. Вообще KED видимо единственная прога в 5.7 которая .CLOSZ использует.
Правда возможно найдутся проги которые дословно требуют версии. Навскидку такая прога - RESORC, но он все-равно бы не работал под TSX.
.TY SY:TSX.COM
D 1000=13700,54,12760,2005,276,104350
ST 1000
SET ERROR NONE
TSX
SET ERROR ERROR
D 1000=13700,54,12760,3405,276,104350
ST 1000
.
Счастье есть!
Внезапно обнаружилось, что у меня DZQ11 заработал.
Можно 4 терминальных линии запользовать под TSX телнет на две сесии и 4 не считая консоли останется.
>ACO SHO
Processor Type: 11/83 Memory Size: 1024. Kw
Options:
Floating Point Processor (FP11)
Extended Instruction Set (EIS)
Extended (22-Bit) Addressing
Cache Memory
Parity Memory
Name Vector CSR Unit Type Remark
DUA 154 172150
0 RA82
1 RA82
2 RA82
3 RA82
MUA 260 174500
0 TU81
LPA 200 177514
YLA 060 177560
YLB 300 176500
YLC 310 176510
YLD 320 176520
YLE 330 176530
YZA 340 160100
>
с буфером 1024 байта
Только одно уточнение ( в общеобразовательном плане), где он берёт (драйвер в смысле) столько места под такой буфер?
у меня DZQ11 заработалЭто ещё не тестированный нами адаптер последовательных портов?
Что при встрече с ним говорит программа PORT.SAV ..
...
Только одно уточнение ( в общеобразовательном плане), где он берёт (драйвер в смысле) столько места под такой буфер?1024 байта это 1К или 2 блока - с таким буфером драйвер XL занимает в памяти столько же места, сколько и SL.SYS
Это ещё не тестированный нами адаптер последовательных портов?
Что при встрече с ним говорит программа PORT.SAV ..
Он не совместим с DL - у него один набор регистров для 4 (бывает 8) линий.
---------- Post added at 14:32 ---------- Previous post was at 14:28 ----------
Так. Подключение угадал. Работает.
Хитро сделано - разъем типа IDC40, кабель втыкать можно любой стороной и все линии попадут правильно, только номера терминалов поменяются :)
Сейчас будем делать заглушку для телнета.
Уф.
Сконфигурил систему.
Теперь поддерживается три телнетных и три локальных терминала.
Можно открыть по два дополнительных окна в каждой сессии.
Для полного счастья не хватает только драйвера MU - оН появился в более поздних версиях, а как портануть RTшный пока до конца не разобрался.
.W
Uptime: 00:01:13
System use: Run=21%, I/O-wait=78%, Swap-wait=0%, Idle=0%
I/O Activity: User I/O=97%, Swapping I/O=0%
Job Line Pri State Size Connect CPU time Program Job name
--- ------ --- ------- ----- --------- -------- ------- ------------
1 1(0) 40 TI 37Kb 00:02:00 00:00:01 KMON ROOT
2 2(0) 40 TI 37Kb 00:02:00 00:00:01 KMON ROOT
4 4(0) 40 TI 37Kb 00:02:00 00:00:01 KMON GUEST
5 5(0) 40 TI 37Kb 00:02:00 00:00:01 KMON GUEST
6 6(0) 40 TI 37Kb 00:01:00 00:00:01 KMON GUEST
7 Det. 50 SL 62Kb 00:02:00 00:00:01 RTELNT TELNET servr
8 Det. 50 SL-Swap 30Kb 00:02:00 00:00:00 WINPRT Window print
9 Det. 50 SL-Lock 62Kb 00:02:00 00:00:05 TCPIP TCP/IP stack
10 Det. 50 IN 62Kb 00:02:00 00:00:01 RTELNT TELNET servr
11 Det. 50 SL 62Kb 00:01:00 00:00:01 RTELNT TELNET servr
15 1(1) 40 TI 37Kb 00:02:00 00:00:00 KMON ROOT
16 1(2) 50 TI 37Kb 00:02:00 00:00:00 KMON ROOT
17 2(1) 40 TI 37Kb 00:02:00 00:00:00 KMON ROOT
18* 2(2) 50 IN 37Kb 00:02:00 00:00:01 KMON ROOT
19 4(1) 40 TI 37Kb 00:02:00 00:00:00 KMON GUEST
20 4(2) 50 TI 37Kb 00:02:00 00:00:00 KMON GUEST
21 5(1) 40 TI 37Kb 00:02:00 00:00:00 KMON GUEST
22 5(2) 50 TI 37Kb 00:01:00 00:00:00 KMON GUEST
23 6(1) 40 TI 37Kb 00:01:00 00:00:00 KMON GUEST
24 6(2) 50 TI 37Kb 00:01:00 00:00:00 KMON GUEST
.SH DEV
Active Handler Handler Handler
Device I/O Status V. base P. base size CSR Vector
------ ------ ------ ------- ------- ------- ------ ------
TT 0 000004
LD 0 102446
CL 0 006057 051734 000000 590
DU 0 102450 101630 000000 944 172150 154
NL 0 000025 120000 075602 58
LP 0 032003 120000 075573 404 177514 200
EQ 47 007061 120000 075503 3566 174440 120
.SH TE
Line Type Vector CSR Terminal Speed Active Line Name
---- ----- ---------- ------ -------- -------- ------ ------------
1 Oper. DL 060 177560 VT200 9600 8N Yes Console
2* Local DL 300 176500 VT200 9600 8N Yes DL unit 0
3 Local DL 310 176510 VT200 9600 8N No DL unit 1
4 Local DL 320 176520 VT200 9600 8N Yes DL unit 3
5 Local DZ - 0 340 160100 VT200 9600 8N Yes DZ unit 0
6 Local DZ - 2 340 160100 VT200 9600 8N Yes DZ unit 2
33 CL DL 330 176530 unknown 9600 8N CL0 CL unit 0
34 CL DZ - 1 340 160100 unknown 9600 8N CL1 CL unit 1
35 CL DZ - 3 340 160100 unknown 9600 8N CL2 CL unit 2
.
Только что ради эксперимента подрубался )
Вроде работает СТАКАН )
http://savepic.ru/4152156.png
Только в XONIX не разрешает играть! )
Только в XONIX не разрешает играть! )
Был один из XONIXов который ипользовал системные вызовы, а н6е регистры - он будет работать. Только надо будет сделать диск с RW доступом - чтобы можно было закачать файлы через VTCOM/TRANSF.
И запускать игровые проги нужно как RUN/SINGLE, иначе при вводе с терминала прога будет переходить в ожидание.
Позже подумаю над этим, сейчас бежать надо.
11/83 оставляю в online - можно заходить.
form, а что конкретно можно с терминала запустить? Что можно делать?
Например я могу в местном паскале "Hello World!" тестовый собрать и запустить какой-нибудь ?
Сейчас сделаю LD0 диск доступный для записи, на нем можно будет.
Только у меня в этой системе ничего почти нету - нужно будет с DU3: запускать.
form, а что конкретно можно с терминала запустить? Что можно делать?
Например я могу в местном паскале "Hello World!" тестовый собрать и запустить какой-нибудь ?
---------- Post added at 14:59 ---------- Previous post was at 14:58 ----------
RUN/SINGLE,
я вот этих нюансов не знаю, есть HELP именно по терминальным командам?
RW - песочница нужна !!! Что бы случайно не навредить, но иметь возможность писать\читать )
Не успеваю. Позже сделаю :)
---------- Post added at 18:08 ---------- Previous post was at 18:04 ----------
Сделал LD0: открытым на запись :)
Кто отдельную тему по СТАКАНу создаст? )
Можно будет устроить конкурс в XONIX на СТАКАНе )
Скрины и прочее в профильной теме обсуждать? (http://pdp-11.org.ru/hecnet.html)
http://savepic.ru/4192111.png
Погонял XL по IP с 11/83.
При низкой скорости процессора глючит даже с приёмным буфером размером в три блока.
Однако, запрещение прерываний ввода при заполнении буфера помогает радикально - даже с небольшим буфером глюки полностью исчезают.
В приложении - SuperXL (http://zx.pk.ru/attachment.php?attachmentid=40171) - версия XL.SYS для портов с квитированием.
...
Кто отдельную тему по СТАКАНу создаст? )
Можно будет устроить конкурс в XONIX на СТАКАНе )
По станану целая страница есть, а вот XONIXа под RSX нету под рукой - надо дизассемблить и конвертить, а у меня все руки не доуйдут хотя бы гада сделать универсальным - чтобы на VT100 работал :)
По станану целая страница есть, а вот XONIXа под RSX нету под рукой
Я помню скрин твой, где в консольный окне ты гонял XONIX из подборки разных, и
там даже кириллица вроде в нижней строке была )
А как мне например залить туда .pas в LD0:
Как в местном редакторе выйти с сохранением текста?
И что за символы в пустом txt отображаются ?
(столько вопросов сразу! Турнир по тетрису из скобочек даже интересней! ) Там же таблица рекордов точно есть ) Или партию в символьный ПОКЕР от ДВКашки ? ) Там правда таблица рекордов строго на SY:
сохраняется, символьные шахматы для любителей, подборку символьных RT-11
игрушек я делал, в архиве есть, Сталкера туда загнать вот будет супер! )
Тогда может быть подтянутся пользователи просто из любопытства
соединиться и игру запустить ? И машинку твою (http://pdp-11.org.ru/hecnet.html) прогреем заодно )
А как мне например залить туда .pas в LD0:
Огромный выбор вариантов, в том числе:
VTCOM+TRANSF
FTP
Как в местном редакторе выйти с сохранением текста?
Также как и в любом другом KED - <GOLD><KP7>, EXIT, <KPEnter>.
Или залить свой редактор который использует системные вызовы, а не лезет к регистрам (что и в RT-11 нормально работать не всегда будет).
И что за символы в пустом txt отображаются ?
Очередной абстрактный вопрос? ;)
Понятия не имею чем ты этот файл создавал.
Тогда может быть подтянутся пользователи просто из любопытства
Я вобщем-то не планирую всегда держать 11/83 включенным, а эмулятор с TSX пока в online у меня нету так как не нашел нормального способа замкнуть терминальный порты сами на себя, а с трансляцией telnet<>serial прблемы - вероятно из-за алгоритма разборок с DTR/DCD в TSX - надо кстати будет сегодня посмотреть что в эмуляторе делается - подозреваю, что тупо включается DCD.
Можно на CTAKAHе запустить "RTE /VS" - там самый обычный RT-11 V5.7, но из гостевой сессии только у одного из параллельно залогиненых усеров будет доступ на запись (или надо отдельный файл персональный явно указывать).
Не вынесла душа... Воткнул второй модуль памяти :)
18.000 MHz
CPU Options: FPA
Memory Map
Starting Ending Size in CSR CSR Bus
Address address K Bytes address type type
00000000 - 07777776 2048 17772100 ECC PMI
10000000 - 17757776 2040 17772102 ECC PMI
I/O page Map
Starting Ending
Address address
17760100 - 17760106
17765000 - 17765776 CPU ROM or EEPROM
17772100 - 17772102 Memory CSR's
17772150 - 17772152
17772200 - 17772276 Supervisor I and D PDR/PAR's
17772300 - 17772376 Kernel I and D PDR/PAR's
17772516 MMR3
17773000 - 17773776 CPU ROM
17774440 - 17774456
17774500 - 17774502
17776500 - 17776536
17777514 - 17777516
17777520 - 17777524 BCSR, PCR, BCR/BDR
17777546 Clock CSR
17777560 - 17777566 Console SLU
17777572 - 17777576 MMR0,1,2
17777600 - 17777676 User I and D PDR/PAR's
17777744 - 17777752 MSER, CCR, MREG, Hit/Miss
17777766 CPU Error
17777772 PIRQ
17777776 PSW
Перевел CF и WF на VM как в RT-11 делал.
.SH ME
Total installed memory = 4088Kb
Size of unmapped TSX and handlers = 36Kb
Size of mapped TSX system regions = 74Kb
Total size of TSX and mapped data = 126Kb
Size of mapped device handlers = 4Kb
Size of sharable run-time systems = 0Kb
Size of data cache buffer area = 52Kb
Space available for user jobs = 1861Kb
Swappable job context area = 6Kb
Current job memory limit = 56Kb
Maximum job memory limit = 64Kb
.DIR VM:
04-Mar-2013
0 Files, 0 Blocks
4042 Free blocks
.
Будем развивать площадку и выставлять в сеть как сейчас по просьбам трудящихся :)
Воткнул второй модуль памяти
Может фотку начинки обновить? Интересно же на родное железо подглядеть )
Может фотку начинки обновить? Интересно же на родное железо подглядеть )
Да чего там обновлять - железо все фотографировал по отдельности, а сама "табуретовка" не сильно отличается от старого :)
Собственно за последние дни только добавил памяти и воткнул мультиплексор - теперь 9 терминальных линий. Из старого вытащил RQDX3 - SCSI хватает, а MFMные винты и шумят и места для них на табуретке мало осталось :)
Петлю вот еще сделал для DLV11-J вместо терминальных проводов на которые надет перекрестный кабель :)
Петля очень удобно делается - обжимается обычный 10-жильный кабель, в одном разъеме переворачивается, после чего отрезаются по два провода с каждого краю.
Несколько слов о TSX-Plus который сейчас доступен по телнету на pdp-11.org.ru. Остановлюсь только на самых интересных моментах...
Ну самое приятное, конечно, это окна. Раньше при переключении между виртуальными линиями (CTRL/W номер) просто можно было наблюдать продолжение сессии с того места где с нее ушел. С окнами полностью восстанавливается экран как он выглядел.
Подсказка настраиваемая. Собственно у меня она как раз настроенная. В оригинале точки выводятся в каждой строке, я сделал привычное через-строчие SET PROMPT "^J." :)
Полезные настройки терминала: SET TT [NO]8BIT - говорит само за себя. SET TT [NO]DEFER - эхо символов только в момент ввода или классическое - как нажал так и эхо. SET TT [NO]GAG - запрет/разрешение приема сообщений в момент работы программ.
SET TT VT52, SET TT VT100, SET TT VT200...
SET TT [NO]LC - весьма чревато для KEDа ;)
SET TT [NO]SINGLE, SET TT [NO]WAIT - для активации ввода одним символом и для возможности выполнения классического .TTINR без ожидания.
.US
Connect=07:28:00 CPU=00:00:14
.W
Uptime: 07:27:44
System use: Run=7%, I/O-wait=92%, Swap-wait=0%, Idle=0%
I/O Activity: User I/O=99%, Swapping I/O=0%
Job Line Pri State Size Connect CPU time Program Job name
--- ------ --- ------- ----- --------- -------- ------- ------------
1 1(0) 50 IN 62Kb 07:28:00 00:54:45 SYSMON ROOT
2* 2(0) 50 IN 37Kb 07:28:00 00:00:15 KMON ROOT
8 Det. 50 SL-Swap 30Kb 07:28:00 00:00:00 WINPRT Window print
9 Det. 50 SL-Lock 62Kb 07:28:00 00:01:59 TCPIP TCP/IP stack
.
.SEND ,1 Hi there
.
02 (ROOT) -- Hi there
.SET CCL TEST
.DIR/PRINT/OCTAL/ORDER:NAME/DAT
_R DIR
LP:DIR=DK:*.*/O/S:NAM/D
^C
.
SET LOG FILE=FILNAM, SET LOG CLOSE, SET LOG [NO]WRITE, SET LOG CLEAN - писать лог терминала в файл, закрыть лог, приостановить/возобновить, очистить без закрытия.
SET CTRLD [NO]DEBUG - разрешить/запретить выпадение в отладчик по CTRL/D (пересборка проги с отладчиком не требуется. Для отладки в программе достаточно расставить BPT - отладчик сам появится.
RUN/DEBUG FILE - выпасть в отладчик перед запуском. Для запуска проги дальше достаточно ;P сделать.
MOU LDX LOGNAM - сразу назначает LOGNAM на LDX. При размонтировании связанные имена сами убираются.
MEMORY KB - ограничить память прогам (прога может специальным вызовом запросить больше в пределах разрешенного)
DISPLAY TEXT, PAUSE COMMENT - полезные фичи для командных файлов.
DEFINE KEY[/OPTS] KEY "STRING"
/[NO]TERMINATE
/[NO]GOLD
/[NO]ECHO
/LETTER определение клаишей для SL. По-моему охватывает все, что можно вообразить...
SET KMON UCI=PROG, SET KMON SYSTEM - подставить свою прогу вместо KMON, вернуть обратно системный.
SET UCL FIRST/MIDDLE/LAST/NONE - порядок отработки команд UCL. До системных; после системных но до DK:FILE.COM, SY:FILE.COM, SY:FILE.SAV; после всего; вообще не отрабатывать.
.TY TEST.MAC
.TITLE TEST
.MCALL .SCCA,.DATE,.PRINT,.EXIT
TEST:: .SCCA #AREA,#FLAG
.PRINT #TEXT
.DATE
.EXIT
AREA: .BLKW 2
FLAG: .BLKW
TEXT: .ASCIZ /Hi there!/
.END TEST
.SET EMT TRACE
.RU TEST
001016 375 035 000 001042 000000 064510 072040 062550
Hi there!
001032 374 012 000 001042 000000 064510 072040 062550
001034 350 016 010 046211 000000 064510 072040 062550
.
---------- Post added at 14:38 ---------- Previous post was at 14:33 ----------
Да, ну и сейчас там полный набор языков - F77, F4+, BASIC-PLUS, PASCAL, MACRO-11 :)
.SEND ,1 Hi there
Код:
.
02 (ROOT) -- Hi there
Вот эту команду не совсем уловил её смысл )
То есть послать сообщение на окно клиента или наоборот я могу отправить
с терминала на главное окно? Или вообще ни то ни то? Чат с оператором главной
машины в реальном времени каким образом возможен?
Вот эту команду не совсем уловил её смысл )
То есть послать сообщение на окно клиента или наоборот я могу отправить
с терминала на главное окно? Или вообще ни то ни то? Чат с оператором главной
машины в реальном времени каким образом возможен?
При наличии привилегии SEND (у GUEST есть) можно послать сообщение кому угодно. После запятой номер линии пишется (показан как Line [цифра без скобочек]):
.W
Uptime: 08:12:03
System use: Run=8%, I/O-wait=91%, Swap-wait=0%, Idle=0%
I/O Activity: User I/O=99%, Swapping I/O=0%
Job Line Pri State Size Connect CPU time Program Job name
--- ------ --- ------- ----- --------- -------- ------- ------------
1 1(0) 50 TI 62Kb 08:13:00 01:00:10 SYSMON ROOT
2* 2(0) 50 IN 37Kb 08:13:00 00:00:36 KMON ROOT
8 Det. 50 SL-Swap 30Kb 08:13:00 00:00:00 WINPRT Window print
9 Det. 50 SL-Lock 62Kb 08:13:00 00:02:22 TCPIP TCP/IP stack
.
После запятой номер линии пишется
Тест? ) Сейчас в сети ?
Тест? ) Сейчас в сети ?
В сети. Кстати на консоль можно командой "OPERATOR" выводить - ей номер линии писать не нужно, но там мониторилка висит и запрещен прием во время выполнения программ :)
Еще 8бит не получается в телнете - видимо сам телнет режет - надо будет потом посмотреть исходники.
Собственно можешь зайти два раза и посылать себе с одной линии на другую - у меня сейчас три телнетных сессии поддерживаются :)
Круто! Что такое line is gagged? Заглушка? Что за заглушка? Линия перекрыта? Вот если бы система была русифицирована как правильно звучалобы?
---------- Post added at 12:19 ---------- Previous post was at 12:17 ----------
Если написать обработчик сообщений резидентный можно текстовую он-лайн игру замутить !!! Надо с этой идеей поразмыслить, есть ведь на ФОРТе готовая база по фразам между прочим и не одна наверное )
Есть даже (попадалась) на русском - авточат или чат с роботом называлась.
---------- Post added at 12:35 ---------- Previous post was at 12:19 ----------
Весело, надо только привыкнуть )
Надо будет попробовать залить на ld0 .pas какой-нибудь простой и собрать его там
---------- Post added at 12:39 ---------- Previous post was at 12:35 ----------
на ФОРТе готовая база по фразам между прочим и не одна наверное )
[form] у тебя есть список вопросов которые тебе надоело по 150 раз отвечать
можно запустить bota.form.FAQ )))
---------- Post added at 12:39 ---------- Previous post was at 12:39 ----------
Да! На постоянной выделенной Line - root разумеется )))
Еще 8бит не получается в телнетеТелнет - это RAW TCP + команды телнет.
RAW TCP - всегда 8 бит, команды телнет 8-битные.
Получается, что 8-й бит обрезает какая-то программа. Может, в используемой терминалке настройка такая.
VT52.exe (http://zx.pk.ru/showthread.php?t=20092) по умолчанию пропускает 8 бит - можно им подключиться и проверить ( можно дополнительное консольное окно создать, чтобы видеть коды принимаемых символов ).
Телнет - это RAW TCP + команды телнет.
RAW TCP - всегда 8 бит, команды телнет 8-битные.
Получается, что 8-й бит обрезает какая-то программа. Может, в используемой терминалке настройка такая.
VT52.exe (http://zx.pk.ru/showthread.php?t=20092) по умолчанию пропускает 8 бит - можно им подключиться и проверить ( можно дополнительное консольное окно создать, чтобы видеть коды принимаемых символов ).
Речь о сервере для TSX-Plus. Если режет то по идее он.
Хотя черт знает - может и клиент не сумел договориться с сервером...
---------- Post added at 16:51 ---------- Previous post was at 16:19 ----------
Вобщем телнетный сервер со стороны CL линии снимает 8bit, а поменять нельзя так как device allocated to job :)
Речь о сервере для TSX-Plus. Если режет то по идее он.А настройка 7/8 бит у него есть?
Или исходники, чтобы посмотреть, что он с байтом в процессе передачи делает.
А настройка 7/8 бит у него есть?
Или исходники, чтобы посмотреть, что он с байтом в процессе передачи делает.
Сам ничего, но он сбрасывает опцию 8BIT с линии CL к которой подключается. Исходники есть - можно поковырять.
---------- Post added at 17:16 ---------- Previous post was at 17:15 ----------
.SH CL
Unit Line Job Options
---- ---- ---- ----------------------------
CL0 33 7 [FORM,TAB,LC,LFOUT,LFIN,CR,CTRL,DTR]
CL1 34 none [FORM,TAB,LC,LFOUT,LFIN,CR,CTRL,DTR]
CL2 35 none [TAB,LC,EIGHTBIT,LFOUT,LFIN,CR,CTRL]
CL3 none none
.
Я всем руками ставил 8, где были телнетные сессии уже нету :)
.DIR
04-Mar-2013
TEST .MAC 1 04-Mar-2013 TEST .OBJ 1 04-Mar-2013
TEST .SAV 2 04-Mar-2013 KOI8 .TXT 1 04-Mar-2013
COPTES.MAC 1 04-Mar-2013 COPTES.OBJ 1 04-Mar-2013
COPTES.SAV 2 04-Mar-2013
7 Files, 9 Blocks
10193 Free blocks
.COPTES
?KMON-F-Unrecognizable command
.RU COPTES
Hi there!
.SH CONF
Active Handler Handler Handler
Device I/O Status V. base P. base size CSR Vector
------ ------ ------ ------- ------- ------- ------ ------
TT 0 000004
LD 0 102446
CL 0 006057 051776 000000 590
DU 0 102450 104640 000000 944
VM 0 102447 106520 000000 384
NL 0 000025 120000 075545 58
LP 0 032003 120000 075536 404
EQ 268 007061 120000 075446 3566
Line Type Vector CSR Terminal Speed Active Line Name
---- ----- ---------- ------ -------- -------- ------ ------------
1 Oper. DL 060 177560 VT200 9600 8N Yes Console
2 Local DL 300 176500 VT200 9600 8N Yes DL unit 0
3 Local DL 310 176510 VT200 9600 8N No DL unit 1
4* Local DL 320 176520 VT200 9600 8N Yes DL unit 2
5 Local DZ - 0 340 160100 VT200 9600 8N No DZ unit 0
6 Local DZ - 2 340 160100 VT200 9600 8N No DZ unit 2
33 CL DL 330 176530 unknown 9600 8N CL0 CL unit 0
34 CL DZ - 1 340 160100 unknown 9600 8N CL1 CL unit 1
35 CL DZ - 3 340 160100 unknown 9600 8N CL2 CL unit 2
.SH MEM
Total installed memory = 4088Kb
Size of unmapped TSX and handlers = 36Kb
Size of mapped TSX system regions = 74Kb
Total size of TSX and mapped data = 126Kb
Size of mapped device handlers = 4Kb
Size of sharable run-time systems = 0Kb
Size of data cache buffer area = 52Kb
Space available for user jobs = 1861Kb
Swappable job context area = 6Kb
Current job memory limit = 56Kb
Maximum job memory limit = 64Kb
.SEND ,2 BYE!
Местный редактор не могу освоить, лучше как-то готовый уже исходник туда подпихнуть? ftp, transf - это надо из RT-11 же? С эмулятора терминала ?
Штука в том что я не знаю где клавиша GOLD у меня физически на ноуте (!) и как сохранить изменения + плюсь он (K52 или KED - какой-то из них) через определённое кол-во строк дальше не принимает текст, что я не так делаю?
А EDIK работать (NYS.SAV) конечно не будет? Куда-то стёрся делся DESS я вчера его запускал, хотя не уверен что я на том-же разделе ковырялся сейчас ) Наверное я все перепутал как обычно ) Вчера софт был на другом DU - это был другой комп ? A VM-ки READ_ONLY ?
---------- Post added at 14:47 ---------- Previous post was at 14:46 ----------
А я ламер ! ) Я знаю ! )
он сбрасывает опцию 8BIT с линии CL к которой подключается. Исходники есть - можно поковырять.Можно из Telnet-сервера сделать TCP-сервер ( выкинув всё, кроме пакетной TCP-передачи байтов данных ) - тогда получится просто IP-вариант обычного DL-порта.
Можно из Telnet-сервера сделать TCP-сервер ( выкинув всё, кроме пакетной TCP-передачи байтов данных ) - тогда получится просто IP-вариант обычного DL-порта.
Ну вобщем-то из PDP-11/83 тоже можно сделать каькулятор, выкинув лишнее :)
Если есть желание подключаться к 11/83 по IP точно так же, как и через DL-порт ( т.е. в режиме RAW TCP ) - то нужен или телнет-сервер, который сам умеет работать в режиме RAW-8bit, или телнет-сервер, который этому научили, выкинув из исходников всё лишнее.
Если есть желание подключаться к 11/83 по IP точно так же, как и через DL-порт ( т.е. в режиме RAW TCP ) - то нужен или телнет-сервер, который сам умеет работать в режиме RAW-8bit, или телнет-сервер, который этому научили, выкинув из исходников всё лишнее.
Так собственно уже выяснили, что сетевая часть абсолютно непричем. Надо всего лишь подправить в исходниках управление CL линией чтобы он не сбрасывал настройку 8BIT, а наоборот выставлял ее.
Так собственно уже выяснили, что сетевая часть абсолютно непричем. Надо всего лишь подправить в исходниках управление CL линией чтобы он не сбрасывал настройку 8BIT, а наоборот выставлял ее.Всё не так просто. Протокол Telnet прозрачен только для 7-битных байтов. При работе с 8-битными байтами в режиме "Telnet" - сервер дублирует каждый отправляемый байт 0377, а каждый принимаемый байт 0377 воспринимает как начало команды и не отдаёт системе.
В режиме же "RAW" - все байты передаются без изменений и принимаются без анализа.
Обеспечение возможности работы сервера Telnet в режиме эмуляции DL-порта требует полного отключения Telnet-протокола и переход в режим RAW TCP.
Всё не так просто. Протокол Telnet прозрачен только для 7-битных байтов.
Там идет согласование и в том числе есть 8bit.
При работе с 8-битными байтами в режиме "telnet" - сервер дублирует каждый отправляемый байт 0377
Ну да, 377 - это IAC.
Обеспечение возможности работы сервера Telnet в режиме эмуляции DL-порта требует полного отключения Telnet-протокола и переход в режим RAW TCP.
Не путай эмуляцию DL по TCP и эмуляцию DL по TCP в твоем эмуляторе :)
Все остальные известные мне умеют телнет :)
---------- Post added at 19:14 ---------- Previous post was at 19:11 ----------
Хотя не, CHARON наверное просто TCP использует - он даже модемы не эмулирует через IP :/
Хе.
Настроил полноценный VT220 где DECовские дистрибы не пишут по два раза подряд одно и то же, а честно рисуют толстые буквы :)
Давно собирался сделать, да все руки не доходили...
Перетащил некоторые полезные подпрограммы (для MACRO программ) из RSX в RT-11. Некоторые из них уже есть в SYSLIB, некоторые есть в ULBLIB из source kit, но многое отсутствует.
Перенесены следующие подпрограммы: $CAT5, $CAT5B, $CBDAT, $CBDMG, $CBDSG, $CBDT4, $CBOMG, $CBOSG, $CBTA, $CBTMG, $CDDMG, $CDTB, $COTB, $CVTUC, $DAT, $DAT4, $DATS, $DDIV, $DIV, $DMUL, $EDMSG, $MUL, $SAVAL, $TIM, .DD2CT, .OD2CT.
Подробное описание подпрограмм можно найти в документации по системной библиотеке RSX. Краткое описание доступно в RSXном хелпе (можно посмотреть на CTAKAHе командой HELP SYSL subname (где submane - имя подпрограммы без знака $). В следующем сообщении также вкратце распишу как все это едят.
Работа с подпрограммами полностью совместима с RSX за двумя исключениями:
Подпрограмма $DATS (перевод даты в ASCII с учетом системного формата) работает как $DAT4 (перевод в формат DD-MMM-YYYY)
В подпрограмме $EDMSG форматная директива %X использует первые 4 слова 5-словного блока имени файла. Формат блока имени аналогичен используемому в директивах RT-11. Если поле имени устройства пустое, выводится только имя файла (и наоборот: если слово после имени устройства пустое - выводится только имя устройства).
UPD. В последние версии библиотеки добавлены также подпрограммы табличного парсера DEC (см. RSX-11 I/O Operations Manual). Также добавлена макробиблиотека с макрокомандами табличного парсера.
Подпрограммы сохранения регистров предназначены для использовании в своих подпрограммах когда нужно сохранить регистры на время их выполнения и восстановить при возврате.
CALL $SAVAL ;СОХРАНЯЕТ ВСЕ РЕГИСТРЫ
JSR R5,$SAVRG ;СОХРАНЯЕТ РЕГИСТРЫ 3-5
JSR R2,$SAVVR ;СОХРАНЯЕТ РЕГИСТРЫ 0-2
JSR R5,.SAVR1 ;СОХРАНЯЕТ РЕГИСТРЫ 1-5
Данные подпрограммы вызываются в начале своей подпрограммы и сохраняют определенные регистры (см выше). Содержимое регистров сохраняется таким же как до сохранения. При возврате из подпрограммы регистры восстанавливается. Бит C не изменяется при восстановлении.
Подпрограммы арифметики выполняют операции умножения и деления без использования команд EIS.
;БЕЗЗНАКОВОЕ УМНОЖЕНИЕ ОДИНАРНОЙ ТОЧНОЧТИ
;
;ВХОД: ВЫХОД:
;R0 - МНОЖИТЕЛЬ R0 - ПРОИЗВЕДЕНИЕ (СТАРШАЯ ЧАСТЬ)
;R1 - МНОЖИМОЕ R1 - ПРОИЗВЕДЕНИЕ (МЛАДШАЯ ЧАСТЬ)
;
CALL $MUL
;БЕЗЗНАКОВОЕ ДЕЛЕНИЕ ОДИНАРНОЙ ТОЧНОЧТИ
;
;ВХОД: ВЫХОД:
;R0 - ДЕЛИМОЕ R0 - ЧАСТНОЕ
;R1 - ДЕЛИТЕЛЬ R1 - ОСТАТОК
;
CALL $DIV
;УМНОЖЕНИЕ ДВОЙНОЙ ТОЧНОСТИ
;
;ВХОД: ВЫХОД:
;R0 - МНОЖИТЕЛЬ R0 - ПРОИЗВЕДЕНИЕ (СТАРШАЯ ЧАСТЬ)
;R2 - МНОЖИМОЕ (СТАРШАЯ ЧАСТЬ) R1 - ПРОИЗВЕДЕНИЕ (МЛАДШАЯ ЧАСТЬ)
;R3 - МНОЖИМОЕ (МЛАДШАЯ ЧАСТЬ)
;
CALL $DMUL
;ДЕЛЕНИЕ ДВОЙНОЙ ТОЧНОСТИ
;
;ВХОД: ВЫХОД:
;R0 - ДЕЛИТЕЛЬ (БЕЗ ЗНАКА) R0 - ОСТАТОК
;R1 - ДЕЛИМОЕ (СТАРШАЯ ЧАСТЬ) R1 - ЧАСТНОЕ (СТАРШАЯ ЧАСТЬ)
;R3 - ДЕЛИМОЕ (МЛАДШАЯ ЧАСТЬ) R2 - ЧАСТНОЕ (МЛАДШАЯ ЧАСТЬ)
;
CALL $DDIV
Подпрограммы преобразования данных позволяют конвертировать данные в текстовый формат и обратно.
;ASCII -> ЧИСЛО ДВОЙНОЙ ТОЧНОСТИ
;ДЕСЯТИЧНОЕ (.DD2CT) ИЛИ ВОСЬМЕРИЧНОЕ (.OD2CT) СО ЗНАКОМ.
;
;ВХОД: ВЫХОД:
;R3 - АДРЕС ДВУХСЛОВНОГО БУФЕРА CC/CS - УСПЕХ/ОШИБКА
;R4 - КОЛИЧЕСТВО СИМВОЛОВ В СТРОКЕ
;R5 - АДРЕС ИСХОДНОЙ СТРОКИ
;
CALL .DD2CT
CALL .OD2CT
;ASCII -> ЧИСЛО ОДИНАРНОЙ ТОЧНОСТИ
;ДЕСЯТИЧНОЕ ($CDTB) ИЛИ ВОСЬМЕРИЧНОЕ ($COTB).
;
;ВХОД: ВЫХОД:
;R0 - АДРЕС СТРОКИ R0 - АДРЕС СЛЕДУЮЩЕГО СИМВОЛА
; R1 - ЧИСЛО
; R2 - СИМВОЛ НА КОТОРОМ ПРЕОБРАЗОВАНИЕ
; ОСТАНОВИЛОСЬ
;
CALL $CDTB
CALL $COTB
;ASCII -> RADIX-50
;1-3 СИМВОЛА БЕЗ ПРОБЕЛОВ ($CAT5) ИЛИ С ПРОБЕЛАМИ ($CAT5B).
;
;ВХОД: ВЫХОД:
;R0 - АДРЕС СТРОКИ R0 - АДРЕС СЛЕДУЮЩЕГО СИМВОЛА
;R1 - ПАРАМЕТРЫ ПРЕОБРАЗОВАНИЯ R1 - ЗНАЧЕНИЕ
; 0 - ТОЧКА = КОНЕЦ R2 - СИМВОЛ НА КОТОРОМ ПРЕОБРАЗОВАНИЕ
; 1 - ТОЧКА = СИМВОЛ ОСТАНОВИЛОСЬ
; CC/CS - УСПЕХ/ОШИБКА
;
CALL $CAT5
CALL $CAT5B
;ЧИСЛО ОДИНАРНОЙ ТОЧНОСТИ -> ASCII
;ДЕСЯТИЧНОЕ ОТ 0 ДО 99 ($CBDAT), ДЕСЯТИЧНОЕ ОТ 0 ДО 9999 ($CBDT4),
;ДЕСЯТИЧНОЕ ($CBDMG), ДЕСЯТИЧНОЕ СО ЗНАКОМ ($CBDSG), ВОСЬМЕРИЧНОЕ ($CBOMG),
;ВОСЬМЕРИЧНОЕ СО ЗНАКОМ ($CBOSG), ВОСЬМЕРИЧНОЕ ОДНОБАЙТОВОЕ ($CBTMG)
;
;ВХОД: ВЫХОД:
;R0 - АДРЕС БУФЕРА R0 - АДРЕС СЛЕДУЮЩЕГО СИМВОЛА
;R1 - ЧИСЛО
;R2 - ПАРАМЕТРЫ ПРЕОБРАЗОВАНИЯ
; 0 - ПОДАВЛЯТЬ НАЧАЛЬНЫЕ НУЛИ
; НЕ 0 - НЕ ПОДАВЛЯТЬ
;
CALL $CBDAT
CALL $CBDT4 ;XX ЕСЛИ R1 < 1900, XXXX ЕСЛИ R1 >= 1900
CALL $CBDMG
CALL $CBDSG
CALL $CBOMG
CALL $CBOSG
CALL $CBTMG
;ЧИСЛО ДВОЙНОЙ ТОЧНОСТИ -> ASCII
;
;ВХОД: ВЫХОД:
;R0 - АДРЕС БУФЕРА R0 - АДРЕС СЛЕДУЮЩЕГО СИМВОЛА
;R1 - АДРЕС ДВУСЛОВНОГО ЧИСЛА
;R2 - ПАРАМЕТРЫ ПРЕОБРАЗОВАНИЯ
; 0 - ПОДАВЛЯТЬ НАЧАЛЬНЫЕ НУЛИ
; НЕ 0 - НЕ ПОДАВЛЯТЬ
;
CALL $CDDMG
;ЧИСЛО ОДИНАРНОЙ ТОЧНОСТИ -> ASCII
;
;ВХОД: ВЫХОД:
;R0 - АДРЕС БУФЕРА R0 - АДРЕС СЛЕДУЮЩЕГО СИМВОЛА
;R1 - ЧИСЛО
;R2 - ПАРАМЕТРЫ ПРЕОБРАЗОВАНИЯ
; БИТЫ 0-7 - ОСНОВАНИЕ (2-10)
; БИТ 8 - ЧИСЛО СО ЗНАКОМ
; БИТ 9 - НЕ ПОДАВЛЯТЬ НУЛИ
; БИТ 10 - ШИРИНА ПОЛЯ (1-31)
;
CALL $CBTA
;ASCII НИЖНИЙ РЕГИСТР -> ВЕРХНИЙ РЕГИСТР
;
;ВХОД: ВЫХОД:
;R0 - АДРЕС ИСХОДНОЙ СТРОКИ R0, R1 - НЕ МЕНЯЮТСЯ
;R1 - АДРЕС БУФЕРА R2 - 0
;R2 - КОЛИЧЕСТВО СИМВОЛОВ
;
CALL $CVTUC
;ДАТА -> ASCII
;DD-MMM-YY ($DAT), DD-MMM-YYYY ($DAT4, $DATS)
;
;ВХОД: ВЫХОД:
;R0 - АДРЕС БУФЕРА R0 - АДРЕС СЛЕДУЮЩЕГО СИМВОЛА
;R1 - АДРЕС ТРЕХСЛОВНОГО МАССИВА
; +00 - ГОД-1900
; +02 - МЕСЯЦ
; +04 - ДЕНЬ
;
CALL $DAT
CALL $DAT4
CALL $DATS
;ВРЕМЯ -> ASCII
;
;ВХОД: ВЫХОД:
;R0 - АДРЕС БУФЕРА R0 - АДРЕС СЛЕДУЮЩЕГО СИМВОЛА
;R1 - АДРЕС ПЯТИСЛОВНОГО МАССИВА
; +00 - ЧАСЫ
; +02 - МИНУТЫ
; +04 - СЕКУНДЫ
; +06 - ТИКИ
; +10 - ТИКОВ В СЕКУНДУ
;R2 - ПАРАМЕТРЫ ПРЕОБРАЗОВАНИЯ
; 1 - HH
; 2 - HH:MM
; 3 - HH:MM:SS
; 4 - HH:MM:SS.S
;
CALL $TIM
Подпрограммы $TIM, $EDMSG, $DAT, $DAT4 и $DATS работают с временем в формате, возвращаемом RSXной директивой GTIM$. Формат описан выше. Для упрощения была добавлена подпрограмма $GTTIM которая на входе получает адрес 8-словного буфера в R1 и заполняет его датой и временем в формате GTIM$.
Подпрограмма форматирования данных $EDMSG упрощает подготовку данных для вывода на экран, принтер или в файл.
;ФОРМАТИРОВАННЫЙ ВЫВОД
;
;ВХОД:
;R0 - АДРЕС БУФЕРА R0 - АДРЕС СЛЕДУЮЩЕГО СИМВОЛА
;R1 - АДРЕС ФОРМАТНОЙ СТРОКИ
;R2 - АДРЕС БЛОКА АРГУМЕНТОВ
;
CALL $EDMSG
Форматная строка состоит из текста и директив форматирования и завершается нулевым байтом. Формат директив: "%nX" где n - количество использования директивы, X - символ директивы. Вместо n можно использовать символ "V" - в этом случае количество берется из очередного слова блока аргументов. Если в директиве указано количество использования, результаты разделяются знаками табуляции (кроме директив %A, %E для которых количество используется как длина строки).
Блок аргументов представляет собой последовательные слова, содержащие аргументы для директив. Не все директивы требуют аргументов.
Директивы работы со строками:
Директива Аргумент Вывод
--------------------------------------------------------------------------------
%A,%nA,$VA адрес символа/строки символ/строка (n - количество
%E,%nE,%VE адрес символа/строки аналогично %A, непечатные символы
заменяются на пробелы
%I адрес ASCIZ строки вставка в форматную строку
Директивы работы с числами:
Директива Аргумент Вывод
-----------------------------------------------------------------------------------
%D,%nD,%VD слово десятичное слово со знаком, без заполнения
нулями
%M,%nM,%VM слово десятичное слово без знака, без заполнения
нулями
%U,%nU,%VU слово десятичное слово без знака, с заполнением
нулями
%B,%nB,%VB адрес байта восьмеричный байт без знака, с заполнением
нулями
%O,%nO,%VO слово восьмеричное слово со знаком, без
заполнения нулями
%P,%nP,%VP слово восьмеричное слово без знака, с заполнением
нулями
%T,%nT,%VT адрес двух слов десятичное число двойной точности
без знака, без заполнения нулями
Другие форматы:
Директива Аргумент Вывод
-----------------------------------------------------------------------------------
%R,%nR,%VR слово в RADIX-50 ASCII строка
%X,%nX,%VX 5-словный блок имени ASCII строка, пробелы удаляются
файла
%Y адрес трех слов вывод даты с использованием $DATS
%1Z адрес 5 слов вывод времени с использованием $TIM, HH
%2Z HH:MM
%3Z HH:MM:SS
%4Z HH:MM:SS.S
Управление:
Директива Аргумент Вывод
------------------------------------------------------------------------------------
%F,%nF,%VF <FF>
%N,%nN,%VN <CR><LF>
%S,%nS,%VS пробел
%n< n пробелов, указатель на буфер не сдвигается
%n> дополняет пробелами до n еслин нужно,
значение n должно совпадать с ранее заданным
в директиве %n<
Программка для считывания KDJ11-B ROM и записи его в файл, сам ROM V8.0 и его тупой дизассемблинг с разбивкой на страницы. Дизассемблинг выполнен с базовым адресом 165000. Для 173000 все точно также (только меняется 165 на 173). Во время выполнения кода ПЗУ используются оба отображения. Значение PCR для каждой страницы написано в начале ее листинга.
101 BASIC Computer Games - Mar75 (http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/_Books/101_BASIC_Computer_Games_Mar75.pdf) ( 25 M ).
101 BASIC Computer Games - Mar75 ( 25 M ).
Странный какой-то формат там. Флэш? Ждал очень долго но загрузилась только первая страница с заголовок и звёздочки(?). Это перечень игр или сами игры на флэше? У меня не открылись проще говоря )
Странный какой-то формат там. Флэш? Ждал очень долго но загрузилась только первая страница с заголовок и звёздочки(?). Это перечень игр или сами игры на флэше? У меня не открылись проще говоря )
Это PDF, но он сканеный и потому большой.
Там сами игры в виде BASIC программ :)
form, а ты можешь файл вытащить оттуда для библиотеки? У меня не открывается только кружочки кружатся и всё, жду до сих пор! )
form, а ты можешь файл вытащить оттуда для библиотеки? У меня не открывается только кружочки кружаться и всё, жду до сих пор! )
У тебя поди одна из последних версий firefox с ее убогим встроенным document viewer :)
---------- Post added at 02:03 ---------- Previous post was at 01:59 ----------
Только переписывать программы вручную придется - документ сохранен распознавалкой и даже не проверялся. Очень трудно найти строчку в которой бы было меньше 10 ошибок :)
У тебя поди одна из последних версий firefox с ее убогим встроенным document viewer
О! Спасибо за подсказку, поправил настройку в браузере сразу загрузил в папку "Загрузок" !
Только переписывать программы вручную придется - документ сохранен распознавалкой и даже не проверялся. Очень трудно найти строчку в которой бы было меньше 10 ошибок
Это фигово ( Но всё равно интересно посмотреть, под какой из бейсиков без переделок и адаптации пойдут?
Это фигово ( Но всё равно интересно посмотреть, под какой из бейсиков без переделок и адаптации пойдут?
По виду - классический BASIC-11, но с небольшими переделками и в BASIC-PLUS должно работать.
---------- Post added at 02:10 ---------- Previous post was at 02:08 ----------
Хотя один листинг вижу - как раз PLUSовский.
Ха! Там даже графика есть )
http://savepic.org/3034464.png
---------- Post added at 23:13 ---------- Previous post was at 23:11 ----------
Залью его в библиотеку в таком виде, а там посмотрим )
Обновленная программа для распознавания терминала.
Теперь в TSX-Plus программа устанавливает правильный режим терминала, а не зависает в вечном ожидании пока .TTINR завершится.
Для сборки программы вручную требуется RSXLIB.OBJ (http://zx.pk.ru/showpost.php?p=583946&postcount=304).
Попробовал откомпилировать тест DHRYSTONE в компиляторе РАФОС Си (http://emulator.pdp-11.org.ru/misc/RAFOS_CC.zip) и с удивлением обнаружил, что всё работает:
.AS HD4 DK
.AS HD4 C
.RU CC
# DHRY -JKZX
.LINK DHRY,SPEIS,CXLIB
.RU DHRY
Dhrystone(1.1) time for 5000 passes = 51
This machine benchmarks at 98 dhrystones/second
.
По виду - классический BASIC-11,
в какой теме ты Бейсики RT-шные выкладывал? Я в то время забил, а надо бы пособирать их в одну папку и к архиву прилепить вместе с такой шикарной книжкой)
в компиляторе РАФОС Си
Спасибо за рабочий образ компилятора, оно возможно и повтор (я не уточнял даже), просто прилепил в раздел ДВК весь архив из сообщения, вот сюда <__ (http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/PATRON_RAFOS_C/)>
Вроде в этой и выкладывал.
Вроде в этой и выкладывал.
буду поиск насиловать )
...V02.03, мелкие косметические правки, опция выбора основания чисел
*[oufile[.LST]=]infile[.SAV][/B:base][/N:count][/O:offset][/R:radix]
/B:base - базовый адрес [0]
/N:count - количество блоков [все]
/O:offset - стартовый блок [0]
/R:radix - основание чисел (OCT, DEC, HEX) [OCT]
В качестве входного и/или выходного файла может быть указано устройство. Если выходной файл не указан, используется терминал.
.DISASM SY:/O:2/N:1
000000 012737 003146 000100 MOV #3146,@#100
000006 005037 000102 CLR @#102
000012 005003 CLR R3
000014 011367 003714 MOV @R3,3734
.DISASM SY:/O:2/N:1/R:DEC
00000 05599 01638 00064 MOV #1638,@#64
00006 02591 00066 CLR @#66
00010 02563 CLR R3
00012 04855 01996 MOV @R3,2012
.DISASM SY:/O:2/N:1/R:HEX
0000 15DF 0666 0040 MOV #666,@#40
0006 0A1F 0042 CLR @#42
000A 0A03 CLR R3
000C 12F7 07CC MOV @R3,7DC
Добавим в копилку немного бесполезного софта ;)
Восьмеричный секундомер на панели индикатора KDJ11-B.
Валялась без дела панель от 11/84, решил приспособить к делу :)
К слову, неплохая тренировка по обжиму разрозненных проводков в IDC разъем. Теперь мне не страшен шлейф на 4 флопа для УКНЦ :)
.TITLE DISP
.MCALL .CMKT,.EXIT,.MRKT
.MCALL .RSUM,.SCCA,.SPND
BDR = 177524 ;РЕГИСТР ИНДИКАТОРОВ
DISP: .SCCA #AREA,#FLAG ;ОТЛАВЛИВАЕМ CTRL/C
10$: CALL CRTN ;РИСУЕМ НОЛЬ И ЗАПУСКАЕМ СЧЕТ
.SPND ;ОСТАНАВЛИВАЕМ ПРОГРАММУ
;СЮДА ПОПАДАЕМ ЕСЛИ ДВА РАЗА НАЖАЛИ CTRL/C
.CMKT #AREA,#CRTN ;ОСТАНАВЛИВАЕМ ТАЙМЕР
MOV #77,@#BDR ;ОЧИЩАЕМ ИНДИКАТОР
.EXIT ;ВЫХОД
CRTN: TST FLAG ;НАЖИМАЛИ CTRL/C ДВА РАЗА?
BNE 10$ ;ДА
MOV LEDS,@#BDR ;ОБНОВЛЯЕМ ИНДИКАТОР
DEC LEDS ;ОБНОВЛЯЕМ ЗНАЧЕНИЕ
BIC #^C77,LEDS ;ОЧИЩАЕМ ЛИШНИЕ БИТЫ
;ВОБЩЕМ-ТО ПРОСТО ТАК
.MRKT #AREA,#TIME,#CRTN,#CRTN ;ЗАПУСКАЕМ ТАЙМЕР
RETURN ;ВОЗВРАТ
10$: .RSUM ;ЗАПУСКАЕМ ПРОГРАММУ
RETURN ;ВОЗВРАТ
TIME: .WORD 0,50. ;ТАЙМАУТ 50 ТИКОВ
LEDS: .WORD 77 ;ЗНАЧЕНИЕ "00" ДЛЯ ИНДИКАТОРА
FLAG: .WORD 0 ;ФЛАГ НАЖАТИЯ CTRL/C
AREA: .BLKW 4 ;ОБЛАСТЬ EMT
.END DISP
Пример использования КОИ-8 шрифтов на VT2xx терминалах.
Для простоты прога использует многотерминальный функционал который заведомо позволяет печатать 8бит символы без правки монитора.
.TITLE VT2XXR
.IDENT /V01.00/
UNIT = 8.
M.TST2 = 2
WPALL$ = 100000
ESC = 33
.MCALL .EXIT,.MTATCH,.MTGET,.MTSET,.MTPRNT
START:: .MTATCH #AREA,#0,#UNIT
.MTGET #AREA,#STAT,#UNIT
MOV STAT+M.TST2,-(SP)
BIS #WPALL$,STAT+M.TST2
.MTSET #AREA,#STAT,#UNIT
.MTPRNT #AREA,#VTLD,#UNIT
MOV #CHRS,R1
MOV #200,R2
CALL PRINT
BIS #40,R2
CALL PRINT
CLR R0
SOB R0,.
MOV (SP)+,STAT+M.TST2
.MTSET #AREA,#STAT,#UNIT
.EXIT
PRINT: MOV R1,-(SP)
10$: TSTB @R1
BEQ 20$
BISB R2,(R1)+
BR 10$
20$: MOV (SP)+,R1
.MTPRNT #AREA,R1,#UNIT
RETURN
AREA: .BLKW 3
STAT: .BLKW 4
CHRS: .ASCIZ /@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/
VTLD: .ASCII <ESC>/[62;0"P/
.ASCII <ESC>/ F/
.ASCII <ESC>/P0;0;1;4;1;1{U/
.ASCII "???????/???????;???}???/???A???;"
.ASCII "?M??M??/???????;g}gg}g?/?B??B??;"
.ASCII "GSS}SS_/?@@B@@?;CIcOGcA/A@??@A@;"
.ASCII "kQQQk?_/@AAAA@A;??GEA??/???????;"
.ASCII "?wCA???/??@A???;???ACw?/???A@??;"
.ASCII "OSwOwSO/?@???@?;OOO{OOO/???@???;"
.ASCII "???????/?CB@???;OOOOOOO/???????;"
.ASCII "???????/??BB???;??_OGCA/A@?????;"
.ASCII "wCAAACw/?@AAA@?;?GC}???/?AABAA?;"
.ASCII "CaaQQQK/BAAAAAA;AAAQYUa/@AAAAA@;"
.ASCII "_ogca}_/?????B?;]IIIIIq/@AAAAA@;"
.ASCII "wcQQQQc/@AAAAA@;AAAaQIE/??B????;"
.ASCII "kQQQQQk/@AAAAA@;KQQQQQ{/?AAAAA@;"
.ASCII "??KK???/??BB???;??KK???/?CB@???;"
.ASCII "O?g?C?A/????@?A;ggggggg/???????;"
.ASCII "A?C?g?O/A?@????;CAAqIIC/???A???;"
.ASCII "w_oGGGo/B?@AAA@;?ggggo?/@AAAA@A;"
.ASCII "_QUYYQa/@AAAAA@;w????w?/@AAA@@E;"
.ASCII "cQQQQQ{/@AAAAA@;ogggggo/@AAAAA?;"
.ASCII "_OOwOO_/?@@B@@?;?gggggO/@AAAAAA;"
.ASCII "G?O_O?G/A?@?@?A;w????w?/@AAA@BA;"
.ASCII "w??C?w?/@AAA@BA;w___OOG/B???@@A;"
.ASCII "??oGGGw/AA@???B;wO___Ow/B??@??B;"
.ASCII "w_____w/B?????B;oGGGGGo/@AAAAA@;"
.ASCII "wOGGGo?/B????BA;Ogggggw/AA@???B;"
.ASCII "wGGGGGo/F@@@@@?;oGGGGGO/@AAAAA@;"
.ASCII "GGGwGGG/???B???;w?????w/CDDDDDB;"
.ASCII "GO_w_OG/A@?B?@A;{QQYSO_/@AAAAA@;"
.ASCII "w_____?/BAAAAA@;w___??w/BAAA@?B;"
.ASCII "OGGgggO/@AAAAA@;w??w??w/BAABAAB;"
.ASCII "OGGgggo/@AAAAA@;w??w??w/BAABAAF;"
.ASCII "w_____w/??????B;GGw___?/??BAAA@;"
.ASCII "}O{AAA{/B?@AAA@;ogcaaa}/B?????B;"
.ASCII "}QQQQQa/BAAAAA@;}????}?/BAAAABE;"
.ASCII "?{AAA}?/EBAAABE;}QQQQQQ/BAAAAAA;"
.ASCII "wCC}CCw/?@@B@@?;}AAAAAA/B??????;"
.ASCII "E?gOg?E/B?????B;}?_OGC}/B@????B;"
.ASCII "}?_RHC}/B@????B;}OOOggE/B?????B;"
.ASCII "oGCAAA}/B?????B;}CGoGC}/B?????B;"
.ASCII "}_____}/B?????B;{AAAAA{/@AAAAA@;"
.ASCII "}AAAAA}/B?????B;KQqQQQ}/A@????B;"
.ASCII "}aaaaa[/B??????;{AAAAAA/@AAAAAA;"
.ASCII "EAA}AAE/???B???;MOOOOO}/@AAAAA@;"
.ASCII "EgO}OgE/B??B??B;}QQQQ[_/BAAAAA@;"
.ASCII "}OOOOO_/BAAAAA@;}OOO_?}/BAAA@?B;"
.ASCII "CAAQQQk/@AAAAA@;}??}??}/BAABAAB;"
.ASCII "AAQQQQ{/AAAAAA@;}??}??}/BAABAAF;"
.ASCII "]OOOOO}/??????B;M}OOOO_/?BAAAA@;"
.ASCII <ESC>"/"
.ASCII <ESC>")U"
.ASCII <ESC>"~"
.BYTE 200
.END START
Весьма уродливая недореализация subj. Подготовка к переходу на новую версию протокола. Пока многое не проверяется что должно бы, о big endian даже не думал еще. Работает и ладно, а окончательный вариант будем допиливать постепенно...
В комплекте программа ETHTIM.SAV с исходниками для RT-11/TSX-Plus и исходники ethtimed для запуска под UNIX-системами (проверялся только в OpenBSD и Ubuntu).
Не нашел где тут прошлая версия валалась. С тех пор изменилось:
параметр HZ передается серверу в рамках протокола
появилась поддержка TSX-Plus
в рамках протокола передается ID системы (необязательно)
полный поиск свободного unit драйвера
pdp-11:~% zgrep ethtim /var/log/daemon.0.gz
Apr 8 11:49:06 pdp-11 ethtimed[11759]: request from 08:00:2b:31:47:b4, 50 Hz, TSX-Plus V6.01
Apr 8 11:49:46 pdp-11 ethtimed[11759]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11ZM (S) V05.07
pdp-11:~%
В новой версии DAY.SAV (http://zx.pk.ru/attachment.php?attachmentid=40883) исправлена (надеюсь) ошибка, приводившая к вылету по Trap_To_4 при запуске на процессорах, не допускающих словного обращения по нечётному адресу.
...
(надеюсь)
Я ссылку на обе версии просто сделаю < ТУТ (http://zx.pk.ru/showthread.php?t=20864) >. У меня пока старенькая пашет и в эмуляторе и в на живой машинке - вроде норм.
У меня пока старенькая пашет и в эмуляторе и в на живой машинке - вроде норм.Там по ошибке в одном месте вместо MOVB выполняется MOV.
Новая версия ( DAY v2.0 ) отличается только исправлением этой ошибки.
Новая версия DAY.SAV v2.1 (http://zx.pk.ru/attachment.php?attachmentid=40962) при запуске переводит терминал во 2-ю систему команд.
...
при запуске переводит терминал во 2-ю систему команд.
А она предварительно убеждается в том, что это в принципе возможно? :)
А она предварительно убеждается в том, что это в принципе возможно?Для этого посылается код 027, который никому не мешает.
Для этого посылается код 027, который никому не мешает.
Это всего лишь предположение, что не мешает, хотя в большинстве случаев не лишенное основания.
Впрочем точно также всего лишь предположение, что можно с помощью <BS> или <CR> вернуться и напечатать другую строчку вместо старой - для многих терминалов это не верно :)
Обновление библиотеки RSXLIB (http://zx.pk.ru/showpost.php?p=583946&postcount=304). Убрана точка (и расширение если есть) при форматировании с помощью $EDMSG спецификации файла в которой отсутствует имя файла. Если в спецификации отсутствует как имя так и устройство, выводится точка.
Mentecовский SL, SLMIN и SLX.
Поддерживают VT52 и VT100, не вводят VT52 в HOLD при включении.
SLMIN наверное в таком варианте MIN можно назвать только условно :)
Обновление программы определения типа терминала.
увеличено количество попыток для TTINR - требуется для терминалов, подключенных через DECserver или через IP
запрещено преобразование LC->UC
исправлены мелкие косяки
TTINQ в трёх эмуляторах: UKNCBTL, Эмулятор "ДВК", EmuStudio в двух режимах. В режиме КСМ+КГД на экран ничего не выводится, вывод идёт на экран УК-НЦ.
На эмуляторе 0585. ХМ-мониторы и Фодос.
Для PC300 в принципе предусмотрен свой ответ, но либо PI драйвер его не поддерживает либо его надо специально включать каким-нибудь SETUP.SAV'ом.
Если есть возможность работы с COM портом, можно попробовать из P/OS подключиться к консоли RT-11 и запустить. Только не помнб есть ли в P/OS изначально софт для этого :)
Небольшая утилитка для вставки в стартовый командный файл RT-11 (пока не в окончательном варианте - для тестов).
Определяет тип терминала и в зависимости от совместимости его с VT52/VT100 правильно выставляет SET SL VT52/VT100 и SET EDIT K52/KED/KEX. В случае если терминал определился как тот или другой, SET SL ON выполняется автоматически.
Прога собирается с RSXLIB (http://zx.pk.ru/showpost.php?p=593926&postcount=331) и требует пропатченого SL (http://zx.pk.ru/showpost.php?p=595485&postcount=332) от DEC или Mentec, собранного с поддержкой VT52 и VT100.
Программка для RSX-11M-PLUS, работающих на KDJ11 процессорах с регистром индикатора (17777524).
Выводит на индикаторе количество активных задач.
Попался тут под руку шрифт для VT2xx терминалов.
Делает большие латинские + большие русские буквы.
Для загрузки шрифта файл vt220r.txt просто распечатывается на терминал.
Образ СМ5508 от ДВК-шки. 23 сектора не прочитались. Установлен Fodos, под симулятором образ не запустился, RT-11dsk.wcx образ открывает.
http://rghost.net/48208686
shattered
18.08.2013, 23:48
Попался тут под руку шрифт для VT2xx терминалов.
Делает большие латинские + большие русские буквы.
Для загрузки шрифта файл vt220r.txt просто распечатывается на терминал.
А вот еще, спасены когда-то из usenet. Возможны дубликаы, проверить не на чем :)
Какой-то из них svofski конвертировал в TTF -- http://asdasd.rpg.fi/~svo/glasstty/
А вот еще, спасены когда-то из usenet. Возможны дубликаы, проверить не на чем :)
В cyrvtfnt.zip программы для VAX/VMS для загрузки шрифтов в VT200/VT300 терминалы и, что в данном случае более полезно - файлы с ESC-последовательностями загрузки шрифтов.
В decfnt.zip исходники программы загрузки на C и командный файл DCL для сборки программы из паскалевских исходников :)
Впрочем главное - шрифты, они опять таки в виде текстовых файлов с ESC-последовательностями.
В vt_fonts.zip командный файл DCL здя загрузки шрифтов и сами шрифты - также - в виде ESC-последовательностей.
Попробовал ради интереса vt200rus.lis (из cyrvtfnt.zip) и vt200k.cod (из vt_fonts.zip). Оба подгружают КОИ8 charset.
shattered
19.08.2013, 22:16
Еще к ним нужна переключалка кодировки при вводе. Та, которую я помню для VMS, реагировала на Ctrl-пробел (null)
shattered
14.09.2013, 21:25
для rt-11 видел (NC.SYS)
Давненько ничего в теме не появлялось...
Обновил набор программ для автоматического получения даты и времени по Ethernet. Клиентская программа пока только под RT-11/TSX-Plus, серверная расчитана на FreeBSD/NetBSD/OpenBSD/Ubuntu, но в принципе можно достаточно легко собрать в любой другой UNIX-системе (а при большом желании и в Windows с CygWin или MinGW) где есть libpcap. При сборке в Ubuntu нужно установить пакеты libpcap-dev и bmake (для сборки использовать команду pmake).
Проверка делалась в последних (на сегодня) версиях UNIXов, в старых может потребоваться небольшой напильник.
Сервер принимает от клиентов запросы с указанием частоты таймера и возвращает пакет с текущей датой и временем в форматах, пригодных для RT-11 и RSX-11. Частота таймера может быть от 1 до 1000. Если частота не равна 50 или 60, а также если год меньше 1972 или больше 2099, в полях для RT-11 передается -1.
В RT-11 перед запуском программы нужно загрузить сетевой драйвер (EQ или NQ для Q-Bus машин, EU или NU для UNIBUS или NC для Professional), В TSX-Plus в конфигурации должен присутствовать драйвер EQ или EU, а для запуска программы требуются привилегии OPER.
Все лежит здесь (http://form.pdp-11.org.ru/~form/files/rt11test/ethtim/).
Запуск сервера:
ethtimed [-dlV] [-i interface]
-d - не отцепляться от терминала, вести лог в stderr
-i interface - слушать на заданном интерфейсе
-l - сообщать в syslog о запросах
-V - печатает номер версии программы и libpcap и выходитДля перечисленных выше систем прилагаются стартовые скрипты.
Запуск клиента:
.R ETM [/ОПЦИИ]
.ETM [/ОПЦИИ]
/O[LD] - выбирает ближайший год между 1972 и 1999 для которого дни недели совпадают
/Q[UIET] - не печатать предупреждения (запуск в RTEM-11, ошибка чтения файла монитора в RT-11, таймаут)
/SH[OW] - показать полученную дату и время (по умолчанию если не указан /SET)
/SE[T] - установить полученную дату и время в системе
/SI[LENT] - синоним /QUIET
Запросы времени от тестовых систем и моего роутера:
?ETM-I-Date & time - 8-JUN-2014 04:14:44
?ETM-I-Time server - 70-71-BC-50-EB-D0, OpenBSD 5.5 amd64
?ETM-I-Date & time - 8-JUN-2014 11:15:10
?ETM-I-Time server - 00-0C-29-79-D1-45, NetBSD 6.1.4 amd64
?ETM-I-Date & time - 8-JUN-2014 04:17:08
?ETM-I-Time server - 00-0C-29-0E-97-0F, FreeBSD 10.0-RELEASE amd64
?ETM-I-Date & time - 7-JUN-2014 14:30:57
?ETM-I-Time server - 00-0C-29-5E-BE-63, Linux 3.13.0-29-generic i686
Лог роутера:
Jun 7 20:19:43 pdp-11 ethtimed[3649]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11SB (S) V05.07
Jun 7 20:49:23 pdp-11 ethtimed[3649]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11FB (S) V05.07
Jun 7 20:22:58 pdp-11 ethtimed[3649]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11XM (S) V05.07
Jun 8 14:36:16 pdp-11 ethtimed[7161]: request from 08:00:2b:31:47:b4, 50 Hz, RT-11ZM (S) V05.07
Jun 7 21:59:10 pdp-11 ethtimed[32033]: request from 08:00:2b:31:47:b4, 50 Hz, TSX-Plus Version 6.1
Jun 9 08:23:23 pdp-11 ethtimed[22540]: request from 08:00:2b:31:47:b4, 50 Hz, TSX-Plus Version 6.50
Решил навести некоторый порядок с IOSCAN, а то расплодилось их разных у меня... Это первый шаг, потом если не лень будет, еще доведу до ума, хотя в большинстве случаев и этого хватит :)
IOSCAN V4.0 - все в одном флаконе: собирается для запуска на голом железе, под RT-11, XXDP, RSX-11M, RSX-11M-PLUS, Micro/RSX и P/OS, а также на ПП УК-НЦ.
В архиве лежит образ диска RT-11 с исходниками и собранными программами.
Содержимое DSK файла:
07-Apr-2015
Volume ID: IOSCAN V4.0
Owner : FORM
IOSCAN.MAC 7 01-Jul-2014 - общая часть программы
IOSPP .MAC 5 03-Jul-2014 - оновная часть для УК-НЦ ПП
IOSRSX.MAC 10 28-Aug-2017 - оновная часть для RSX-11 и P/OS
IOSRT .MAC 6 01-Jul-2014 - основная часть для RT-11
IOSST .MAC 5 01-Jul-2014 - основная часть для чистого железа
IOSXDP.MAC 4 07-Apr-2015 - основная часть для XXDP/XXDP+
IOSCAN.CMD 11 28-Aug-2017 - командный файл IND для сборки
IOSCAN.COM 1 28-Aug-2017 - командный файл для сборки в RT-11 без IND
IOSCAN.BIN 1 28-Aug-2017 - IOSCAN для XXDP/XXDP+
IOSCAN.BOT 2 28-Aug-2017 - IOSCAN для чистого жезела (магнитофонный загрузчик)
IOSCAN.LDA 1 28-Aug-2017 - IOSCAN для записи на перфоленту
IOSCAN.PDP 1 28-Aug-2017 - IOSCAN для чистого железа (грузить с адреса 1000)
IOSCAN.PPU 4 28-Aug-2017 - IOSCAN для запуска на ПП УК-НЦ
IOSCAN.SAV 3 28-Aug-2017 - IOSCAN для RT-11
IOSCAN.TSK 6 28-Aug-2017 - IOSCAN для RSX-11M-PLUS и Micro/RSX версий 3.0 и новее
IOSPOS.TSK 6 28-Aug-2017 - IOSCAN для P/OS V2.0 и новее
16 Files, 73 Blocks
0 Free blocks
Под RT-11 программа не запускается если загружен foreground job или если программа запущена под RTEM-11. Под TSX также не будет запускаться так как он всегда сигналит о загрузке FG job. Под RSX-11 и P/OS программа не запускается если обнаружена хоть одна задача с незавершенным I/O.
Программа, собранная для RSX-11M+ и Micro/RSX свободно переносится между этими системами версии 3.0 и новее.
Программа, собранная для P/OS будет работать в версиях системы 2.0 и новее.
Для RSX-11M программа должна собираться в той системе в которой будет работать.
В RSX-11 при сборке используются файлы LB:[1,1]EXEMC.MLB, LB:[1,54]RSX11M.STB (в RSX-11M), LB:[3,54]RSXVEC.STB (в RSX-11M-PLUS и Micro/RSX). В P/OS используются файлы LB:[1,5]EXEMC.MLB, LB:[1,5]RSXMC.MAC, LB:[1,5]POS.STB. В RSX-11M/M-PLUS данные файлы есть сразу после генерации системы, в Micro/RSX не уверен, возможно они есть в Advanced Programmers Toolkit. В P/OS нужные файлы берутся с дистрибутивной дискеты PRODCL2 из каталога [ZZPRIVDEV], также нужен установленный Pro Toolkit.
>@IOSCAN
>;
>; IOSCAN V4.0 generation program.
>;
>; Running on RSX-11M-PLUS or Micro/RSX system.
>;
>; Building programs:
>; IOSCAN.TSK - IOSCAN for any RSX-11M-PLUS or Micro/RSX system
>;
>MAC @IOSCANASM
>TKB @IOSCANBLD
>PIP IOSCANPRE.MAC;*,IOSCANASM.CMD;*,IOSCANBLD.CMD;*/DE/NM
>PIP IOSCAN.OBJ;*,IOSRSX.OBJ;*/DE/NM
>PIP IOSCAN.TSK/PU
>@ <EOF>
>RUN IOSCAN
160100-160106
160440-160456
165000-165776
172100-172102
172150-172152
172200-172376
172516
173000-173776
174440-174456
174500-174502
176500-176536
177514-177524
177546
177560-177566
177572-177676
177744-177752
177766
177772
177776
>
$ @IOSCAN
$ ;
$ ; IOSCAN 4.0 generation program.
$ ;
$ ; Running on P/OS system.
$ ;
$ ; Building programs:
$ ; IOSCAN.TSK - IOSCAN for this P/OS system only
$ ;
$ MAC @IOSCANASM
$ LIN @IOSCANBLD
$ DEL/NOWAR IOSCANPRE.MAC;*,IOSCANASM.CMD;*,IOSCANBLD.CMD;*
$ DEL/NOWAR IOSCAN.OBJ;*,IOSRSX.OBJ;*
$ PUR/NOWAR IOSCAN.TSK
$ @ <EOF>
$ RUN IOSCAN
160000-167776
172300-172316
172340-172356
172516
173000-173212
173300-173314
173400-173406
173500-173506
173600-173704
174000
174004-174020
174200
174204-174224
174400
174404-174410
174414-174420
174600
177560-177566
177572-177616
177640-177656
177750
177776
$
.IND IOSCAN.CMD
;
; IOSCAN V4.0 generation program.
;
; Running on RT-11 system.
;
; Building programs:
; IOSCAN.BIN - standalone IOSCAN
; IOSCAN.LDA - standalone IOSCAN (absolute loader format)
; IOSCAN.REL - standalone IOSCAN (PRUN format for MC0511)
; IOSCAN.SAV - IOSCAN for RT-11
;
.MAC IOSCAN
.MAC IOSPP
.MAC IOSRT
.MAC IOSST
.LIN/FOR/EXE:IOSCAN IOSPP,IOSCAN
.LIN/EXE:IOSCAN IOSRT,IOSCAN
.LIN/LDA/EXE:IOSCAN IOSST,IOSCAN
.LIN/EXE:IOSCAN.TMP IOSST,IOSCAN
.SPLIT IOSCAN.TMP/B:1 ,IOSCAN.BIN
.DEL/NOQ IOS(CAN,PP,RT,ST).OBJ,IOSCAN.TMP
@ <EOF>
.RU IOSCAN
160100-160106
160440-160456
165000-165776
172100-172102
172150-172152
172200-172376
172516
173000-173776
174440-174456
174500-174502
176500-176536
177514-177524
177546
177560-177566
177572-177676
177744-177752
177766
177772
177776
.
.COP/BOO DU2:RT11SB DU2:
.COP IOSCAN.BIN/FIL DU2:/DEV/STA:2/NOQ
?DUP-W-Output device is larger than input file
.BO DU2:/FO
160100-160106
160440-160456
165000-165776
172100-172102
172150-172152
172200-172376
172516
173000-173776
174440-174456
174500-174502
176500-176536
177514-177524
177546
177560-177566
177572-177676
177744-177752
177766
177772
177776
001062
@
Обновлены файлы IOSCAN V4.0 (http://zx-pk.ru/showpost.php?p=721628&postcount=344) - косметические правки, улучшения командного файла сборки, добавлены файлы для ПП УК-НЦ. Добавлен пример использования IOSCAN.BIN...
---------- Post added at 21:58 ---------- Previous post was at 20:44 ----------
Вдруг пригодится кому...
Изготовление загрузочной ленты IOSCAN в RT-11:
.MAC IOSST
.MAC IOSCAN
.LIN/EXE:IOSCAN.BOT IOSST,IOSCAN
.INI/NOQ/FIL:SY:MBOOT.BOT MU:
.COP IOSCAN.BOT MU:/POS:-1
Files copied:
DK:IOSCAN.BOT to MU:IOSCAN.BOT
.
Testing in progress - Please wait
Memory Size is 4088 K Bytes
9 Step memory test
Step 1 2 3 4 5 6 7 8 9
Message 04 Entering Dialog mode
Commands are Help, Boot, List, Setup, Map and Test.
Type a command then press the RETURN key: B MU
Trying MU0
Starting system from MU0
160100-160106
160440-160456
165000-165776
172100-172102
172150-172152
172200-172376
172516
173000-173776
174440-174456
174500-174502
176500-176536
177514-177524
177546
177560-177566
177572-177676
177744-177752
177766
177772
177776
001062
@
Для MS: в качестве загрузчика нужно использовать файл MBOT16.BOT, для MT: и MU: - MBOOT.BOT.
Утилитка для считывания ROMа KDJ11-B/E в файл...
Использует RSXLIB (http://pdp-11.org.ru/files/rt-11/rsxlib.zip).
Маленькая утилитка для машин с MMU. Если в системе есть драйвер VM, проверяет инициализирован ли он (проверяет тупо home block ничего бльше), если нет, то инициализирует и после всего назначает логические имена CF и WF на VM0. Пзволяет сохранить информацию на VM между перезагрузками разных RT-11/TSX при совпадении базового адреса VM и при том гарантированно назначать CF/WF на раьочий VM.
Сильно не мучил, н вроде работает :)
Вопросы к Гуру ОС на ДВК :
1. Есть ли возможность назначить базовый адрес расширенной памяти ( для многозадачника ) на 1801ВМ3 не на 160000, а, к примеру, на 200000 ( 8 ) ?
2. В многозадачнике имеется только 1 шт. выход на связь с терминалом 177560, или это распределено по многим компонентам в ОС ? ( Например, если терминал не стандартный, много ли там патчить ? )
3. Есть ли какие-либо ссылки на исходники Демоса, или это всё в далеком прошлом ?
Вопросы к Гуру ОС на ДВК :
1. Есть ли возможность назначить базовый адрес расширенной памяти ( для многозадачника ) на 1801ВМ3 не на 160000, а, к примеру, на 200000 ( 8 ) ?
2. В многозадачнике имеется только 1 шт. выход на связь с терминалом 177560, или это распределено по многим компонентам в ОС ? ( Например, если терминал не стандартный, много ли там патчить ? )
3. Есть ли какие-либо ссылки на исходники Демоса, или это всё в далеком прошлом ?
1. есть - как реализовать/настроить - так и будет
2. раза три прочитал - ничего не понял :)
3. у меня только сам демос есть, исходников не видел
CodeMaster
05.09.2014, 08:13
2. раза три прочитал - ничего не понял
Адрес обмена с терминалом задаётся только в одном месте или есть несколько независимых модулей которые используют обмен с терминалом?
Адрес обмена с терминалом задаётся только в одном месте или есть несколько независимых модулей которые используют обмен с терминалом?
Обычно в драйвере терминала.
Загрузчик и/или программа которая выполняет загрузку может отдельно конфигуриться.
В многозадачнике имеется только 1 шт. выход на связь с терминалом 177560, или это распределено по многим компонентам в ОС ?Зависит от ОС.
В RT-11 четыре адреса регистров системного терминала задаются в файле параметров генерации системы:
SYSGEN.CND
SYSG$N = 1 ;Indicate sysgened monitor
RDF$L = 1 ;System I/O error messages
TTYOUT = 40. ;Size of the output buffers
TTYIN = 82. ;Size of the input buffers
U$CL = 1 ;User command linkage
U$TIL = 1 ;Utility commands
L$ANG = 1 ;Language commands
M$INI = 1 ;Minimal commands
CLOCK = 50. ;Power line frequency
STAR$T = 1 ;Startup command file
TKS = 176560 ;
TKB = 176562 ;
TPS = 176564 ;
TPB = 176566 ;
V.TKB = 360 ;
V.TPS = 364 ;
а хранятся (и используются) в двух местах:
1. Резидентный монитор.
RMONSJ.MAC
; START OF RESIDENT MONITOR.
$RMON:: JMP $INTEN ;INTERRUPT ENTRY DISPATCHER
$CSW:: BSS 16.*5 ;CHANNEL STATUS TABLE
SB17 == $CSW+<15.*5*2>+2 ;POINTS TO START BLOCK OF CHANNEL 17
$SYSCH::.WORD 0 ;SYSTEM INTERNAL CHANNEL. WD 1 USED AT $SYS
.WORD 0
.WORD 0
I.SPLS:
I.SERR: .WORD 0 ;USED FOR HARD/SOFT ERRORS
.WORD 0
BLKEY:: .WORD 0 ;DIRECTORY BLOCK NUMBER IN MEMORY
CHKEY:: .WORD 0 ;DEVICE WHOSE DIRECTORY IS IN MEMORY
$DATE:: .WORD 0 ;DATE WORD
DFLG:: .WORD 0 ;DIRECTORY OPERATION IN PROGRESS FLAG
$USRLC::.WORD USRBUF ;POINTER TO DIRECTORY BUFFER
QCOMP:: .WORD COMPLT ;HANDLERS GO HERE TO FINISH UP
SPUSR: .WORD 0 ;SOFTWARE ERROR FLAG
SYUNIT::.WORD 0 ;UNIT THAT SYSTEM WAS BOOTED FROM
...CMV PART=ALL,TYPE=V
SYSVER: .BYTE RT$REL ;srr.vv rr part
SYSUPD: .BYTE RT$VER ;srr.vv vv part
CONFIG::.WORD CLK50 ;SYSTEM CONFIGURATION FLAGS
SCROLL::.WORD 0 ;LINK TO GT40 SCROLLER CODE
TTKS:: .WORD TKS ;CONSOLE IO ADDRESSES
TTKB:: .WORD TKB
TTPS:: .WORD TPS
TTPB:: .WORD TPB
2. Первичный загрузчик ( копия первичного загрузчика есть в каждом драйвере "загружабельного" устройства ):
SYSMAC.MAC
.MACRO .DRBOT NAME,ENTRY,READ,CONTROL=<UBUS,QBUS>,SIDES=1,OFFSET=NO
...V7=-1
.IIF IDN OFFSET,YES,...V7=0
.DREND NAME
.IIF NDF TPS,TPS=:^O177564
.IIF NDF TPB,TPB=:^O177566
.
.
.
.MACRO .DREND NAME,FORCE=0,PSECT,?L1,?L2
REPORT: MOV #BOOTF-NAME'BOOT,R0
MOV #L2-NAME'BOOT,R2
CALL @R2
MOV @R1,R0
CALL @R2
MOV #CRLFLF-NAME'BOOT,R0
CALL @R2
L1: HALT
BR L1
L2: TSTB @#TPS
BPL L2
MOVB (R0)+,@#TPB
BNE L2
RETURN
Только не стоит забывать, что при изменении адресов регистров терминала - как правило изменяются и адреса его векторов, которые также задаются в SYSGEN.CND, а хранятся ( и используются ) во вторичном загрузчике и оверлее KMON:
SYSGEN.CND
SYSG$N = 1 ;Indicate sysgened monitor
RDF$L = 1 ;System I/O error messages
TTYOUT = 40. ;Size of the output buffers
TTYIN = 82. ;Size of the input buffers
U$CL = 1 ;User command linkage
U$TIL = 1 ;Utility commands
L$ANG = 1 ;Language commands
M$INI = 1 ;Minimal commands
CLOCK = 50. ;Power line frequency
STAR$T = 1 ;Startup command file
TKS = 176560 ;
TKB = 176562 ;
TPS = 176564 ;
TPB = 176566 ;
V.TKB = 360 ;
V.TPS = 364 ;
BSTRAP.MAC
VECHI:
.WORD V.TKB!...REL, TTIINT, PR7 ;(?060) Terminal input interrupt
.IF NE BF!MTT$Y
.WORD V.TPS!...REL, TTOINT, PR7 ;(?064) Terminal output interrupt
.IFF
.WORD V.TPS!...REL, TTOINT, PR4 ;(?064) Terminal output interrupt
.ENDC ;NE BF!MTT$Y
KMOVLY.MAC
; THE FOLLOWING 7 WORDS, SCTPS THRU SCPVEC, MUST BE FIRST
; AND THEIR ORDER SHOULD NOT BE CHANGED.
SCTPS: .WORD 0 ;SET TO 100 TO INDICATE CHAR. READY
SCTPB: .WORD 0 ;OUTPUT CHAR. FROM TTOINT IN RMON
SCMAX: .WORD 0 ;MAX. LINES OF SCROLLING
SCLINK: DJMP ;SCROLLER LINK FILE FOR USER LINKS
SCTOP-SCTPS
SCTC: .WORD SCTRLC-SCTPS ;ADDRESS OF CTRL/C ROUTINE
SCPVEC: .WORD V.TPS ;TELEPRINTER VECTOR ;DV19
SCECHO: .BYTE 1 ;TTY ECHO FLAG(1 DON'T; -1 DO)
SCTTF: .BYTE 0 ;TT WAIT FLAG
SCSTOP: SCHEAD-2-SCTPS ;PTR TO STOP CODE
SCHDP: .WORD SCHEAD-SCTPS ;POINTER TO HEADER
SCCHMX: .WORD 0 ;MAX. CHAR. COUNT
SCMCNT: .WORD 0 ;MASTER LINE COUNT
SCADVF: .BYTE 0 ;PAGE ADVANCE FLAG(1=WAIT, 0=GO)
SCLOCK: .BYTE 0 ;SCROLL LOCK FLAG(0 UNLOCK;NON-0 LOCK)
SCPSSV: .WORD 0 ;SAVE AREA FOR TTPS CONTENTS
SCPBSV: .WORD 0 ;SAVE AREA FOR TTPB CONTENTS
В RT-11 четыре адреса регистров системного терминала задаются в файле параметров генерации системы
а хранятся (и используются) в двух местах
добавлю, что так только для однотерминального монитора. в многотерминальном - не так (даже если сконфигурирован только один консольный)
Поднимем тему...
Вышла первая публичная версия TCP/IP для RSX-11M-PLUS (ftp://ftp.update.uu.se/pub/pdp11/rsx/tcpip/) от Johnny Billquist. На данный момент поддерживает TCP, UDP, ICMP, ARP. Из софта есть:
PING
TRACEROUTE
FTP клиент и сервер
HTTP сервер
TELNET клиент (недоделанный)
TFTP клиент и сервер
INETD сервер (также подерживает протоколы SINK, ECHO, DAYTIME, QUOTE и IDENT)
NTP клиент
LPR клиент (недоделанный)
библиотеки для FORTRAN-77, BASIC-PLUS-2 и C
Well, it's been a long time project, but I'm happy to finally announce a more public initial release of TCP/IP for RSX-11M-PLUS.
This is the result of over 20 years of development. Needless to say, I've been doing a lot of things over the years, and this code have been through four reimplementations over the years.
What I now release is something that I believe is a nice and useful piece of software. I am aware of the fact that most people do not use these machines any longer, but if someone actually wants to talk to me about support for this or other RSX software, let me know.
Also, feel free to spread this information to anyone who might be interested, anywhere.
So - what is in this release?
It is a complete implementation of ARP, IP, UDP, and TCP for RSX-11M-PLUS. It has been tested on RSX-11M-PLUS V4.6, but should work on any V4 release. There might be some small tweaks or fixes required, but nothing major.
It do require a system with split I/D-space, or else at least the TCP part will not fit.
For Unibus machines, it should be possible to run without any additional software except what is in a base RSX distribution.
For Q-bus machines, DECnet is required for ethernet networking.
The TCP/IP stack can co-exist with DECnet.
Some utilities also utilize RMS for file access.
A bunch of tools, utilities and libraries are also included. These include:
. IFCONFIG network configuration tool.
. NETSTAT network information tool.
. PING
. TRACEROUTE
. DNS client
. FTP daemon
. FTP client
. HTTP server
. TELNET client (rudimentary)
. TFTP client
. TFTP server
. INET server that can do SINK, ECHO, DAYTIME, QUOTE, and IDENT
. NTP client
. LPR client that sits in the queue manager (rudimentary)
. FORTRAN-77 library
. BASIC+2 library
. PDP-11 C library
The implementation fulfills most of the requirements put forth in RFC 1122. There are a few limitations because of restrictions in the PDP-11, but none of them should really cause any problems.
Documentation is still on the thin side, but example configs are also provided, along with installation scripts.
A bunch of test programs and example programs are also included, as well as the sources of all tools and libraries.
The TCP/IP stack itself only comes in binary form.
All tools are also included precompiled in the distribution, so an installation only have to build the stack itself for your system, and then you should be ready to go.
The API only have a slight resemblance to the Unix sockets API. However, if someone sits down to write code to use TCP/IP under RSX, I'm sure they will discover that it is extremely easy to use the libraries, or the basic functions.
The TCP/IP implementation is mostly written as device drivers. This also have some other interesting implications, such as it is possible to access TCP as a normal file. You can, for instance do something similar to the Unix netcat command by issuing the MCR command:
> PIP TI:=TC:"foo.com";4711
which would open a connection to foo.com, on port 4711, and any data sent from that machine will be shown on the terminal.
The resources used by TCP/IP are modest. A memory area (size selectable at generation/startup) is used internally. The amount of memory in the private pool limits the amount of data that can be buffered. Normal pool is used in a small quantity for each TCP port that is open.
People are welcome to play around with this, and make improvements. Contributions of code is most welcome.
There are still lots of things to do. The programs marked as rudimentary should be rewritten.
The most obvious thing still missing is a telnet daemon, which probably is my next step.
However, the reason for now announcing the release is that it can finally be distributed natively from an RSX host.
The main locations to download the TCP/IP for RSX are:
Madame.Update.UU.SE (anonymous ftp).
This is one of my development systems for this software. It runs under E11, and if things are down, I blame E11.
When connected, you are already in the right directory. There is both an RL02 disk image there, which can be downloaded by anyone. If you happen to have an RSX system which you are conneting from, you can also try getting the BQTCP.TAP tape image. Such an image will not transport cleanly to a non-RSX system, however. Sorry.
ftp.Update.UU.SE (anonymous ftp) - /pub/pdp11/rsx/tcpip
The disk image is normally duplicated to ftp.update.uu.se as well, so the same file can be found there.
I hope some people will find this useful/amusing.
Johnny Billquist
Первая публичная версия TCP/IP для RSX-11M-PLUS (ftp://ftp.update.uu.se/pub/pdp11/rsx/tcpip/) от Johnny Billquist.
А вот этот 10 метровый .DSK - формат RSX или какой-то иной? Чем его можно просто
открыть (плагин ошибку пишет) для списка файлов к примеру ? Я прилеплю сейчас со шпаргалкой в библиотеку, кстати rar-ом жмётся до 300кб )
Шпора будет такая )
TCP/IP for RSX-11M-PLUS
Первая публичная версия TCP/IP для
RSX-11M-PLUS от Johnny Billquist. На данный
момент поддерживает TCP, UDP, ICMP, ARP.
Из софта есть:
PING
TRACEROUTE
FTP клиент и сервер
HTTP сервер
TELNET клиент (недоделанный)
TFTP клиент и сервер
INETD сервер (также подерживает протоколы SINK, ECHO, DAYTIME, QUOTE и IDENT)
NTP клиент
LPR клиент (недоделанный)
библиотеки для FORTRAN-77, BASIC-PLUS-2 и C
Дополнительная информация
тут http://zx-pk.ru/showpost.php?p=772423&postcount=354
и тут ftp://ftp.update.uu.se/pub/pdp11/rsx/tcpip/
А вот этот 10 метровый .DSK - формат RSX или какой-то иной? Чем его можно просто
открыть (плагин ошибку пишет) для списка файлов к примеру ? Я прилеплю сейчас со шпаргалкой в библиотеку, кстати rar-ом жмётся до 300кб )
Открыть любой смотрелкой FILES-11 образов.
Открыть любой смотрелкой FILES-11 образов.
Извиняюсь, но гугля что-то мне только само описание выдаёт формата и структуры каталогов (я всё равно смотрелку сам не собирался писать), может быть в комплекте
эмуляторов буржуйских есть что то такое? Главное под Win32 или DOS и можно в ту
же папку было бы подшить или рядом, вроде как + смотрелка FILES-11 образов.
Есть ли общеизвестная смотрелка (фри-варная конечно)?
Есть ли общеизвестная смотрелка (фри-варная конечно)?
Не интересовался никогда. При том следует учесть, что из/в FILES-11 файлы еще не так просто копировать - нужно уметь как минимум три формата разделять: текст (это не буквы поделенные CRLFами как в RT-11/Windows), бинарные файлы (OBJ, STB - это не 1:1 копирование) и image mode (это собственно 1:1 перенос). Кроме последнего, остальное требует конвертации при переносе в/из FILES-11.
Не интересовался никогда.
Уф! Сложный формат со своими нюансами, наверное для "защиты" предполагаю ) Меня гугля вообще отправила учиться бэкапить Солярис правильно ) Очнулся где то в глубоких новостях Опен_Нета ) А запрос был скромный files-11 )
Раз первый релиз TCP/IP для RSX-11M-PLUS прилепил для истории )
http://archive.pdp-11.org.ru/BIBLIOTEKA/TCPIP_4_RSX11MPLUS/ (347кб)
Приаттачил содержимое образа как оно записано, так и с конверсией.
Без гарантий правильности и полноты, поэтому - чисто для ознакомления..
При том следует учесть, что из/в FILES-11 файлы еще не так просто копировать - нужно уметь как минимум три формата разделять: текст (это не буквы поделенные CRLFами как в RT-11/Windows), бинарные файлы (OBJ, STB - это не 1:1 копирование) и image mode (это собственно 1:1 перенос). Кроме последнего, остальное требует конвертации при переносе в/из FILES-11.
По хранилищу FILES-11 у взрослого DECFILE11B всё конечно серъёзней и навороченей, а у этих что DECFILE11A вариантов хранения файлов внутри контейнера как бы не очень много, а используются (встречается) и того меньше.
О, а пришлите, plz, кто-то реальный примерчик, у кого вдруг есть возможность, из парочки бинарных файлов (тех, что типа OBJ, STB - в общем, что бы были которые извратные, а не 1:1 копирование) в двух видах - лежащих внутри DSK-образа и их же отдельно но корректно и правильно вытащенных (лучше если всё это вместе упаковать в один zip/rar архив). Что бы можно с ними можно было достоверно сверять побитно то что получается, если самостоятельно вытягиваешь.
С текстовыми и их переменной длиной там всё понятно - сразу видно что текст получился или читаемый или на что там ещё надо обратить внимание.
А то не очень-то понятно до какого состояния бинарники нужно допиливать. Смотришь их глазками внутри, а там код как код, самый обычный "мусор", если ты не процессор.
О, а пришлите, plz, кто-то реальный примерчик, у кого вдруг есть возможность, из парочки бинарных файлов (тех, что типа OBJ, STB - которые изврантые, а не 1:1 копирование) в двух видах - лежащих внутри DSK-образа и их же отдельно но корректно и правильно вытащенных. Что бы можно с ними можно было сверять побитно то что получается, если самостоятельно вытягиваешь.
В аттаче лежит образ RX50 (не прошный). В нем в [1,1] лежат TTDRVRSX.STB - родной RSXовский STB файл и TTDRVRT.STB - он же, скопированный FLX'ом в RT-11 и вытащенный оттуда в IMAGE mode.
А то не очень-то понятно до какого состояния бинарники нужно допиливать. Смотришь их глазками внутри, а там код как код, самый обычный "мусор", если ты не процессор.
Вроде в описании утилиты FLX написано что делается при конвертации таких файлов. Примерно так - когда копируется за пределы FILES-11, в начало каждой записи добавляется ее длина, а в конец - контрольная сумма.
Обнаружена ошибка в коде BSTRAP.MAC RT-11 v05.07, приводящая к неправильной начальной установке некоторых старых драйверов:
CHK64: ADD #<H.UNIT>,R2 ;Point to 64 unit owner flag
TST (R2)+ ;is it zero?
BEQ 20$ ;If yes, branch, no 64 unit support
MOV @R2,R2 ;Get 64 unit word (H.64UM)
BIC #^c<HUM.64>,R2 ;Isolate HUM.64 bits. Are they zero?
BEQ 20$ ;If yes, branch, no 64 unit support
CMP R2,#<^rZ > ;Is it a letter?
BHI 20$ ;If not, branch, no 64 unit support
CMP R0,SYBLK ;Is this SY?
BNE 10$ ;If not, branch
MOV R2,SY64 ;Save the SY 1 letter device name
10$: TST (PC)+ ;Skip over error return
20$: SEC ;Error return
RETURN ;from whence we came
При этом команда INSTALL в коде KMOVLY.MAC работает правильно:
.IF EQ <OWN$ER & UNI$64>
CLR $HSIZE-$RMON(R0) ;Clear the handler size entry
CMP @R4,#<^rHAN> ;Is this a new style handler?
BNE 90$ ;Nope
TST H.UNIT(R4) ;Does handler support extended units?
BEQ 90$ ;Nope
SUB #<32.>,$HSIZE-$RMON(R0) ;Cut off the extended ownership table
90$: ADD #<H.SIZ>,R4 ;Point to handler parameters
ADD (R4)+,$HSIZE-$RMON(R0) ;Put handler size in $HSIZE table
.IFF ;EQ <OWN$ER & UNI$64>
ADD #<H.SIZ>,R4 ;Point to handler parameters
MOV (R4)+,$HSIZE-$RMON(R0) ;Put handler size in $HSIZE table
.ENDC ;EQ <OWN$ER & UNI$64>
Исправленный код BSTRAP.MAC выглядит так:
CHK64: CMP @R2,#<^rHAN> ;Is this a new style handler?
BNE 20$ ;Nope
ADD #<H.UNIT>,R2 ;Point to 64 unit owner flag
TST (R2)+ ;is it zero?
BEQ 20$ ;If yes, branch, no 64 unit support
MOV @R2,R2 ;Get 64 unit word (H.64UM)
BIC #^c<HUM.64>,R2 ;Isolate HUM.64 bits. Are they zero?
BEQ 20$ ;If yes, branch, no 64 unit support
CMP R2,#<^rZ > ;Is it a letter?
BHI 20$ ;If not, branch, no 64 unit support
CMP R0,SYBLK ;Is this SY?
BNE 10$ ;If not, branch
MOV R2,SY64 ;Save the SY 1 letter device name
10$: TST (PC)+ ;Skip over error return
20$: SEC ;Error return
RETURN ;from whence we came
Обнаружена ошибка в коде BSTRAP.MAC
Там их много, я выкладывал некоторые SIPы (правда они по большей части касались RTEM). Надо какой-нибудь репозиторь патчей чтоли вести...
Надо какой-нибудь репозиторь патчей чтоли вести...
ИМХО: это вполне в рамках этой страницы, почему нет?
http://pdp-11.org.ru/files.pl
---------- Post added at 21:10 ---------- Previous post was at 21:08 ----------
Главное в одном месте всё замеченное и исправленное !!!
ИМХО: это вполне в рамках этой страницы, почему нет?
http://pdp-11.org.ru/files.pl
---------- Post added at 21:10 ---------- Previous post was at 21:08 ----------
Главное в одном месте всё замеченное и исправленное !!!
Там выложены патчи для RTEM-11. Так что можно готовить другие. Только желательно относительно дистриба, а не откоменченых сорцов - они не совпадают :)
rtarc,rtxarc - распаковывает Unix архивы для RT-11 )
Как заявлено в документации
RTARC RT-11 TSX FODOS RTXARC
rtarc, rtxarc - архивирование и упаковка файлов
ФОРМАТ
rtarc [-d] [-o] [-q] [-p devise] [-z] [file...]
rtxarc [-d] [-o] [-q] [-p devise] [file...]
ОПИСАНИЕ
Программа RTARC архивирует и сжимает указанные
файлы . Каждый файл упаковывается в файл с расшире-
нием .ARC . Файлы содержат архивную информацию :
имя исходного файла, его длину в блоках и строку ин-
формации о своем содержании и могут быть разархиви-
рованны с помощью программы RTXARC.
Программы могут быть использованы для архивных целей
не производя побочных последствий после распаковки.
Для ускорения передачи файлов между RT-11 и UNIX
программа RTARC позволяет создавать файлы, которые
могут быть раскомпрессированы в UNIX с помощью про-
граммы uncompress, а программа RTXARC позволяет рас-
компрессировать файлы скомпрессированные программой
compress в ос UNIX. Отметим , что в системе RT-11
длина файла определяется с точностью до блока, а в
UNIX с точностью до байта, поэтому возможны изменния
длин файлов, что однако не отражается на их содержи-
мом , т.к. дополнение до блока осуществляется симво-
лами '\0' . Работающих только в RT-11 эта проблема
может не волновать.
И снова - это на дискетах из пачки софта Хранительницы.
Имя образа > UK_KAZAKOV_REZ_RAZNOE_IMG_.DSK
(смотрим \ следим за темой по АРХИВУ)
;-)
Удивительное дело - только сейчас выяснилось, что 60-блочный Бэйсик из комплекта Рафос отличается от дековского оригинала наличием команд непосредственного доступа к памяти GET и PUT.
Без таких команд написать на бэйсике Тетрис или экранный редактор невозможно, поэтому пришлось разыскать этот Бэйсик и проапгрейдить его для совместимости с Y2K и KOI8 :
BASIC+KOI8+GET+PUT (http://emulator.pdp-11.org.ru/misc/BASIC+KOI8+GET+PUT.zip)
...
Без таких команд написать на бэйсике Тетрис или экранный редактор невозможно
Не совсем так. Точнее совсем не так.
Возможно и более серьезные вещи делать.
Только все привыкли, что BASIC - это BASIC.SAV, а про дистрибутивный кит никто не слышал, а он позволяет среди прочего нашпиговать BASIC любым набором подпрограмм ассемблерных и не только :)
---------- Post added at 01:19 ---------- Previous post was at 01:16 ----------
Кстати родной BASIC-11 очень много интересных функций имеет вроде SYS() которые так и говорят о том, что изначально уже как минимум тетрис и тому подобное элементарно сделать даже не расширяя ничего :)
как минимум тетрис и тому подобное элементарно сделать даже не расширяя ничегоКак человек, который сегодня делал именно это - могу утверждать, что это не так.
В архиве есть файл DEMO.BAS, тестирующий минимально необходимый функционал для написания Тетриса на Бэйсике. Можно при желании попробовать переписать его без использования GET и PUT.
Проблемами станут:
1. Невозможность перевести терминал в спецрежим.
2. Невозможность проверить наличие символа в очереди ввода без чего SYS даже в спецрежиме зависает до нажатия на клавишу.
1. Невозможность перевести терминал в спецрежим.
2. Невозможность проверить наличие символа в очереди ввода без чего SYS даже в спецрежиме зависает до нажатия на клавишу.
Перечисленно то, что возможно. То есть пальцем в небо.
Еще попытка будет?
Правда могу ошибаться и это только в MU/BASIC, но думаю, что нет.
В любом случае, как уже говорил, BASIC-11 расширяется как угодно, достаточно только выкинуть бесполезный BASIC.SAV и взять дистрибутивный кит (я их выкладывал как для -11 так и для -PLUS даже пропатченные на Y2K) :)
Перечисленно то, что возможно. То есть пальцем в небо. Еще попытка будет?Став за сегодня экспертом в данной теме могу уверенно утверждать, что второй попытки не требуется - моя правота неоспорима.
BASIC-11 расширяется как угодноМне слабо расширить дековский Бэйсик командами доступа к памяти, тем более, что имеющийся в наличии стандартный советский Бэйсик с командами GET и PUT полностью устраивает.
Мне слабо расширить дековский Бэйсик командами доступа к памяти
Это стандартная документированная возможность вообще-то.
Дока есть на bitsavers, кит есть в теме чуть ли не в этой. Или в архиве.
Это стандартная документированная возможность вообще-то.Проблема в том, что каждый аргумент, передаваемый в функцию пользователя, может быть одного из нескольких типов и всё это надо на входе самому проверять, обрабатывать ошибочные аргументы и т.д. и т.п. В результате мороки с расширением Бэйсика гораздо больше, чем может показаться на первый взгляд. И потом функцию пользователя нельзя будет использвать, как обычную команду Бэйсика - её надо будет вызывать через команду CALL, передавая ей имя функции пользователя в качестве строкового аргумента, что отнюдь не облегчает кодирование.
для совместимости с Y2K и KOI8 :
У меня бейсик вот такой и вот так запускается в нем KOI-8.bas,
KOI8 20-FEB-15 03:31:26
Привет !!!
READY
BYE
.SYS
RT-11SJ V05.04 G
.DIR SY:BASIC
20-Feb-2015
BASIC .SAV 56P 12-Sep-2011
1 Files, 56 Blocks
51681 Free blocks
.
это из за монитора (он пропатчен), то есть я про KOI-8 пытаюсь уточнить?
(*для ДВК уже такое кол-во бейсиков у меня накопилось, в том числе и с графическими операторами для КГД, есть и странные бейсики какие-то среди них совсем - всё время откладываю разборку им устроить архивную, поэтому для простоты 60 блоков РАФОС-БЕЙСИК пока отдельно прилепил в раздел ДВК [очень легко найти по имени папки] )
---------- Post added at 04:28 ---------- Previous post was at 04:23 ----------
Сразу уточнение, что DEMO.BAS из архива в нём не работает
BASIC-11/RT-11 V02-03
OPTIONAL FUNCTIONS (ALL, NONE, OR INDIVIDUAL)? A
READY
OLD DEMO
READY
RUN
DEMO 20-FEB-15 03:40:29
?SYNTAX ERROR AT LINE 140
READY
Поглядел DEMO.BAS (http://zx-pk.ru/showpost.php?p=782495&postcount=367)
- очень мощно !!!
120 I$=CHR$(9)
140 GET(44%,M%) \ REM M% == $SYPTR
160 GET(M%+196,T0%) \ REM T0% == TTKS
180 GET(M%+198,T1%) \ REM T1% == TTKB
200 X$=CHR$(10)+CHR$(10)+CHR$(10)+CHR$(10)+CHR$(10)
220 X$=X$+CHR$(27)+"I"+CHR$(27)+"I"+CHR$(27)+"I"
240 X$=X$+CHR$(27)+"I"+CHR$(27)+"I"
1000 A%=TTYSET(255%,250%)
1020 GET(36%,J9%) \ PUT(J9%+4096%,36%) \ REM Set TTSPC$ in $JSW
1030 PUT(0%,T0%) \ REM Disable TTKINT
1100 PRINT \ PRINT X$;"Press any keys .." \ PRINT
1120 PRINT CHR$(13);CLK$;
1140 GET(T0%,S%) \ IF S%<=64% GO TO 1120
1160 GET(T1%,A%)
1200 PRINT I$;A%;I$;CHR$(13);
1210 IF A%=32 GO TO 1400 \ REM Space == EXIT
1220 IF A%<>3 GO TO 1120 \ REM Ctrl/C == EXIT
1400 PUT(64%,T0%) \ REM Enable TTKINT
1420 PUT(J9%,36%) \ REM Restore $JSW
1440 PRINT
READY
RUN
DEMO 20-FEB-15 08:24:03
Press any keys ..
08:24:30
Получается отличие только в командах PUT и GET, а кириллица и в 56 блочном работает? Команды PEEK и POKE - это похоже особенность бейсика Вильнюс?
4.4. Операторы непосредственного доступа к памяти........... 46
4.4.1. Оператор POKE........................................ 46
4.4.2. Оператор OUT......................................... 47
5.3. Функции непосредственного обращения к памяти........... 67
5.3.1. Функция PEEK......................................... 68
5.3.2. Функция INP.......................................... 68
- из описания Вильнюс-Бейсика УК-НЦ. (надо его вариант для ДВК проверить ещё раз!!!)
( http://www.felixl.com/Uknc_Basic_Manual )
У меня бейсик вот такой и вот так запускается в нем KOI-8.basПри упаковке файла KOI8.bas в DSK-образ символы Windows сконвертировались в КОИ-7. Чтобы тестировать совместимость Бэйсика с КОИ-8 - надо запускать KOI8.bas из каталога Windows - тогда при копировании на виртуальный диск символы Windows сконвертируются в КОИ-8.
.BASIC
BASIC-11/RT-11 V02-03
OPTIONAL FUNCTIONS (ALL, NONE, OR INDIVIDUAL)? A
READY
OLD KOI8
READY
RUN
KOI8 20-FEB-15 10:44:09
pRIWET !!!
READY
надо запускать KOI8.bas из каталога Windows
результат с 56-блочным бейсиком выше )
Patron, у меня есть просьба\уточнение по эмулятору ДВК, я в теме
эмулятора сейчас подробнее напишу.
Спасибо.
обсуждаемый бейсик см. в теме выше (http://zx-pk.ru/showpost.php?p=782495&postcount=367).
Y2K патчи для MU/BASIC-11 V2.00R. Позже подготовлю дистриб в приемлимом виде. Если кто желает поэкспериментировать пока - на bitsavers лежит образ RK05 с RT-11V4 и MU/BASIC. Инструкция по накладыванию патчей внутри них. Исправляют вывод даты в LIST и в функции DAT$, устанавливают бит CHAIN$ в $JSW для правильной работы под RT-11 V5.2 и новее.
.RU MUBASX
MU BASIC-11/RT-11 V2.00R
CONFIGURATION FILE : *MUBAS
MU BASIC-11/RT-11 IS OPERATIONAL.
PLEASE TYPE IN "HELLO".
HELLO
USERID: 00
PASSWORD:
WELCOME TO MU BASIC-11/RT-11
READY
LIST
NONAME 28-MAR-15 18:18:53
READY
PRINT DAT$
28-MAR-15
READY
LENGTH
0 USED, 16088 FREE
READY
A=SYS(4)
.
Запустил MU BASIC-11 как system job, в нем запустил две программки - одна в цикле печатает PI, вторая просто крутится на одном месте. Консоль остается вполне себе рабочей и позволяет запускать обычные программы параллельно. Если обычный BASIC-11 запустить как system/foreground job с такой программой, на background job времени не останется у системы.
.ME
------- Extended Memory --------
Address Module Words Type
------- ------ ----- ----
17760000 IOPAGE 4096. PRM HDW BYP
17760000 MEMTOP
10000000 VM 1044480. SHR
01007600 ...... 915520.
00607600 MUBASX 32768. LOC
00407600 MUBASX 32768. LOC
00310600 EI 16128. PVT
00276100 SL 2720. PVT
00256100 SD 4096. SHR
00250100 MU 1536. PVT
00224700 NQ 4928. PVT
00216300 SP 1664. SHR
00174000 DU 4704. PVT
00160000 MCA 3072. PRM
00000000 KERNEL 28672. PRM HDW
------ Low Memory -------
Address Module Words
------- ------ -----
157010 DU 252.
074652 RMON 12847.
072462 SL 572.
070732 LD 428.
064230 MUBASX 1185.
055274 EQ 1774.
043230 USR 2578.
001000 ..BG.. 8780.
.J
Job Name Console Level State Low High Impure
--- ---- ------- ----- ----- --- ---- ------
14 MUBASX 0 6 Suspend 000000 157776 064230
0 RESORC 0 0 Run 000000 043226 107356
.
Еще один патч. Пока только для unmapped варианта (для mapped он по сути не актуален, хотя и там есть косяк). Позволяет запускать MUBAS(не X) под VBGEXE без ошибки нехватки памяти.
.TY MUIMP.PAT
.TITLE MUIMP3
.IDENT /000002/
.PSECT MUIMP
.=.+1510
CALL TSTUSR
.=.+26
TST (SP)+
MOV R0,@SP
MOV @#54,R0
BIT #1000,(SP)+
.PSECT PATCH,I,RO,LCL
TSTUSR: TSTB @#44
BMI 10$
TST FGNDFG
10$: RETURN
.END
.MAC/OB:PATCH MUIMP.PAT
.REN MUIMP.OBJ .OLD
.PAT MUIMP.OLD,PATCH MUIMP
.$@MUBAS
Довел до ума дистрибутив MU BASIC-11/RT-11 V2.00R. Все ранее выложенные патчи наложены. В комплекте есть пресобранные MUBAS.SAV (SB/SJ/FB) и MUBASX.SAV (XB/XM/ZB/ZM) для любого набора инструкций. Два файла конфигурации 1USER.CNF и 2USER.CNF настроены соответственно на 1 и 2 терминала. Перед запуском нужно отредактировать эти файлы и поменять LD0 на имя диска с которого все запускается. Программа MULNK (запускается из под MU BASIC) используется для генерации нужного варианта MU BASIC, программа MUCNFG - для создания файлов конфигурации.
Отличия от документации на MU BASIC-11 V1.00 (http://zx-pk.ru/showpost.php?p=792966&postcount=479)
Ну и как не побаловаться с ассемблерными подпрограммами. Пример взят тот же (http://zx-pk.ru/showpost.php?p=791480&postcount=729), что и для BASIC-11. Только синтакс вызова ассемблерной подпрограммы упрощенный использовал (можно и полный).
.RUN MUBAS
MU BASIC-11/RT-11 V2.00R
CONFIGURATION FILE : *2USER
MU BASIC-11/RT-11 IS OPERATIONAL.
PLEASE TYPE IN "HELLO".
HELLO
USERID: 00
PASSWORD:
WELCOME TO MU BASIC-11/RT-11
READY
RUN MULNK
MU BASIC-11/RT-11 V2 LINK FILE Program
Type "?<RET>" after any prompt for HELP.
.SAV/.REL and .COM file name (default is MUBAS): MUASM
Do you want a map? (Y or N; default is N): Y
.MAP name (default is same as .SAV name):
XM monitor or FB monitor ? (X or F; default is F):
Background or Foreground ? (B or F; default is B):
Do you want PRINT USING? (Y or N; default is Y):
Do you want CALL support? (Y or N; default is N): Y
Enter module names (one per line. <RET> to terminate list): MYCLI
Module name: BSCLLB
Module name:
Single or Double precision math? (S or D; default is S):
Arithmetic hardware (NONE, EAE, EIS, FIS, or FPU; default is NONE): FPU
Do you want the transcendental functions? (Y or N; default is Y):
Do you want the SUB command? (Y or N; default is Y):
Do you want the RESEQ command? (Y or N; default is Y):
Do you want long error messages? (Y or N; default is Y):
To create the MU BASIC-11 that you have just defined,
type "RUN EXIT" following the BASIC "READY"
message. When the RT-11 monitor prompts for input,
type "@MUASM<RET>" to link MU BASIC-11.
READY
RUN EXIT
.@MUASM
.R LINK
*MUASM,MUASM=/W/B:500//
*BSPTRS,BSPAT,BSR0S
*BSR1S,BSPR0
*MYCLI
*BSCLLB
*MUO1ID,BSOT0S.FPU,BSOT1S.FPU
*MUBS1,MUBS2,MUBS3
*MUE1ID
*MUIMP/O:1
*MUXID,BSX0A,BSX0B,BSX1A,BSX1B/O:1
*BSX2,BSPR1,BSCLS,MUBXE
*MUEID,MUBS2E,BSE0,BSE1/O:1
*BSSUB,BSRSQ,BSCMP,BSKEYS,BSERR
*BSERML,MUBEE
*MUBSSC,MUBSSA/O:2
*MUOFID,BSFUNC,MUOPT,MUBZ/O:3
*//
*^C
.
Добавляем битики для VBGEXE дабы пустил к I/O page:
.SIPP MUASM.SAV/A
Base?
Offset? 4
Base Offset Old New?
000000 000004 000200 240
000000 000006 000000 ^Y
.
Запускаем:
.RU MUASM
MU BASIC-11/RT-11 V2.00R
CONFIGURATION FILE : *2USER
MU BASIC-11/RT-11 IS OPERATIONAL.
PLEASE TYPE IN "HELLO".
HELLO
USERID: 00
PASSWORD:
WELCOME TO MU BASIC-11/RT-11
READY
10 C%=OCT('177564') \ B%=OCT('177566')
20 S$=CHR$(13)&CHR$(10)&'*** HELLO, WORLD! ***'&CHR$(13)&CHR$(10)
30 FOR I%=1% TO LEN(S$)
40 O%=ASC(SEG$(S$,I%,I%))
50 PEEK(C%,V%) \ IF V%<>128 THEN 50 \ POKE(B%,O%)
60 NEXT I%
READY
RUN
NONAME 30-MAR-15 21:42:05
*** HELLO, WORLD! ***
READY
RUN EXIT
.
---------- Post added at 22:24 ---------- Previous post was at 21:54 ----------
Рафос отличается от дековского оригинала наличием команд непосредственного доступа к памяти GET и PUT.
Так что видимо это как раз ассемблерные подпрограммы. Просто вместо CALL можно использовать упрощенный синтакс (см выше). Собственно проверяется легко - структура таблицы известна.
Так что видимо это как раз ассемблерные подпрограммы. Просто вместо CALL можно использовать упрощенный синтаксТак и есть:
.BASIC
BASIC-11/RT-11 V02-03Y
OPTIONAL FUNCTIONS (ALL, NONE, OR INDIVIDUAL)?
READY
B%=OCT('177566')
READY
CALL 'PUT'(64,B%)
@
READY
Так и есть
Я заглянул уже, там кроме всего прочего есть и байтовые варианты.
Но вобщем принцип теперь знаем - можем сами сделать в сборном BASIC-11 или MU BASIC-11. В MU еще хорошо бы выяснить как узнать номер терминала на котором программа работает - для полного счастья.
Так что если есть идеи что добавить - реализуем и соберем все варианты (BIS, EIS, FIS)...
А можно и вовсе сделать подгрузку ассемблерного кода...
А можно и вовсе сделать подгрузку ассемблерного кода...
Если речь идёт не о MU, а о просто Бейсике-11, это может означать
подпрограммы на макро как в паскале?
Как их оформлять внутри программы об этом есть примеры в доках?
Если речь идёт не о MU, а о просто Бейсике-11, это может означать
подпрограммы на макро как в паскале?
Как их оформлять внутри программы об этом есть примеры в доках?
Он что MU что не MU, там принцип один. В MU только нужно учитывать, что он обслуживает несколько терминалов одновременно. Можно при сборке самого BASIC подключить ассемблерные подпрограммы, а можно придумать некий буфер и подпрограмму которая в него будет свой код на выполнение загружать (быть может из того же BASIC прямо)...
а можно придумать некий буфер и подпрограмму которая в него будет свой код на выполнение загружать
Может быть сделать оператор asm(номер строки начало ассемблера) до определённого оператора "конец подпрограммы"??? Или сразу вбить все основные команды - их ведь не так много, учитывая что некоторые можно пропустить и использовать средства самого языка.
---------- Post added at 18:38 ---------- Previous post was at 18:38 ----------
зарезервировать строки с 3000-5000 под ассемблер )))
Дамы и господа, встречайте! ДиДюЛя! XXDP+ V2.5 - образ, загружаемый с MY.
BOOTING UP XXDP-XM EXTENDED MONITOR
XXDP-XM EXTENDED MONITOR - XXDP V2.5
REVISION: F0
BOOTED FROM MY0
124KW OF MEMORY
NON-UNIBUS SYSTEM
RESTART ADDRESS: 152000
TYPE "H" FOR HELP !
.DIR
ENTRY# FILNAM.EXT DATE LENGTH START VERSION
1 XXDPXM.SYS 1-MAR-89 39 000067 F.0
2 XXDPSM.SYS 1-MAR-89 29 000136 E.0
3 DRSXM .SYS 1-MAR-89 48 000173 C.0
4 DRSSM .SYS 1-MAR-89 24 000253 G.2
5 DIR .SYS 1-MAR-89 7 000303 D.0
6 DB .SYS 1-MAR-89 2 000312 C.0
7 DD .SYS 1-MAR-89 3 000314 D.0
8 DL .SYS 1-MAR-89 4 000317 D.0
9 DM .SYS 1-MAR-89 4 000323 C.0
10 DR .SYS 1-MAR-89 3 000327 C.0
11 DU .SYS 1-MAR-89 4 000332 E.0
12 DY .SYS 1-MAR-89 3 000336 D.0
13 LP .SYS 1-MAR-89 1 000341 B.0
14 MM .SYS 1-MAR-89 3 000342 C.0
15 MS .SYS 1-MAR-89 4 000345 C.0
16 MU .SYS 1-MAR-89 4 000351 E.0
17 MY .SYS 5-APR-99 1 000355 A.3
18 DATE .SYS 1-MAR-89 2 000356 B.0
19 DUSZ .SYS 1-MAR-89 2 000360 C.0
20 HELP .TXT 1-MAR-89 29 000362
21 UPDAT .BIC 1-MAR-89 29 000417
22 IOSCAN.BIN 7-APR-99 1 000454
FREE BLOCKS: 1299
.
Проверял на E11 плугине. У кого живой MY есть, интересно проверить.
Поддерживаются только диски 1600 блоков.
Тестов никаких не записывал - это просто проверка пока.
Исходники драйвера MY для XXDP+ V2. С помощью них, какой-то матери, а также описания, доступного на bitsavers (в microfiche) можно теперь создавать и другие драйверы. Сборка под RT-11:
.MAC MYXXDP.MAC
.LIN/LDA/EXE:MY.SYS MYXXDP
Засунуть в образ XXDP можно с помощью PUTR (ftp://ftp.dbit.com/pub/putr/) или еще чего...
Проверял на E11 плугине. У кого живой MY есть, интересно проверить.В эмуляторе ДВК грузится, но по понятным причинам там не работает UPDAT, поэтому на ДВК лучше с MY загружать ТМОС-2: TMOS-2_MY.DSK (http://emulator.pdp-11.org.ru/XXDP/TMOS-2/TMOS-2_MY.DSK)
В эмуляторе ДВК грузится, но по понятным причинам там не работает UPDAT
Так надо просто пропатчить его и положить обратно.
---------- Post added at 01:00 ---------- Previous post was at 00:58 ----------
Даешь HX драйвер!
Даешь HX драйвер!Типа, под размер диска DL
Типа, под размер диска DL
Могу дать слегка реассемблированный драйвер DL для примера как разбираться с разными размерами на разных unit'ах.
Могу дать слегка реассемблированный драйвер DL для примера как разбираться с разными размерами на разных unit'ах.Я думал, что диски переменного размера у XXDP поддерживает только DU и для этого используется DUSZ.SYS
Я думал, что диски переменного размера у XXDP поддерживает только DU и для этого используется DUSZ.SYS
DU более сложный вариант, с RL попроще - там всего два варианта.
Обновился образ XXDP+ для MY (http://zx-pk.ru/showpost.php?p=793713&postcount=389). Пропатчена программа UPDAT чтобы запускалась на машинах без MMU.
.BO MY:/FO
MEMORY MANAGEMENT UNIT NOT FOUND
BOOTING UP XXDP-SM SMALL MONITOR
XXDP-SM SMALL MONITOR - XXDP V2.6
REVISION: E0
BOOTED FROM MY0
28KW OF MEMORY
NON-UNIBUS SYSTEM
RESTART ADDRESS: 152010
TYPE "H" FOR HELP
.D
ENTRY# FILNAM.EXT DATE LENGTH START VERSION
1 XXDPXM.SYS 1-MAR-89 39 000067 F.0
2 XXDPSM.SYS 1-MAR-89 29 000136 E.0
3 DRSXM .SYS 1-MAR-89 48 000173 C.0
4 DRSSM .SYS 1-MAR-89 24 000253 G.2
5 DIR .SYS 1-MAR-89 7 000303 D.0
6 DB .SYS 1-MAR-89 2 000312 C.0
7 DD .SYS 1-MAR-89 3 000314 D.0
8 DL .SYS 1-MAR-89 4 000317 D.0
9 DM .SYS 1-MAR-89 4 000323 C.0
10 DR .SYS 1-MAR-89 3 000327 C.0
11 DU .SYS 1-MAR-89 4 000332 E.0
12 DY .SYS 1-MAR-89 3 000336 D.0
13 LP .SYS 1-MAR-89 1 000341 B.0
14 MM .SYS 1-MAR-89 3 000342 C.0
15 MS .SYS 1-MAR-89 4 000345 C.0
16 MU .SYS 1-MAR-89 4 000351 E.0
17 MY .SYS 1-APR-99 3 000355 A.0
18 DATE .SYS 1-MAR-89 2 000360 B.0
19 DUSZ .SYS 1-MAR-89 2 000362 C.0
20 HELP .TXT 1-MAR-89 29 000364
21 UPDAT .BIC 1-MAR-89 31 000421
.R UPDAT
UPDAT .BIC
UPDAT - XXDP V2 UPDATE UTILITY REVISION G
RESTART: 004140
*
---------- Post added at 11:10 ---------- Previous post was at 11:07 ----------
Правда детально не смотрел - может еще где подпатчить нужно...
---------- Post added at 11:11 ---------- Previous post was at 11:10 ----------
Так и есть - еще есть места...
---------- Post added at 13:04 ---------- Previous post was at 11:11 ----------
Обновление исходников драйвера MY для XXDP+ V2.4/2.5 (Rev A.1) (http://zx-pk.ru/showpost.php?p=793735&postcount=390). В прошлом варианте не возвращался индикатор ошибки.
В прошлом варианте не возвращался индикатор ошибки.Кстати, чтобы при копировании в образ XXDP файл не увеличивался на один блок - его размер в Windows должен быть не 1024, а 1020 байтов.
Такой вариант последнего драйвера можно взять здесь: TMOS-2_MY.DSK (http://emulator.pdp-11.org.ru/XXDP/TMOS-2/TMOS-2_MY.DSK)
Кстати, чтобы при копировании в образ XXDP файл не увеличивался на один блок - его размер в Windows должен быть не 1024, а 1020 байтов.
Будет время - виндовс исчезнет из цепочки :)
Будет время - виндовс исчезнет из цепочкиТипа - компилить в DOS-11 ( DOSv9-20C-RK05.DSK (http://iamvirtual.ca/PDP-11/DOS-11/DOSv9-20C-RK05.DSK) ).
Обновление исходников драйвера MY для XXDP+ V2.4/2.5 (Rev A.1) (http://zx-pk.ru/showpost.php?p=793735&postcount=390).Похоже, что там есть ошибка:
CMP #READ$,XCO(R5) ;READ ERROR?
BEQ 80$ ;YES
MOV PC,R0 ;ELSE WRITE ERROR
ADD #MWTERR-.,R0 ;
EMT 44 ;
RETURN ;RETURN
80$: MOV PC,R0 ;WRITE ERROR
ADD #MWTERR-.,R0 ;
EMT 44 ;
90$: RETURN ;RETURN
---------- Post added at 17:31 ---------- Previous post was at 16:05 ----------
Пропатчена программа UPDATПри выполнении команды CREATE программа UPDAT вылетает:
035112: BIT #1, @#177572 ; 035114:000001 -> 177572:
BUS ERROR: Чтение по пустому адресу: 177572
011712: MOV @#172352, -(SP) ; 172352: -> 023220:013274
BUS ERROR: Чтение по пустому адресу: 172352
000006: HALT
Похоже, что там есть ошибка
Видно неотрежактировал после копирования.
При выполнении команды CREATE программа UPDAT вылетает
Да, писал уже что надо еще много где патчить (если вообще возможно).
Похоже, что там есть ошибка
Обновление драйверов MY (http://zx-pk.ru/showpost.php?p=793735&postcount=390) для XXDP+ V2.4/2.5 - исправлен вывод ошибок.
Добрался поковырять утилиту UPDAT. В процессе ковыряния выяснилось следующее:
UPDAT в XXDP+ V2.5 не содержит ошибки, он в явном виде предназначен для запуска в XM мониторе (об этом говорит первая запись файла, записывающая 10000 по адресу 52)
UPDAT в ТМОС-2 не столько пропатчен, сколько просто урезан в функционале. Не знаю критично ли это где-либо при работе в расширенном мониторе.
Сделал утилиту UPDAT которая сама себя патчит если нет MMU и работает как обычно если есть, в связи с чем обновился образ MY (http://zx-pk.ru/showpost.php?p=793713&postcount=389) XXDP+ V2.5 (попутно драйвер MY обрезан до используемого размера).
.BO MY:/FO
MEMORY MANAGEMENT UNIT NOT FOUND
BOOTING UP XXDP-SM SMALL MONITOR
XXDP-SM SMALL MONITOR - XXDP V2.6
REVISION: E0
BOOTED FROM MY0
28KW OF MEMORY
NON-UNIBUS SYSTEM
RESTART ADDRESS: 152010
TYPE "H" FOR HELP
.R UPDAT
UPDAT .BIC
UPDAT - XXDP V2 UPDATE UTILITY REVISION G
RESTART: 004140
*ZERO MY1:
USER DATA ON MY1 WILL BE DESTROYED!
PROCEED?(Y/N/CR=N)Y
*CREATE MY1:
*PIP MY1:=MY0:
XXDPXM.SYS
XXDPSM.SYS
DRSXM .SYS
DRSSM .SYS
DIR .SYS
DB .SYS
DD .SYS
DL .SYS
DM .SYS
DR .SYS
DU .SYS
DY .SYS
LP .SYS
MM .SYS
MS .SYS
MU .SYS
MY .SYS
DATE .SYS
DUSZ .SYS
HELP .TXT
UPDAT .BIC
*BOOT MY1:
MEMORY MANAGEMENT UNIT NOT FOUND
BOOTING UP XXDP-SM SMALL MONITOR
XXDP-SM SMALL MONITOR - XXDP V2.6
REVISION: E0
BOOTED FROM MY1
28KW OF MEMORY
NON-UNIBUS SYSTEM
RESTART ADDRESS: 152010
TYPE "H" FOR HELP
.
---------- Post added at 21:48 ---------- Previous post was at 20:39 ----------
Обновление драйвера MY (http://zx-pk.ru/showpost.php?p=793735&postcount=390) для XXDP+ V2.4/2.5. Версия A3. Функционально не отличается, код слегка укорочен, чтобы можно было впихнуть драйвер в 1 блок. Обычным LINK'ом не получится, позже выложу програмку которая позволяет сделать. Собранный вариант в 1 блок прилагается.
Обновил образ (http://zx-pk.ru/showpost.php?p=793713&postcount=389) MY с XXDP+ V2.5. Внутри драйвер A3 (http://zx-pk.ru/showpost.php?p=793735&postcount=390) длиной в 1 блок и UPDAT, работающий без MMU. Попутно нашел ошибку в E11 плугине MY, надо уже переписать наверное его...
---------- Post added at 16:24 ---------- Previous post was at 14:34 ----------
Обновился IOSCAN V4.0 (http://zx-pk.ru/showpost.php?p=721628&postcount=344). Добавился вариант для XXDP/XXDP+. Также магнитофонный загрузчик включен в пресобранные варианты.
---------- Post added at 17:45 ---------- Previous post was at 16:24 ----------
IOSCAN для XXDP длиной в 1 блок добавлен в образ MY (http://zx-pk.ru/showpost.php?p=793713&postcount=389)...
Программа предназначена для запуска из стартового файла RT-11 или TSX-Plus.
Программа позволяет определить тип терминала, установить параметры изображения и настроить параметры, зависящие от типа терминала (SET EDIT, SET SL), а также включить окна в TSX-Plus.
При запуске в TSX-Plus и RTEM-11 программа определяет тип терминала по системным настройкам и использует его (если явно не задан опрос терминала параметром /INQUIRE или конкретный тип терминала).
В RT-11 V5 и TSX-Plus программу можно запускать командой TTSET [параметры] (подразумевается, что программа лежит на системном устройстве).
В ранних версиях RT-11 программа запускается командой R TTSET. При этом в RT-11 V5.1/TSX-Plus V6.01 и более старых системах при отсутствии параметров, указанных в командной строке, программа попросит ввести параметры.
В более новых системах при отсутствии параметров командной строки подразумевается /EDIT.
Поддерживаемые параметры:
/DARK - Включить темный фон/светлый текст (обычный режим).
Параметр доступен только для терминалов, совместимых с VT100.
/EDIT - Установить редактор в соответствии с типом терминала.
Параметр всегда включен (он нужен только для старых систем чтобы было что написать в качестве параметра при запуске).
/INQUIRE - Автоматически определить тип терминала.
/LIGHT - Включить светлый фон/темный текст (инверсный режим).
Параметр доступен только для терминалов, совместимых с VT100.
/NARROW - Включить режим 80 колонок.
Параметр доступен только для терминалов, совместимых с VT100.
/SANE - Привести терминал в порядок (выключить графический режим, включить английский язык, выключить альтернативный режим, разрешить скроллинг всего экрана итд).
/SL - Включить редактирование ввода (SL).
В RT-11 опция работает только если драйвер SL установлен в системе.
/TEST - Тестовый режим.
Программа печатает тип терминала и список команд которые должны быть выполнены для заданных параметров.
/VT100 - Установить тип терминала VT100.
/VT200 - Установить тип терминала VT200.
В RT-11 ничем не отличается от /VT100.
/VT52 - Установить тип терминала VT52.
/WIDE - Включить режим 132 колонок.
Параметр доступен только для терминалов, совместимых с VT100.
/WINDOW - Включить окна в TSX-Plus.
Параметры /INQUIRE, /VT100, /VT200 и /VT52 взаимоисключающие.
Параметры /DARK и /LIGHT взаимоисключающие.
Также взаимоисключающими являются параметры /NARROW и /WIDE.
Если тип терминала совместим с VT52, VT100 или VT200, в TSX-Plus выдается команда SET TT для установки соответствующего типа терминала.
Для установки редактора по умолчанию выдается команда SET EDIT в соответствии с типом терминала: KEX (RT-11XM/XB/ZM/ZB) или KED для VT100-совместимых терминалов, K52 для VT52-совместимых терминалов, EDIT для остальных типов терминала, а также в случае отсутствия KEX/KED/K52 на системном диске.
Для включения SL выдается команда SET SL ON если тип терминала совместим с VT52, VT100 или VT200. При этом в RT-11 предварительно выдается команда SET SL VT52 или SET SL VT100.
Для включения окон в TSX-Plus в прошлых версиях программы использовалась команда SET WINDOW ON. Начиная с TTSET версии 6.0, вместо этого используются системные вызовы. Это позволяет разрешить пользователю самостоятельно манипулировать окнами без необходимости давать ему привилегию SYSGBL (программа TTSET в этом случае должна быть установлена в системе командой INS ADD SY:TTSET/PRIV=(NODEBUG,SYSGBL).
В RTEM-11 и TSX-Plus программа включает ввод букв нижнего регистра.
В RTEM-11 программа не меняет тип терминала, установленный в RSX-11.
Программа молча игнорирует параметры которые не поддерживаются в данной системе или недоступны для данного типа терминала.
В прошлых версиях TTSET в RT-11 (если это не RTEM-11) автоматически включалось автоопределение терминала. Начиная с TTSET версии 6.0 нужно явно задать параметр /INQUIRE. Если тип терминала не задан явно и не определяется из настроек TSX-Plus и RSX-11 (в RTEM-11), включается автоопределение типа терминала.
В TTSET версии 6.1 если автоопределение типа терминала с помощью <ESC>Z не сработало, делается попытка определить терминал с помощью ANSI последовательности <ESC>[c. Этот вариант работает в tmux.
Возможные проблемы:
В RT-11XM V4 и старее если на системном диске будет обнаружен файл KEX.SAV - будет выдана команда SET EDIT KEX которая не поддерживается в этих системах.
В ФОДОС В3.0 (возможно и в других версиях) нет команды SET EDIT K52.
В TSX-Plus не проверяется наличие поддержки SL в системе.
Не проверял как реагирует система без поддержки на команду SET SL ON.
В RT-11 программа надеется что драйвер SL поддерживает команды SET SL VT52 и SET SL VT100. В дистрибутивном драйвере от RT-11 V5.6 и новее, а так же в советском варианте эти команды не поддерживаются. Годится полноценный SL из RT-11 V5.4G или собранный вручную с нужными опциями (в RT-11 V5.7 source kit есть исходники).
В tmux программа не может определить тип терминала. Возможно tmux реагирует только на ANSI вариант запроса <ESC>[c и не реагирует на классический <ESC>Z. Проверю на досуге.
Программа TTSET использует запросы .MRKT и .CMKT. Если используется SJ/SB монитор без поддержки таймера, автоопределение терминала может подвиснуть если терминал не ответил ни на один из вариантов опроса.
.TTSET /INQ/SL/WIN/TEST
?TTSET-I-Terminal type is VT200 series
?TTSET-I-The following commands would be executed:
SET EDIT KED
SET TT VT200
SET SL ON
SET WINDOW ON NARROW DARK
.
UPD: V6.1 - исправлены мелкие ошибки, добавлена возможность определения терминала с помощью ANSI ESC-последовательности. Возвращено старое поведение: если тип терминала не определился из системных настроек и не указан явно, включается режим автоопределения.
UPD: V6.2 - добавлена проверка типа терминала при установке ANSI атрибутов
UPD: V7.0 - возвращена команда SET WINDOW в TSX-Plus (тип терминала должен быть установлен до включения окон)
UPD: V7.1 - поддержка типа терминала PC3XX
UPD: V7.2 - опция приведения терминала в нормальный режим
form, а я возвращаюсь к TSX. Почему драйвер DU (или какой, не помню) такой толстый, что после него не остается места в нижних 40К? Не получится ли его разбить на два? По типу того, как был сделан драйвер LD в RT-11: вызванный LD, вычисляет новый дисковый адрес и переходит к драйверу того диска, на котором находится этот логический диск. А здесь так не получится? В физическом драйвере расположить только запуск физической операции обмена и обслуживание окончания операции, не думаю, что это потребует много кода. А все остальное - вычисление дисковых адресов, номеров устройств и все связанные с этим таблицы и поля перенести в логический драйвер, который можно будет сделать MAPH. Не выйдет?
Почему драйвер DU (или какой, не помню) такой толстый, что после него не остается места в нижних 40К?
Я бы не сказал, что такой уж он большой - 340. слов всего. Какой-нибудь DHU/DHV раз в 7-8 больше жрут, не говоря уже о любом магнитофонном полноценном драйвере... И тем не менее, у меня одновременно и DU и MU и DHV и DZQ и 5 DLV11... MU входит только без поддержки файловой системы, но для BUP и не требуется...
.SH DEV
Active Handler Handler Handler
Device I/O Status V. base P. base size CSR Vector
------ ------ ------ ------- ------- ------- ------ ------
TT 0 000004
LD 0 102446
CL 0 016057 061550 000000 512
DU 0 102450 112566 000000 340 172150 154
MU 0 017060 113312 000000 410 174500 260
EQ 3 007061 120000 073370 3528 174440 120
LP 0 030003 120000 072371 406 177514 200
NL 0 000025 120000 072370 60
VM 0 102447 114144 000000 426
.
---------- Post added at 19:29 ---------- Previous post was at 19:26 ----------
к драйверу того диска, на котором находится этот логический диск
То есть кроме уже существующего DU сделать к нему довесок который бы на него ссылался? :)
Не выйдет?
Было бы желание изучить вопрос, а сделать все можно :) Борьба с оверлеями в 2.11BSD в этом плане весьма поучительна - там можно фактически любой драйвер выгнать из базы и загнать в оверлей, включая тот с которого система грузится и даже терминал :)
---------- Post added at 19:32 ---------- Previous post was at 19:29 ----------
Взможно правда в 6.01 DU больше занимает - там вроде не было еще регионов для устройств куда часть драйвера улетает как это сделано в новых RT-11. Под рукой нету готового к запуску чтобы посмотреть...
---------- Post added at 19:33 ---------- Previous post was at 19:32 ----------
Но ив 6.01 у меня проблемы с 40Kb начинались только когда все 17 терминалов пытался запустить да кучку CL, да... но при том без MU - он там не пойдет просто...
Но ив 6.01 у меня проблемы с 40Kb начинались только когда все 17 терминалов пытался запустить да кучку CL, да... но при том без MU - он там не пойдет просто... Ну, так разобраться, кто там жрет память в нижних 40 К и переделать соответствующие дровишки, чтобы бОльшую часть загнать в MAPH.
Кстати, обратил внимание, бОльшая часть TSX оттранслирована с /ENABLE:AMA, т.е. вместо метода адресации 67 везде стоит 37, вероятно, для облегчения отладки. Что, кстати, сильно нагружает реальный процессор во время линковки - "думает" ДВК над этой линковкой вполне конкретно. По эмулятором этого, естественно, не заметишь.
Ну, так разобраться, кто там жрет память в нижних 40 К и переделать соответствующие дровишки, чтобы бОльшую часть загнать в MAPH.
NOMAPH и NOSET - наследство от драйверов RT-11 из которых все сделано с минимальными переделками. Проще не переделать, а с нуля написать так, чтобы можно было в MAPH загнать. Только кто этим будет заниматься? :)
Мне оно не критично - во-первых нет проблемы с 40Kb несмотря на просто огромнейшую с точки зрения пожирания нижней памяти конфигурацию, да и TSX для меня не основная система...
---------- Post added at 12:20 ---------- Previous post was at 11:47 ----------
Касаемо TSX и того же DU есть задача интереснее: в связи с тем, что TSX в отличие от RT-11 не поддерживает номера устройств больше 7 - сделать драйвер который позволял бы получить доступ к остальным разделам DU
2 ALL: А есть где-нибудь в природе описание DESS'а?
2 ALL: А есть где-нибудь в природе описание DESS'а?
Есть.
AFZ, я пользуюсь 19 блоков версией программы. Patron во всю продвигает другую версию, но они по функциям на клавишах не совпадают, описаний так же как и вариантов программы куча - но какая к какой соотносится надо проверять. Я просто не занимался этим. Стандартный функционал примерно одинаков, но различия есть. И ещё не все варианты одинаково хорошо себя чувствуют и на ДВК и на УК-НЦ (не знаю уж в силу каких особенностей), 19 блоков
меня устраивает полностью и одинаково хорошо работает везде. В версии Patrona
почему то переключается (без спроса) на кириллицу и у УК-НЦ начинает портится экран + не нашёл в ней соч.клавишь - что бы попасть и редактировать инф. в правом окне(???), обычно это <ctrl>+"J", критерии поиска и сам поиск по разному
реализован в разных версиях программы. В общем то по дискетам раскидано много версий программы и описаний )))
http://sderni.ru/271458 - ссылка строго временная.
Отдельную тему пока не создал, соответственно в софт...
Выложил новые файлы (http://pdp-11.org.ru/~form/files/pdp-11/rtem-11/) RTEM-11.
RTEM.TSK и JOAT.SAV поправлены так, что теперь тип файлов по умолчанию DSK, а не SYS (как это должно быть в RTEM-11 V2)
RT11SH.DSK - порядок файлов изменен так, что временный файл RTEM теперь занимает 165 блоков вместо полного размера shared образа
Написан драйвер RK для возможности подключения RSXного DK: и/или загрузки с него
.DIR
15-May-2015
DIR .SAV 20P 31-Oct-1998 PIP .SAV 30P 31-Oct-1998
DUP .SAV 52P 31-Oct-1998 RESORC.SAV 35P 31-Oct-1998
UCL .SAV 16P 31-Oct-1998 UCF .SAV 16P 31-Oct-1998
FIP .SAV 61P 29-Dec-2012 JOAT .SAV 52P 15-May-2015
EDIT .SAV 19P 31-Oct-1998 K52 .SAV 81P 07-Apr-2011
KED .SAV 85P 31-Oct-1998 MACRO .SAV 63P 31-Oct-1998
CREF .SAV 6P 31-Oct-1998 LINK .SAV 59P 31-Oct-1998
LIBR .SAV 24P 31-Oct-1998 FILEX .SAV 22P 31-Oct-1998
SRCCOM.SAV 26P 31-Oct-1998 BINCOM.SAV 25P 31-Oct-1998
SLP .SAV 13P 31-Oct-1998 DUMP .SAV 10P 31-Oct-1998
SIPP .SAV 21P 31-Oct-1998 BUP .SAV 68P 31-Oct-1998
PAT .SAV 11P 31-Oct-1998 HELP .SAV 161P 31-Oct-1998
BATCH .SAV 26P 31-Oct-1998 SETUP .SAV 43P 31-Oct-1998
LET .SAV 6P 31-Oct-1998 SPLIT .SAV 3P 31-Oct-1998
TRANSF.SAV 16P 31-Oct-1998 TRANSF.TSK 76P 31-Oct-1998
TRANSF.EXE 45P 31-Oct-1998 DBGSYM.SAV 10P 31-Oct-1998
INDEX .SAV 11P 31-Oct-1998 INDEXX.SAV 14P 31-Oct-1998
INDEXA.IMG 164P 31-Oct-1998 INDEXB.IMG 165P 31-Oct-1998
INDEX .IDX 7P 31-Oct-1998 PASCAL.SAV 52P 29-Jan-1984
FORTRA.SAV 128P 29-Jan-1984 F77 .SAV 327P 29-Jan-1984
BASIC .SAV 56P 29-Jan-1984 TECO .SAV 50P 31-Oct-1998
SYS .SAV 3P 29-Jan-1984 SYSMAC.SML 66P 19-Dec-1988
SYSLIB.OBJ 47P 19-Dec-1988 PASCAL.OBJ 89P 19-Aug-1986
FORLIB.OBJ 205P 31-Dec-1982 F77OTS.OBJ 135P 29-Jan-1984
F77CVF.OBJ 4P 29-Jan-1984 F77NER.OBJ 1P 29-Jan-1984
F77MAP.OBJ 33P 29-Jan-1984 F77EIS.OBJ 3P 29-Jan-1984
F77RAN.OBJ 2P 29-Jan-1984 F77COM.MSG 14P 29-Jan-1984
VDT .OBJ 8P 31-Oct-1998 RTEMFB.SYS 108P 02-Feb-2012
SWAP .SYS 28P 31-Oct-1998 LDM .SYS 11P 01-Feb-2012
BAM .SYS 7P 01-Feb-2012 NLM .SYS 2P 01-Feb-2012
SLM .SYS 17P 30-Jan-2012 SDM .SYS 23P 30-Jan-2012
VSM .SYS 6P 01-Feb-2012 RKM .SYS 4P 15-May-2015
IND .SAV 58P 31-Oct-1998 UCL .DAT 9P 29-Jan-1984
66 Files, 3058 Blocks
486 Free blocks
.
Образ RT11SH.DSK (в сообщении выше) обновился. Теперь JOAT и FIP умеют работать с файлами на DU:... Драйвер DU для работы с физическим диском в процессе написания.
Обновление RTEM-11
вопросик : а Вы модифицируете RTEM - тот, который у меня нашелся или какой-то другой появился ?
а Вы модифицируете RTEM - тот, который у меня нашелся или какой-то другой появился ?
Нет, все тот же. В сущности информации хватает чтобы свой с нуля сделать, но лениво же. Да и не хватает по сути только одного - работы с именными каталогами, будет время - доковыряю.
все тот же
Вы должны знать, что он был восстановлен с поврежденного носителя и возможно не на 100% оригинальный.
Вы должны знать, что он был восстановлен с поврежденного носителя и возможно не на 100% оригинальный.
Про оригинальность ничего не скажу, но он был у тебя не только на битой дискете, еще был считан "красивый" такой, с ПРОС-инсталлятором. Бинарники побитно совпали. Могу поднять историю в ПН.
Вы должны знать, что он был восстановлен с поврежденного носителя и возможно не на 100% оригинальный.
Пока проблем не обнаружено. Все работает как часы. Впрочем возможно среди добавления фич я и исправлял чего - надо будет на досуге историю припомнить для отдельной темы по RTEM. В самих RT-11 V5 точно исправлял ибо там исторические есть ошибки в коде для RTEM.
form, А RTшный фокал есть?
С фокалом для ДВК и УК-НЦ есть любопытный момент.
А по DECовский Фокал - я почему то решил (вот откуда у меня это осело? наверное где то вычитал?), что
его использовали на мифических PDP-8 ? http://www.pdp8.net/lang/focal/index.shtml
Имеется в виду - активно или очень активно использовали )
Про фокал дисковый для УК-НЦ, замечено вот что
1. В шапке строго написано авторство и год разработки 1988 МИЭТ и там же строго указана МИКРО ЭВМ УК-НЦ,
но тогда получается, что у ребят в лаборатории (на кафедре) для отладки как минимум всякого ПО уже стояли
рабочие УК-НЦ, в 1988 году!!!
2. В том же описании функций языка все примеры используют MX: - как устройство, отсюда косвенный такой
домысел - сам интерпритатор и дока к нему - суть переделка с ДВКашной версии !
3. Номера цветов в варианте ФОКАЛ \ УК-НЦ соответствуют правильному RGB
(**) КОДЫ ЦВЕТА: 0 - ЧЕРНЫЙ, 1 - СИНИЙ, 2 - ЗЕЛЕНЫЙ, 3 - ГОЛУБОЙ, 4 - КРАСНЫЙ,
5 - ПУРПУРНЫЙ, 6 - ЖЕЛТЫЙ, 7 - БЕЛЫЙ.
доп. вопрос
ГРАФИЧЕСКИЙ ЭКРАН ПРЕДСТАВЛЯЕТ СОБОЙ РАСТРОВУЮ МАТРИЦУ ТОЧЕК РАЗМЕРОМ 393
Х 263.
X=0 +-----------------------------+ X=393
Y=263 ! ! Y=263
! !
! ГРАФИЧЕСКИЙ ЭКРАН !
! !
X=0 ! ! X=393
Y=0 +-----------------------------+ Y=0
- такой экран соответствует ли вписывается и может быть использован на
двухцветном КГД+15IE_00_013
(если кто то знает большие подробности или обладает копией
другого варианта реализации интерпретатора Фокал для RT-11 просьба для изучения и с целью добавления
в архив выкладывать, а так же любые комментарии приветствуются!).
FOCAL.SAV - мне встречается и попадается пока только один вариант = 20 блоков. Возможно
отличие номеров версий, но это УК-НЦ вариант, с цветами для закраски и к примеру в эмуляторе
Patrona - глючит - не выдаёт * - как готовность к работе, а пишет несколько других символов.
Есть и вовсе "битые" копии этого файла.
Язык на удивление простой, а среда очень своеобразна. Она помнит все изменения после последнего запуска
вашего алгоритма, это важный момент, для очистки значений переменных или памяти целиком используется
функция E(rase) (см. раздел описания 5. ОПЕРАТОРЫ ОТЛАДКИ ПРОГРАММЫ). Как пишут сами разработчики,
"ФОКАЛ - ЭТО ПРОСТОЙ И ЛЕГКИЙ ДЛЯ ОБУЧЕНИЯ ДИАЛОГОВЫЙ ЯЗЫК ПРОГРАММИРОВА-
НИЯ, ИДЕАЛЬНЫЙ ДЛЯ УЧЕНЫХ, ИНЖЕНЕРОВ, СТУДЕНТОВ, НЕ ИМЕЮЩИХ ВРЕМЕНИ ДЛЯ ИЗУ-
ЧЕНИЯ СЛОЖНЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ, НО НУЖДАЮЩИХСЯ В РЕШЕНИИ ЗАДАЧ. ФОКАЛ
ПОЗВОЛЯЕТ ВЫПОЛНЯТЬ ВЫЧИСЛЕНИЯ ИЛИ НЕКОТОРЫЕ ОПЕРАЦИИ СРАЗУ ПОСЛЕ ВВЕДЕНИЯ
СООТВЕТСТВУЮЩЕЙ КОМАНДЫ. ПОЛЬЗОВАТЕЛЬ МОЖЕТ ТАКЖЕ ПРОНУМЕРОВАТЬ КАЖДУЮ СТРО-
КУ, СОДЕРЖАЩУЮ КОМАНДЫ, ТЕМ САМЫМ ОФОРМИТЬ ПРОГРАММУ. ФОКАЛ ОБЕСПЕЧИВАЕТ ПОЛ-
НЫЙ НАБОР КОМАНД ДЛЯ ВЫПОЛНЕНИЯ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ, УПРАВЛЕНИЕ ВЫПОЛНЕ-
НИЕМ ПРОГРАММЫ И ОПЕРАЦИЯМИ ВВОДА/ ВЫВОДА. ИМЕНА ОПЕРАТОРОВ В ЯЗЫКЕ ФОКАЛ МО-
ГУТ БЫТЬ СОКРАЩЕНЫ ДО ОДНОЙ БУКВЫ". (THE INTERNATIONAL 1985/1986 DECUS PROG-
RAM LIBRARY SOWTWARE CATALOG. PDP-11 ABSTRACTS. 11-454.)
Пишу в этой теме, поскольку хочется нащупать версию для ДВК! Если таковая была.
хочется нащупать версию для ДВКВероятно подойдёт FOCAL DEC с возможностью двух вариантов сборки: для запуска из ПЗУ и для запуска под RT-11 : Focal_DEC.zip (http://emulator.pdp-11.org.ru/misc/Focal_DEC.zip)
Вероятно подойдёт FOCAL DEC с возможностью двух вариантов сборки: для запуска из ПЗУ и для запуска под RT-11 : Focal_DEC.zip (http://emulator.pdp-11.org.ru/misc/Focal_DEC.zip)
Отлично! Добавлю ссылку на этот архив в шапку темы http://zx-pk.ru/showthread.php?t=25802 - FOCAL.
.
Консольная утилита для Windows : UnRoll.exe (http://emulator.pdp-11.org.ru/misc/UnRoll_v1.0.zip) v1.0 - позволяет просматривать и распаковывать *.TAP образы лент эмулятора SIMH, записанные в формате ROLLIN и PIP.
Usage:
UnRoll file_name - unpack tape image
UnRoll file_name /L - list contents of tape image
UnRoll /L - list contents of all *.TAP files in current directory
UnRoll /A - unpack all *.TAP files in current directory
Листинг выводится в stdout, поэтому для сохранения листинга содержимого всех TAP-файлов текущего каталога в файле ( например ) CATALOG.TXT нужно выполнить в консоли команду:
UnRoll /L > CATALOG.TXT
В комплекте идут два TAP-образа лент в форматах ROLLIN и PIP, на которых можно потренироваться.
А для TAP-файлов есть какая-то проверка битая лента/не битая?
А для TAP-файлов есть какая-то проверка битая лента/не битая?Если во время извлечения файла из образа - в образе встречается блок, помеченный как "сбойной" - запись файла тут же прекращается и файл закрывается. Это пока единственная реакция. За счёт такого подхода вся извлекаемая информация заведомо "безошибочна".
Если выложить реальные TAP-образы формата ROLLIN и PIP со "сбойными" блоками в файлах - можно будет добавить в листинг пометку "BAD" напротив каждого файла с такими блоками.
http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/rt/tapetools/readrt.for - программулина на фортране )
.
Консольная утилита для Windows : UnRoll.exe (http://emulator.pdp-11.org.ru/misc/UnRoll_v1.0.zip) v1.0 - позволяет просматривать и распаковывать *.TAP образы лент эмулятора SIMH, записанные в формате ROLLIN и PIP.
Usage:
UnRoll file_name - unpack tape image
UnRoll file_name /L - list contents of tape image
UnRoll /L - list contents of all *.TAP files in current directory
UnRoll /A - unpack all *.TAP files in current directory
Листинг выводится в stdout, поэтому для сохранения листинга содержимого всех TAP-файлов текущего каталога в файле ( например ) CATALOG.TXT нужно выполнить в консоли команду:
UnRoll /L > CATALOG.TXT
В комплекте идут два TAP-образа лент в форматах ROLLIN и PIP, на которых можно потренироваться.
Низкий поклон! Скоро будет очень актуально.
Осталось сделать для ANSI, BUP (это впрочем вариант ANSI), BRU, DOS-11. Может будет время - сделаю под шумок - а то в планах как раз переписать свои утилитки для образов лент и дисков.
.
Утилита: COPYDX.SAV (http://emulator.pdp-11.org.ru/misc/COPYDX_v1.1.zip) - предназначена для посекторного копирования дисков DX и их форматирования с контроллером СМ 5631.
В комплекте есть файл конфигурации SM5631.cfg, позволяющий потренироваться в эмуляторе ДВК ( до ближайшего релиза эмулятора ДВК надо брать exe-файл из свежего релиза эмулятора VT52 (http://emulator.pdp-11.org.ru/VT52/distr/VT52_17.02.16_19-18.rar) ).
.RU COPYDX
*
CopyDX v1.0 /H - Help
*/H
CopyDX v1.0 : DX dump & format utility
DskName/R : DX0 to DSK
DskName/R:1 : DX1 to DSK
DskName/W : DSK to DX0
DskName/W:1 : DSK to DX1
/F : Format DX0 (SM5631)
/F:1 : Format DX1 (SM5631)
*HD1:DX.DSK/R:1
DX to DSK image
1: 0: 1 Error code: 110
1: 0: 3 Error code: 110
1: 0: 5^C
1: 0: 5^C
.RU COPYDX
*/F:1
--- FORMAT ---
1:76 Track time: 0.78 sec
*^C
.INI/NOQ DX1:
.DIR DX1:
18-Feb-2016
0 Files, 0 Blocks
486 Free blocks
.
Имеющиеся в комплекте FMT-файлы позволяют задавать состояние разметки для каждого поля каждого сектора диска:
Sector[01]Header[+]CRC[+]Data[+]CRC[+]
где:
[+] - нормальная разметка
[ ] - отсутствие разметки
[-] - плохая разметка
[#] - физическое повреждение
Форматирование не работает увы...
В DX0: просто пишет Drive not ready, в DX1 пишет что идет форматирование без ошибок, но потом INIT не проходит. Есть подозрение что в DX1: не работает запись, попробовал скопировать на дискету саму программу - ошибок не было, но файл не появился. В DX0: копирование отработало успешно. Но форматирование не запускается... INIT на отформатированную в DX1: дискету вставленную в DX0 не работает - клацает бошками...
- - - Добавлено - - -
обратил внимание - в dx1 головку при попытке форматирования не позиционирует, прижимает головку только на 28 треке
- - - Добавлено - - -
попытка чтения в dx0 заканчивается драйв нот риди, а в дх1 - ошибки 120
- - - Добавлено - - -
читал заведомо хорошую дискету
пишет Drive not readyКонстанты для количества циклов ожидания были взяты наугад.
Для начала можно сделать ожидание бесконечным, а затем подобрать константы - для этого надо найти в исходнике подпрограммы ожидания:
.................................................. .....
;............... Ожидание запроса DX .................;
WaitTR:
1$:
Clr R0
2$:
BiT #<CSTR!CSERR>, @$SReg
BMi DxErr
BNE LRet3
;; SOB R0, 2$ ; Это убрать
Br 2$ ; Это вставить
Br NtRd
DxErr:
.PRI mDxErr
Br ErrRet
.................................................. .....
;.............. Ожидание готовности DX ...............;
;
; R1 = Количество циклов ожидания.
;
WaitDX:
1$:
Clr R0
2$:
BiT #<CSDONE!CSERR>, @$SReg
BNE LRet3
;; SOB R0, 2$ ; Это убрать
Br 2$ ; Это вставить
SOB R1, 1$
NtRd:
.PRI NotRdy
ErrRet:
SeC
LRet3:
Return
После чего перекомпилить программу :
.EX COPYDX
- - - Добавлено - - -
И там же следом ещё два места, где может ругаться :
ResetDX:
Mov #CSINIT, @$SReg
Mov #100., R1
Call WaitDX
BCS LRet
BiT #ESID, @$DReg
;; BEq NtRd ; Это убрать
BEq LRet ; Это вставить
Mov #C.RDST, R0 ; R0 = Чтение регистра состояния.
BiS $Drive, R0 ; Учесть номер привода.
Mov R0, @$SReg
4$:
Mov #32., R1
Call WaitDX
BCS LRet
BiT #ESDRY, @$DReg
;; BEq NtRd ; Это убрать
LRet:
Return
Попытаюсь справиться)
- - - Добавлено - - -
Вродь пересобрал, завтра буду пробовать на железе.
Небольшая програмка, меняющая консольный терминал в однотерминальных RT-11. В принципе такая програмка есть в дистрибутиве (CONSOL.MAC), но ее надо каждый раз пересобирать, а здесь можно указать CSR и VECTOR.
меняющая консольный терминал в однотерминальных RT-11.
А можно на конкретном примере гипотетическом функционал программы продемонстрировать.
То есть что означает "меняющая консольный терминал", смена типа терминала на лету с VT52 на какой-то другой к примеру или что?
Я хочу выяснить насколько ctty (http://zx-pk.ru/showthread.php?t=10718&p=858381&viewfull=1#post858381) по теме архива и актуален для ДВК \ УК-НЦ ?
А можно на конкретном примере гипотетическом функционал программы продемонстрировать.
То есть что означает "меняющая консольный терминал", смена типа терминала на лету с VT52 на какой-то другой к примеру или что?
Я хочу выяснить насколько ctty по теме архива и актуален для ДВК \ УК-НЦ ? ctty я не разглядывал, а CONSOL.MAC в свое время собирал и испытывал. Все просто. Допустим, у тебя есть два терминала, каких-нибудь Mera 7209, подключенных по адресам 177560/66 и 176560/66, возможно стоящих в разных местах. Загружаешь однотерминальную RT-11, консольным, естественно, окажется тот, который подключен к адаптеру 177560. Запускаешь программу CONSOL, и она сменит адрес/вектор консоли системы на те, которые прописаны в ее коде. А у ctty, как я понял, адрес/вектор принимаются параметрами. Пропиши там 176560 - 360, и консольным станет именно этот терминал, твоя вторая Mera.
Зачем это нужно? Представь, что ЭВМ стоит в машзале, консоль рядом с ней, а терминалы растащены по рабочим местам, в том числе таковой имеется и в твоем кабинете. Вы работаете под "большой" многозадачкой, допустим, RSX-11, TSX-11 и т.д. Тебе вдруг понадобилось что-то поадминить из-под простой RT-11. Идешь в машзал, монтируешь все необходимые диски/ленты/etc, загружаешь RT-11, начинаешь админить и чувствуешь дискомфорт - ЭВМ шумит, клавиатура у терминала непривычная, шкаф с софтовыми доками у тебя в кабинете... Подаешь команду CONSOL и идешь продолжать работу из своего кабинета.
То есть, конечно, с RSX в качестве основной системы такое маловероятно, а вот с TSX или ДИАМСом - запросто.
Почему сразу не поставить системный терминал у тебя в кабинете? Потому, что он нужен когда мослают железо.
Зачем оно на ДВК/УКНЦ? Не знаю. Так, на всякий случай.
актуален для ДВК \ УК-НЦ ?
У ДВК/УКНЦ есть второй порт для терминала, соответственно может и потребность быть туда переключиться.
Попробовал вариант со всеми исправлениями, в дисководе 0 зависаем на 0:0 а в дисководе 1 ничего не поменялось - дорожки якобы меняются, но голова не едет вперед, головка прижалась только на 1:14.
Попробовал вариант со всеми исправлениями, в дисководе 0 зависаем на 0:0Для начала есть смысл проверить копирование образа рабочего диска DX из нулевого и первого приводов в файл на приводе HX.
У ДВК/УКНЦ есть второй порт для терминала, соответственно может и потребность быть туда переключиться.Конечно есть, просто я сомневаюсь, что такая потребность когда-нибудь возникнет естественным путем - я не смог придумать ситуацию, когда это реально может понадобиться. Кроме попробовать или поиграть.
не смог придумать ситуацию, когда это реально может понадобиться
Например нету монитора, а запуститься хочется :)
Например нету монитора, а запуститься хочется Этот случай я отметил, как "поиграть"
Этот случай я отметил, как "поиграть"
Случай совершенно реальный - у меня сейчас например нету ни моинтора ни тюнера куда УКНЦ подключить.
Случай совершенно реальный - у меня сейчас например нету ни моинтора ни тюнера куда УКНЦ подключить. А на хрена ее сейчас включать, кроме, как поиграть? И игрушка будет неполноценной, графика-то осталась на 177560. А с ДВК - так и вообще, если нет монитора, то не ставить в него КЦГД, порт переключить на 177560, и вперед.
кроме, как поиграть?
Ни в советское время ни сейчас игры на компьютере не интересовали :)
Сам компьютер - игра...
.
В новой версии программы: COPYDX.SAV (http://emulator.pdp-11.org.ru/misc/COPYDX_v1.2.zip) - внесены следующие изменения:
1. Исправлена ошибка, приводившая к неопределённому поведению.
2. Не прочитанные с диска сектора заполняются в образе кодом 0x0F.
3. Таймаут при ожидании определяется по тикам таймера.
4. После инициализации привода не проверяется бит готовности.
Patron, попробую, если сегодня на склад попаду, протестировать на реале. А есть какие-либо мысли почему форматирование не работает?
А есть какие-либо мысли почему форматирование не работает?В нулевом приводе ждёт сигнала INDEX, а что происходит в первом приводе - загадка.
Можно заменить механику в первом приводе на дисковод 5" или 3" со скоростью вращения 360 rpm. Сигналы там одинаковые, надо только переходник сделать.
Можно посадить логический анализатор на линию WDAT и сохранить лог всех импульсов записи, подаваемых контроллером в первый привод при выполнении команды форматирования дорожки.
Можно заменить механику в первом приводе на дисковод 5" или 3" со скоростью вращения 360 rpm. Сигналы там одинаковые, надо только переходник сделать.
Да я думаю что нет особого смысла, электромагнит я уже подогнул слегка, так что срабатывает чётко.
Можно посадить логический анализатор на линию WDAT и сохранить лог всех импульсов записи, подаваемых контроллером в первый привод при выполнении команды форматирования дорожки.
Попрошу Prusak'а дать попользоваться анализатором.
В нулевом приводе ждёт сигнала INDEX, а что происходит в первом приводе - загадка.
Для начала можно перекинуть сами приводы DX (или шлейф подключения) с 0 на 1 и убедится в наличии сигнала INDEX. Насколько я понял неисправен привод 0.
Можно заменить механику в первом приводе на дисковод 5" или 3" со скоростью вращения 360 rpm. Сигналы там одинаковые, надо только переходник сделать. Разве в 3,5 есть скорость 360?
http://www.dbit.com/wilson/floppy.html
Для начала можно перекинуть сами приводы DX (или шлейф подключения) с 0 на 1 и убедится в наличии сигнала INDEX. Насколько я понял неисправен привод 0.
Уже сделал, проблема именно в приводе, а не в шлейфах.
Разве в 3,5 есть скорость 360?Если есть 1.6 MB mode ( например - Teac FD-235HG (https://www.teac.co.jp/storage/pc/catalog/fd235.pdf) ).
Утилита скорее для эмуляторов, но тем не менее пусть здесь будет. Это перепись моей старой программы для создания образов лент к различным эмуляторам. Цель - собирать образы лент из кусочков какими представлены дистрибутивы например в The Unix Archive (http://www.tuhs.org/).
Позже оформлю в виде исходников, пока программа для windows (ежели кому надо для BSD/Linux - в личку).
Использование:
usage: mktape.exe [-o tapefile] [-t type] <file|+|#size|EOF|EOT> [...]
mktape.exe [-o tapefile] [-t type] -l tapelog tapedump
Опция -o задает имя выходного файла (по умолчанию mktape.tap), опция -t задает тип образа: e11, simh, tpc или charon.
Первый формат собирает образ из отдельных файлов в том порядке в котором они указаны. При этом аргументы могут принимать следующие значения:
+ - перед следующим файлом не будет записан EOF (а также EOT
если файлов в командной строке больше нет)
#размер - устанавливает размер блока в байтах (по умолчанию 512)
файл - файл записывается на ленту
EOF - записывается маркер EOF
EOT - записывается маркер EOT (два EOF)
На примере сборки 2.11BSD из файлов TUHS:
mktape -o bsd.tap mtboot + mtboot + boot #1024 disklabel mkfs restor icheck #10240 root.dump file6.tar file7.tar file8.tar
Второй формат берез данные из файла дампа ленты и выставляет разметку согласно лог файла, содержащего размеры текущего блока и маркеры EOF/EOT.
На примере Ultrix 3.0 из файлов TUHS:
mktape -o ultrix.tap -l tapelog tapedump
UPD: Файл перенесен дальше по теме (http://zx-pk.ru/showthread.php?t=10718&p=864872&viewfull=1#post864872).
А SUPER/COPIER пробегала здесь такая программка?
- - - Добавлено - - -
На всякий случай программа SUPER/COPIER.
SUPER/COPIER - HELP
КОМАНДНАЯ СТРОКА: DEV:[FILNAM][/SW]<DEV:[FILNAM][/SW]
DEV -ИМЯ УСТРОЙСТВА (НЕ БОЛЕЕ 3-Х СИМВОЛОВ)
FILNAM -ДЛЯ MT: МЕТКА ROLLIN-ФАЙЛА
-ДЛЯ DK: ИМЯ ФАЙЛА С РАСШИРЕНИЕМ .VIR
(РАСШИРЕНИЕ НЕ УКАЗЫВАЕТСЯ!)
/SW (ТОЛЬКО ДЛЯ MT):
/FI -ПОИСК ОТ ТОЧКИ ЗАГРУЗКИ
/WN -ПОИСК ОТ СЛЕДУЮЩЕГО МАРКЕРА
<ПУСТО> -ЧТЕНИЕ (ЗАПИСЬ) ОТ ТЕКУЩЕЙ ПОЗИЦИИ
/LI -СПИСОК ROLLIN-ФАЙЛОВ НА ЛЕНТЕ
/LP -СПИСОК ROLLIN-ФАЙЛОВ НА ЛЕНТЕ НА АЦПУ
/DI -КАТАЛОГ УКАЗАННОГО ROLLIN-ФАЙЛА
/DP -КАТАЛОГ УКАЗАННОГО ROLLIN-ФАЙЛА НА АЦПУ
/EX -ИЗВЛЕЧЕНИЕ ФАЙЛА ИЗ ROLLIN-ФАЙЛА
/DO -ЧТЕНИЕ ЛЕНТЫ В ФОРМАТЕ DOS
/TE -ТЕСТИРОВАНИЕ ЛЕНТЫ ЛЮБОГО ФОРМАТА
ПОДРОБНОЕ ОПИСАНИЕ КОМАНД И КЛЮЧЕЙ ДАНО В ДОКУМЕНТАЦИИ
#
А SUPER/COPIER пробегала здесь такая программка?Описание SM.SAV есть здесь: TapeUtils.zip (http://emulator.pdp-11.org.ru/misc/TapeUtils.zip)
На всякий случай программа SUPER/COPIER
Тлько не вся она тут. Что впрочем решаемо.
COPYDX 1.1 не работает вовсе. Клацает один раз головой, потом просто валит ошибку 120 с отжатой головой. Проверял в двух карманах.
COPYDX 1.1 не работает вовсе. Клацает один раз головой, потом просто валит ошибку 120 с отжатой головой. Проверял в двух карманах.Если запускать предыдущую и новую версию по очереди, то старая работает, а новая нет, или обе не работают ?
- - - Добавлено - - -
Если дисковод клацает головой и возвращает ошибку 120 - значит контроллер не получает сигнал RDAT от механики. Такое никак не может зависеть от программы.
- - - Добавлено - - -
Ошибка 120 означает, что диск не форматирован, или в дисководе нет диска.
Patron, тысяча извинений, это я лох, поменял же шлейфы местами, а пихаю по старому в 0й карман и прошу прочитать с 0го... Считывается новой софтиной) Через пару минут сообщу результат
- - - Добавлено - - -
Да, диска не было...
- - - Добавлено - - -
Получилось, считалось, файлик записался!!!
Вот образ, в конце там пару битых секторов было.
Получилось, считалось, файлик записался!!!Чтобы образ сразу получался правильного размера 256256 - нужно в свежей версии эмулятора VT52 использовать при копировании привод HX ( например - HX1: ), подключенный к каталогу Windows. После прогона чтения DX в программе - надо выйти из программы, сделать DIR HX1: и тогда скопированный файл появится в каталоге Windows и будет иметь правильный размер.
Теперь можно сдампить дискету с русифицированной версией XXDP.
- - - Добавлено - - -
А можно копировать образ DX из файла DSK при помощи свежей версии DSK-плагина (http://zx-pk.ru/showthread.php?t=11015) - тогда размер тоже будет правильным.
Я так и делал, дампил в каталог. Правда версия у меня старая, поэтому наверное и образ неверного размера. Мой косяк)
Еще один интересный момент - внезапно в том кармане, где исправный индекс (который dx1 был) при любых операциях стало выскакивать drive not ready. При открытой дверце появляются номера дорожки сектора, но как только закрываю - нот риди. Концевик датчика закрытия проверил - работает... Что еще может вызывать такое поведение? Что проверить? Загрузка с этого кармана тоже отвалилась - прижимает голову, читает первую дорожку и все. Машина не зависает, но и не продолжает чтение...
.
В новой версии программы: COPYDX.SAV (http://emulator.pdp-11.org.ru/misc/COPYDX_v1.2.zip) ( v1.2a ) - внесены следующие изменения:
1. Теперь при форматировании диска в приводе СМ 5631 перед форматированием дорожек 2..76 производится сброс контроллера.
Слегка обновленный DUP для RT-11 V5.7. С точки зрения RT-11 ничего не поменялось. Изменение коснулось только загрузки чужой системы с DU - в этом случае контроллер инитится так, чтобы в address/status register было ненулевое значение. Это позволяет загружать RSX-11 командой BOOT/FOREIGN и не вводить загрузчик в заблуждение относительно того откуда система загружена.
Иногда полезная програмка конвертации/вычислений, выдранная из DECовского TDX от RSX-11M/M+ где она представлена в виде перехваченной команды CVT. Тупо перенес в RT-11, ничего не доделывал.
.CVT 177560
65392. 112.,255. 177560 160,377 $FF70 % 42 "p
.CVT 32767.
32767. 255.,127. 077777 377,177 $7FFF %TSG " DEL>
.CVT 1,3
769. 1.,3. 001401 001,003 $0301 % SI "<SOH><ETX>
.CVT "R5
13650. 82.,53. 032522 122,065 $3552 %HUJ "R5
.CVT 'A
65. 65.,0. 000101 101,000 $0041 % AY "A<NUL>
.CVT 40*8.+<"BE-'A>/4
4672. 64.,18. 011100 100,022 $1240 %B62 "@<DC2>
.CVT %SYS
31419. 187.,122. 075273 273,172 $7ABB %SYS " z
.CVT $1234
4660. 52.,18. 011064 064,022 $1234 %B6T "4<DC2>
.
Исходники в комплекте, хотя собрать из них - дело хитрое. Сначала надо в RSX-11 откомпилить исходники (библиотеку RTMAC я выкладывал, но можно взять на стакане [и там же собственно компилить]):
>MAC CVT=LB:[1,1]RTMAC/ML,SY:[]CVT
>MAC TPARS=TPARS
Потом OBJ файлы перенести в RT-11 с помощью FLX и там собрать:
.LIN CVT,TPARS/LINK:SY:RSXLIB
UPD. В последние версии RSXLIB (http://zx-pk.ru/threads/10718-soft-dlya-dvk-pdp11.html?p=583946&viewfull=1#post583946) включен табличный парсер DEC и сборка возможна в RT-11 без привлечения RSX:
.MAC SY:RSXLIB/LIB+CVT/OB
.LIN/LINK:SY:RSXLIB CVT
Командный файл для сборки прилагается.
PS. Примечательно как "R5" в ASCII смотрится с точки зрения RADIX-50 ;)
.
В новой версии: COPYDX.SAV (http://emulator.pdp-11.org.ru/misc/COPYDX_v1.3.zip) ( v1.3 ) - внесены следующие изменения:
1. Форматирование доступно только для нулевого привода.
2. Перед форматированием в буфер сектора помещается строка: "Track 76" ( где вместо 76 - текущий номер дорожки ), 6 пробелов, CR, LF и 112 нулевых байтов.
Patron, вечером испытаю на реале.
- - - Добавлено - - -
Patron, отработало успешно.
https://drive.google.com/open?id=0B6VbJTvOxhWCa2JBc0w4VGtRZjg
Patron, можно для таких как я (сочувствующих) разъяснить момент,
как такое возможно если снаружи образ blkdx1.dsk = 256 256,
а в эмуляторе
KMON>INI DX1:
DX1:/Initialize; Are you sure? Y
KMON>Dir/Fu/Bl/Vol DX1:
08-Mar-2016
Volume ID: RT11A
Owner :
< UNUSED > 486 8
0 Files, 0 Blocks
486 Free blocks
08-Mar-2016
BLCK=000621/000401. ADDR=021320/021320 TYPE=WORDS DESS V05.00e
000/ 071124 061541 020153 031066 020040 020040 020040 005015 *Track 62 ..*
020/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
040/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
060/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
100/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
120/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
140/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
160/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
200/ 071124 061541 020153 031066 020040 020040 020040 005015 *Track 62 ..*
220/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
240/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
260/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
300/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
320/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
340/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
360/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
STACK : 000000 000000 000000 000000 000000 000000 000000 000000 000000
MACRO-11: HALT
DX - это огромные такие дискеты так?
DW - это ЖД (с форматами там лажа - откуда знать какой расширение мне нужен если его не видит плагин,а размер 5мб)
Ничего не понимаю уже с этими DX, DW разборками - старый формат\новый формат.
Может я расширение не поменял у DX образа или что?
снаружи образ blkdx1.dsk = 256 256,
а в эмуляторе
А в чем проблема? Снаружи образ 500 (с округлением) блоков, внутри утсройство 500 блоков...
DX - это огромные такие дискеты так?
Огромные в плане размеров самой дискеты, но не ее объема :)
Обновление библиотеки RSXLIB (http://zx-pk.ru/showthread.php?t=10718&p=583946&viewfull=1#post583946).
Добавлены макрокоманды и подпрограмма лексического разбора строк (ISTAT$, STATE$, TRAN$). Сама библиотека соответственно разделилась на две библиотеки: объектную (RSXLIB.OBJ) и макробиблиотеку (RSXLIB.MLB).
Описание библиотеки тут (http://zx-pk.ru/showthread.php?t=10718&page=31&p=583948&viewfull=1#post583948).
Описание работы с лексическим разбором можно найти в RSX-11M/M+/MicroRSX/IAS I/O Operations Reference Manual. Как будет время, может выборку сделаю.
Теперь программу cvt (http://zx-pk.ru/showthread.php?t=10718&p=860838&viewfull=1#post860838) можно собрать прямо в RT-11:
.MAC SY:RSXLIB/LIB+CVT/OB
.LIN/LINK:SY:RSXLIB CVT
Обновление библиотеки RSXLIB (http://zx-pk.ru/showthread.php?t=10718&p=863069&viewfull=1#post863069).
Добавлено в оглавление и на сайт в раздел other УК-НЦ (http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Other/form_rsxlib2/)
(так сложилось, что первая версия библиотеки попала именно в этот раздел, а не в разделе ДВК).
Обновление программ. Мелкие правки. Функционально ничего не изменилось. В архиве бинари для Win32 и OpenVMS Alpha.
Создание образа диска:
usage: mkdisk [-nqtxz] [-s serial] file type
mkdisk -l [type]
-l - распечатать список поддерживаемых устройств
(можно указать начало названия)
-n - не записывать таблицу плохих блоков
-q - не выводить информационные сообщения
-s serial - задать серийный номер для BAD144 (по умолчанию случайный)
-t - обрезать образ по концу таблицы плохих блоков (как в SimH)
-x - расширить образ до полного физического размера диска чтобы CHARON
автоматом определил тип (по умолчанию берется размер,
используемый на PDP-11)
-z - прописать образ нулями (по умолчанию пишется только последний блок
после чего создается BAD144 если нужно)
type - тип диска или размер в блоках
Type Size Cyl Trk S/T ScSz Bad
------- ---------- ---- --- --- ---- ---
RA60 400176 2382 4 42 512 No
RA70 547041 1507 11 33 512 No
RA71 1367310 1915 14 51 512 No
RA72 1953300 1915 20 51 512 No
RA73 3920490 2667 21 70 512 No
RA80 236964 558 14 31 512 No
RA81 891072 1248 14 51 512 No
RA82 1216665 1423 15 57 512 No
RA90 2376153 2649 13 69 512 No
RA92 2940951 3279 13 69 512 No
RC25 50902 615 4 17 512 No
RD32 83204 820 6 17 512 No
RD51 19584 300 4 18 512 No
RD52 60480 480 7 18 512 No
RD53 138672 963 8 18 512 No
RD54 311300 1221 15 17 512 No
RK02 2400 203 2 12 256 No
RK03 4800 203 2 12 512 No
RK04 2400 203 2 12 256 No
RK05 4800 203 2 12 512 No
RK06 27126 411 3 22 512 Yes
RK07 53790 815 3 22 512 Yes
RL01 10240 256 2 40 256 Yes
RL02 20480 512 2 40 256 Yes
RM02 131680 823 5 32 512 Yes
RM03 131680 823 5 32 512 Yes
RM05 500384 823 19 32 512 Yes
RM80 242606 559 14 32 512 Yes
RP02 40000 203 20 10 512 No
RP03 80000 400 20 10 512 No
RP04 171798 411 19 22 512 Yes
RP05 171798 411 19 22 512 Yes
RP06 340670 815 19 22 512 Yes
RP07 1008000 630 32 50 512 Yes
RS03 1024 64 1 64 128 No
RS04 2048 64 1 64 256 No
RS05 2048 64 1 64 256 No
RS08 1024 64 1 64 128 No
RX01 494 77 1 26 128 No
RX02 988 77 1 26 256 No
RX23 2880 80 2 18 512 No
RX26 5760 80 2 36 512 No
RX33 2400 80 2 15 512 No
RX50 800 80 1 10 512 No
Создание образа ленты из отдельных файлов:
usage: mktape [-o tapefile] [-t type] <file|+|#size|EOF|EOT> [...]
+ - перед следующим файлом не будет записан EOF (а также EOT
если файлов в командной строке больше нет)
#размер - устанавливает размер блока в байтах (по умолчанию 512)
файл - файл записывается на ленту
EOF - записывается маркер EOF
EOT - записывается маркер EOT (два EOF)
tapefile - имя файла образа (по умолчанию mktape.tap)
type - тип образа (CHARON, E11, SIMH или TPC. По умолчанию E11)
Создание образа ленты из файлов tapedump/tapelog:
usage: mktape [-o tapefile] [-t type] -l tapelog tapedump
tapefile - имя файла образа (по умолчанию mktape.tap)
type - тип образа (CHARON, E11, SIMH или TPC. По умолчанию E11)
tapelog - лог файл дампа ленты
tapedump - файл дампа ленты
Примеры использования:
$ mkdisk -q rk05.dsk rk05
$ mkisk my.dsk 1600
Creating my.dsk, 1600 blocks
$ mkdisk -l rp
Type Size Cyl Trk S/T ScSz Bad
------- ---------- ---- --- --- ---- ---
RP02 40000 203 20 10 512 No
RP03 80000 400 20 10 512 No
RP04 171798 411 19 22 512 Yes
RP05 171798 411 19 22 512 Yes
RP06 340670 815 19 22 512 Yes
RP07 1008000 630 32 50 512 Yes
$ mktape -o bsd.tap mtboot + mtboot + boot #1024 disklabel mkfs restor icheck #10240 root.dump file6.tar file7.tar file8.tar
$ mktape -o ultrix.tap -l tapelog tapedump
form, среди твоих же arj откопал, возможно в архиве были\есть уже - я мог и не запускать (подозревая их в отношениях с фортраном). Две шикарнейшие терминальные демки DEMO1.SAV и DEMO2.SAV - это от ЭЛЕКТРОНИКИ-60, обе смотреть конечно нужно в динамике
http://storage2.static.itmages.ru/i/16/0328/s_1459167240_3047043_6ee804e5a7.png
(http://itmages.ru/image/view/4061364/6ee804e5)
http://storage5.static.itmages.ru/i/16/0328/s_1459167283_7125155_4f0cfd9508.png (http://itmages.ru/image/view/4061367/4f0cfd95)
И "загадочная"
DITTO .SAV 36P 06-Sep-1989
DITTO .SAV 36P 06-Sep-1989 8417 DEMO1 .SAV 14P 08-Jun-1983 8453
DEMO2 .SAV 18P 13-Aug-1983 8467 SCE .EXE 31P 02-Apr-2015 8485
< UNUSED > 47017 8516
206 Files, 8448 Blocks
47017 Free blocks
KMON>DITTO
Имя корректируемого файла ?
Предпол. - дамп ОП Д В К
Откуда начать [<номер блока(0..110)>],[<номер байта(0..511)]>]? B
320/ 015001 100035 346011 300013 001200 300012 200014 200014 *##@#############*
340/ 200014 200014 001200 200012 065020 352011 200021 046020 *########5#####&#*
360/ 346025 001000 346025 030000 276035 002000 004000 216057 *###############/*
400/ 004000 022006 246035 010000 346025 001000 367011 226375 *################*
420/ 366145 020000 010000 227055 006000 030000 002004 367011 *#e#####-########*
440/ 170057 276012 004000 353001 306145 006000 365213 040012 *x/#######e#### #*
460/ 007003 046012 367011 042374 200025 065020 354011 006001 *##&###"###5#####*
500/ 046012 367011 056374 200025 065020 354011 346025 002000 *&###.###5#######*
520/ 146035 352011 146035 354011 367011 314366 306145 004000 *f###f########e##*
540/ 207000 016104 101115 120040 120117 040163 154157 167141 *###дамп по СЛОВА*
560/ 155017 000000 016104 101115 120040 120117 040142 141152 *М####дамп по БАЙ*
600/ 164141 155017 000000 127055 346011 377001 100007 365213 *ТАМ###W-####@###*
620/ 041012 020003 146021 306345 000004 100021 300145 042000 *!###f#####@##e"#*
640/ 201021 302025 000002 021024 302012 375002 146035 344011 *############f###*
660/ 367011 054370 165055 344011 342011 034004 265012 344011 *##,#u-##########*
700/ 146021 100021 300145 042000 046020 146035 344011 367011 *f#@##e"#&#f#####*
720/ 150371 065212 041012 127055 352011 027000 007002 367011 *h#5#!#W-########*
740/ 270056 046012 346025 001000 367011 272374 265035 002000 *#.&#############*
760/ 346011 014001 046012 116235 047012 046012 367011 260056 *####&#N#'#&####.*
000/ 200035 002000 300145 360001 065020 346011 022001 365105 *#####e##5######E*
020/ 017376 346011 127055 352011 027000 010002 367011 172056 *####W-########z.*
040/ 146035 346011 346025 001000 367011 172374 265155 002000 *f#########z##m##*
060/ 346011 127055 352011 027000 002004 265012 352011 266023 *##W-############*
100/ 002000 306145 002000 207000 127255 016000 040000 004003 *###e####W### ###*
http://www.fayloobmennik.net/5997820 <= временная ссылка на образ дискеты там все три обсуждаемых программы
Кстати что то похожее (в плане ДЕМО) я совсем недавно сочинил для УК-НЦ, только там с цветами поигрался,
про эти ДЕМКИ не знал, так что не плагиат ни разу !!! "смайл". Вот тут зовётся "КОЛЕЙДОСКОП" (http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Other/6022/)
- - - Добавлено - - -
Демок в архиве не обнаружил (на сайте в смысле) - нужно будет куда-то подшить, а DITTO живёт на образе с утилитами для RT-11.
Как-то так.
терминальные демки
По виду на VT52 не будут работать :)
Если подцепиться телнетом к vms.pdp-11.org.ru, можно там запустить навороченный vttest :)
По виду на VT52 не будут работать
отлично работают в эмуляторах Патрона и UKNCBTL !
Первая перемещает надпись с верхней части экрана вниз и обратно (по буквенно),
вторая ещё более насыщена событиями - надо в динамике смотреть и до конца (финальный вид так и не смог принт-скрином поймать "смайл")
- - - Добавлено - - -
Если подцепиться телнетом к vms.pdp-11.org.ru, можно там запустить навороченный vttest
как запустить шпаргалку?
- - - Добавлено - - -
vms.pdp-11.org.ru мне пишет
Hostname lookup failed: no IP address associated with hostname
- - - Добавлено - - -
параметры соединения выбран telnet и порт 23
отлично работают в эмуляторах Патрона и UKNCBTL
Они не являются VT52 в полном смысле :)
В частности на VT52 код 177 (восьмеричный) - неотображаемый символ ничего не печатающий и не сдвигающий курсор. В советских реализациях это тот самый квадратик который видно на картинках.
Hostname lookup failed
А оно в принципе умеет имена распознавать? :)
pdp-11:~% nslookup vms
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
vms.pdp-11.org.ru canonical name = cblp.ru.
Name: cblp.ru
Address: 5.128.31.182
pdp-11:~%
что нужно поправить тут?
http://storage5.static.itmages.ru/i/16/0328/s_1459178098_1229906_765bea73a7.png (http://itmages.ru/image/view/4062431/765bea73)
- - - Добавлено - - -
это тот самый квадратик для меня как для УК-НЦшника ( хотя бы в плане оператора-пользователя)
177B - это (см.цитату) - НАВСЕГДА !!! )))
и Фрязинский терминал конечно то же )))
- - - Добавлено - - -
Ха! Заменил имя IPшником теперь пишет
Удалённая система refusеd соединение )))
что нужно поправить тут?
Убрать :2023 разумеется. Название поля - имя хоста, а не имя хоста с портом. Потому он его и не распознает ибо нету такого. Порт кстати можно 23 сделать, но и 2023 не убирал.
да! вижу велком ))))))))))))))))))))) ура! три раза!
я на месте - form, как vttest запускаться нужна подсказка
- - - Добавлено - - -
http://storage4.static.itmages.ru/i/16/0328/s_1459178765_7112357_356971f3b5.png (http://itmages.ru/image/view/4062469/356971f3)
как vttest запускаться нужна подсказка
Ну я в теме про эмулятор терминала писал. Просто VT набрать. Он кстати и VT52 тестить умеет.
Тест мягкоговоря "всеобъмлющий", вот лишь один из экранчиков (прогонов) для режима VT220
http://storage4.static.itmages.ru/i/16/0328/s_1459179409_8391551_2972a5cfd4.png (http://itmages.ru/image/view/4062524/2972a5cf)
- - - Добавлено - - -
вопрос - таймаут только на логин? я могу скажем не рвать соединение, но взять паузу?
- - - Добавлено - - -
Он кстати и VT52 тестить умеет.
проходит все прогоны норм, квадратика там нет в шрифтах )))
У меня в клиенте стоит VT52, только "забой" "вставить" я не настроил, потом поправлю
я могу скажем не рвать соединение, но взять паузу?
В VMS вроде у меня нет таймаутов. В RSX есть, хотя по идее и там можно отключить поскольку терминалы переведены на телнетные и если что сами отключатся.
И опять обновление RSXLIB (http://zx-pk.ru/showthread.php?t=10718&page=47&p=863069&viewfull=1#post863069). Прошлое обновление было сделано поверх самого старого варианта библиотеки, в результате чего потерялось позапрошлое обновление.
- - - Добавлено - - -
Небольшая утилитка, показывающая размер диска в блоках (в том числе полный для DU). Она для VARSZ дисков только (сделал для тестов себе, но можно добавить и для фиксированных размеров).
UPD. Добавил.
.RU DS LD7:
?DF-I-Device size - 1600. blocks
.RU DS DU3:
?DF-I-Partition size - 65535. blocks
?DF-I-Device size - 1065995. blocks
.RU DS D23:
?DF-I-Partition size - 17419. blocks
?DF-I-Device size - 1065995. blocks
.
Небольшая утилитка, показывающая размер диска в блоках
Работает через драйвер, соответственно драйвер должен быть загружен LOAD командой ?
должен быть загружен LOAD командой ?
Если драйвер не возражает против загрузки программой, то не нужно загружать. Большинство не против. Из известных мне возражают только етхернетные драйвера - те требуют явной загрузки.
Если драйвер не возражает против загрузки программой, то не нужно загружать
просто я периодически сталкиваюсь с отказом работы например архиватора, когда ему даешь две цели
конечный архив на MZ1: и список файлов для него на WD3: - причём сбой он пишет какой-то хитрый.
LOAD MZ, LOAD WD - и та же самая строка(команда) норм. срабатывает
Утилита TTY для просмотра многостраничных листингов не будет работать с файлом если драйвера нет в памяти
И ещё такие примеры есть (это я так сходу вспомнил самые яркие), моностраничные файловые менеджеры серии RS.SYS
так же капризничают (что не скажешь о более стабильной параллельной ветке MFP и SCE)
Однажды почти патовая ситуация сложилась когда архиватор FCU потребовал всю память и отказался делать архив по причине
сами понимаете какой.
сталкиваюсь с отказом работы
Все зависит от программы. Если программа позаботится о подгрузке драйвера, то вручную загружать его не нужно.
- - - Добавлено - - -
потребовал всю память
Теперь есть эмулятор ВМ3, и соответственно можно запускать программы которым доступно полные 56 или 64 Kb памяти.
А есть в природе ADOS для ДВК с жестким диском?
А то образ ADOSSJ_KCGD_MY.dsk работает только с MY.
В принципе АДОС не важен, можно и RT-11 - важен более-менее юзабельный двухпанельный коммандер.
SKcorp., NC.SYS на ДВК не работает разве?
- - - Добавлено - - -
Что то по памяти двух панельные остальные строго для УК-НЦ )
(поскольку используют специфику УК-НЦшную)
Моноэкранные есть ! Они же по функционалу ничем не уступают?
SKcorp., NC.SYS на ДВК не работает разве?
Вот тут какой-то был, но Народ.ру - протух: http://vb3.zx-pk.ru/showpost.php?p=382439&postcount=25
Вот тут какой-то был, - да этот пост обсуждался ещё и 4 года назад, кстати он и ввёл меня в некоторые
заблуждения. Ещё пользователи имели привычку переименовывать программы ) Гады да? Я не знаю какая версия NC запущена у него на
картинке и почему псевдографика УК-НЦшная у него на ДВК вдруг заработала, а на УК-НЦ нет. ) Плюс тут по прежнему висит тема с архивами
файловых менеджеров. Есть двух панельный SC(он же SCE, он же SCEUK) - но он уголки и оконца шрифтик из ПЗУ УК-НЦ берёт, какое тут и
откуда возможность запуска на ДВК?
http://storage3.static.itmages.ru/i/16/0419/s_1461102758_3448474_1130c9a028.png (http://itmages.ru/image/view/4166366/1130c9a0)
Надо или рабочий NC.SYS какой-то определённой версии пробовать или АДОС но и то му и другому нужен
вроде КЦГД *могу ошибаться
Так может моноэкранный, он шустрый и почти без глюков! ) Работает на старых и новых системах.
Есть много вариантов, могу целую кучку предложить. И главное - не капризничает с новодельными драйверами как PAFCommander к примеру.
- - - Добавлено - - -
В целом среду рабочую АДОС собрать на 5мб образе и прописать загрузку можно, а вот запустить - проверить - отладить что то негде. Нужен эмулятор ДВК+КЦГД.
В целом среду рабочую АДОС собрать на 5мб образе и прописать загрузку можно, а вот запустить - проверить - отладить что то негде. Нужен эмулятор ДВК+КЦГД.
Угу. Я уже какую-то хрень сотворил. На выходных проверю на живой ДВК+DW+КЦГД.
Угу. Я уже какую-то хрень сотворил. На выходных проверю на живой ДВК+DW+КЦГД.
Стас! Просьба сделай полный дир чего ты там навоял и где? И отпишись как с живым железом прокатило или нет.
Очень важно любое пожтверждение рабочести эмуляторных образов. Особенно с такими "хитрымы" вещами как DW.SYS и КЦГД.
Стас! Просьба сделай полный дир чего ты там навоял и где? И отпишись как с живым железом прокатило или нет.
Очень важно любое пожтверждение рабочести эмуляторных образов. Особенно с такими "хитрымы" вещами как DW.SYS и КЦГД.
Эмуляторный образ АДОС DW не заработал на реале.
Собрал загрузку на живой ДВК, но по инструкции SuperMax-а защиту снять не удалось.
NC.SAV - работает.
MNC - криво.
SCE и SCE1 - работают, но это УГ.
NC.SAV - работает.
Сделай свой скрин в эту тему. Будет очень полезно.
SCE,SCE1 - они для машинок и (теперь уже)
эмуляторов там где NC не работают,
Эмуляторный образ АДОС DW не заработал на реале.
Собрал загрузку на живой ДВК, но по инструкции SuperMax-а защиту снять не удалось.
Подробности - что именно не заработал? Не загрузился или на реале с ошибками? DW смена драйвера не помогла?
Инструкция SuperMax работает, я проверял, почему сразу поломанный не берёшь? Я не помню подробностей, но помню что чинится там всё.
Возможно, что там даже 1 го файла правки достаточно (!)
Сделай свой скрин в эту тему. Будет очень полезно.
SCE,SCE1 - они для машинок и (теперь уже)
эмуляторов там где NC не работают,
Подробности - что именно не заработал? Не загрузился или на реале с ошибками? DW смена драйвера не помогла?
Инструкция SuperMax работает, я проверял, почему сразу поломанный не берёшь? Я не помню подробностей, но помню что чинится там всё.
Возможно, что там даже 1 го файла правки достаточно (!)
Ок, нафоткаю экранов.
Не загрузился.
Смена DW помогла.
Сразу поломанный что? Там в каталоге защита.
Сразу поломанный что? Там в каталоге защита.
Открываешь носитель DESSом, переключаешься в RAD50 и по описанию напротив файлов (через одно) прописываешь нужные значения?
В общем там рабочая инструкция у SuperMax.
Пожалуйста уточни версию(вариант) контроллера DW и версию драйвера - для совместимости на будущее свою пару (др.+контр.) которая
заработала.
Открываешь носитель DESSом, переключаешься в RAD50 и по описанию напротив файлов (через одно) прописываешь нужные значения?
В общем там рабочая инструкция у SuperMax.
Пожалуйста уточни версию(вариант) контроллера DW и версию драйвера - для совместимости на будущее свою пару (др.+контр.) которая
заработала.
Угу. Оказалось RC.SYS в нескольких местах прописан.
Контроллер КЖД двухтранзисторный. А вот с драйвером - облом: DW который умеет делить поверхности на лог. диски не работает.
Кроме того у меня не получилось сделать DW0: из АДОС-а размером больше дискеты.
Потом еще поэкспериментирую.
Итак:
1. Драйвер DW.SYS из образа от SuperMax-а http://forum.maxiol.com/index.php?act=Attach&type=post&id=6015
на 20Мб. Пробовал изменить блок параметров, но все равно инитит на 20 Мб.
Кто знает точное место параметров? Я нашел:
DW.SYS: BLK:000001/000224: 001147 000004 000000 105203
Соответственно это:............. CYL.... HEAD ??????? MAXBLK
2. Как в RC выйти из режима редактирования?
Как в ADOS-е сменить КОИ-8 на обычный КОИ-7? Или что-то в этом роде,
т.к. терминальные игрушки отображаются транслитом. На обычной RT-11 - русские буквы.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot