PDA

Просмотр полной версии : Загрузка RT-11 через порт системного терминала



Patron
29.09.2012, 18:08
В ситуации, когда есть работоспособная материнская плата ДВК/PDP-11 и нет ни дисков, чтобы загрузить RT-11, ни терминала для ввода/вывода, но есть возможность подключить порт системного терминала такой платы к COM-порту PC или интернет-адаптеру - предлагаемое решение позволяет использовать такое подключение для загрузки RT-11 через порт системного терминала.

Для этого нужно использовать: Эмулятор терминала типа VT52 (https://zx-pk.ru/threads/20092-emulyator-terminala-tipa-vt52.html?p=543414#post543414) - и загрузить на нём имеющийся в комплекте эмулятора файл конфигурации HX_IP.cfg при IP-подключении или HX_COM.cfg при подключении через COM-порт.

Для тестирования данной технологии вполне пригоден: Эмулятор ДВК (https://zx-pk.ru/threads/18351-emulyator-dvk.html?p=475412&viewfull=1#post475412).

Если в эмуляторе ДВК загрузить файл конфигурации DVK_IP.cfg (http://zx.pk.ru/attachment.php?attachmentid=37600) ( эмулирующий системный блок ДВК без дисков и терминала, подключенный к IP-адаптеру последовательного порта ), а в эмуляторе терминала загрузить файл конфигурации HX_IP.cfg - то пара запущенных эмуляторов ( эмулятор ДВК и эмулятор терминала ) будет выглядеть примерно так:

http://s1.hostingkartinok.com/uploads/images/2012/09/f8b5ccda201f4ae8f7b6940a9b73907c.pngПри этом IP-соединение будет установлено на адрес 127.0.0.1, порт 8023.


Если затем переключить эмулятор ДВК на закладку Terminal Port (для большей информативности) и нажать в эмуляторе терминала кнопку [ Boot HX0 ], то начнётся процесс загрузки RT-11 через порт системного терминала, который на начальном этапе будет выглядеть так:

http://s2.hostingkartinok.com/uploads/images/2012/09/e40e819c3dd3958d5caad5a5ddcce869.pngА на конечном так:

http://s1.hostingkartinok.com/uploads/images/2012/09/2ff2641d5ef337bd868c05f7b5a21e16.png...

Используя в эмуляторе ДВК файл конфигурации DVK_COM.cfg (http://zx.pk.ru/attachment.php?attachmentid=37601), а в эмуляторе терминала HX_COM.cfg, и установив в системе пару связанных виртуальных COM-портов ( COM4 и COM5 ) - можно проверить возможность загрузки RT-11 через порт системного терминала при его подключении к COM-порту PC.

...

При подключении реального компьютера ДВК/PDP-11 к реальному последовательному порту PC - нужно скорректировать файл конфигурации эмулятора терминала. Системное имя в Windows того последовательного порта, к которому подключен компьютер - находится в разделе [ComPort.ini] файла HX_COM.cfg:



[ComPort.ini]
PortName="COM4"
InitialStateOf[ShowPortUse]=1
SaveChangesFor[ShowPortUse]=1


...

Загружаемая операционная система должна находиться в образе диска типа DSK, иметь драйвер HX.SYS в качестве системного и быть подключена к одному из приводов мультиплексора HX в эмуляторе терминала. Перечень DSK-образов, подключенных к приводам HX0..HX7 - задаётся в разделе [HX.ini] используемого файла конфигурации эмулятора терминала.



[HX.ini]
HX0 = HXsys54.DSK
HX1 = HXsys57.DSK
HX2 =
HX3 =
HX4 =
HX5 =
HX6 =
HX7 =


В комплект эмулятора терминала входят образы для загрузки через последовательный порт операционных систем RT-11 V05.04 и RT-11 V05.07

К свободным приводам HX ( т.е. тем, загрузка с которых не планируется ) можно подключать любые образы формата DSK произвольного размера.

...

В принципе - используя такой метод можно загрузить RT-11 на любом компьютере с последовательным портом и процессором типа PDP-11 ( включая БК, УКНЦ и т.п ), но при использовании нестандартных адресов порта и отсутствии на этом порту стандартного эмулятора пульта ( micro-ODT ) - потребуются небольшие доработки.

...

В приложении (http://zx.pk.ru/attachment.php?attachmentid=47035) комплект заменяемых файлов для загрузки через порт с адресом 176560, при работе терминала через стандартный порт 177560.

...

NovaStorm
29.09.2012, 19:02
А можно пояснить на пальцах, для моего незатуманенного знанием ни железа, ни RT-11 разума, так ли я понимаю происходящее?
Применительно к УКНЦ, порт у неё, как я понимаю, Стык2. Через менюшку после сброса я могу начать с него загрузку. Будет получен загрузчик, который загрузит RT-11 с драйвером виртуального диска, обращения к которому пойдут в порт. Но кто будет отдавать данные диска на PC? Ведь программа предоставляет всего лишь клаву+монитор, или в понятие "терминал" могут входить ещё и диски?
//сумбурно наверное, но я только начинаю с этой техникой по настоящему разбираться =)

Patron
29.09.2012, 21:44
Применительно к УКНЦ, порт у неё, как я понимаю, Стык2. Через менюшку после сброса я могу начать с него загрузку.Мне про стандартную загрузку УКНЦ по последовательному порту ничего не известно. Технология, используемая мною для передачи в память загружаемого компьютера кодов начального загрузчика - предполагает наличие в интересующем порту эмулятора пульта с командами в стиле micro-ODT.


Но кто будет отдавать данные диска на PC?Драйвер системного устройства HX.SYS отправляет дисковые запросы чтения и записи через последовательный порт и через этот же порт отправляет/получает данные. Откуда берутся и куда деваются эти данные драйверу всё равно. Но мы знаем, что в итоге эти данные читаются/пишутся из того файла, который подключен к соответствующему приводу мультиплексора HX, созданного при загрузке соответствующего файла конфигурации в модульном эмуляторе со стороны PC.

...

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

Для этого нужно подставить в исходный текст драйвера HX.MAC (http://zx.pk.ru/attachment.php?attachmentid=37603) правильное значение адреса используемого порта HX.CSR



.Title HX
;
; HX.MAC - HX device: DSK/Terminal multiplexer.
;
; Revision history:
; 23-Feb-2012 : Created
;
;

;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;

HX.CSR =: 177560



И откомпилировать.

Затем данный драйвер может быть использован на УКНЦ для доступа к находящимся на PC образам дисков, указанным в файле конфигурации модульного эмулятора в разделе HX.ini.

...

form
30.09.2012, 12:41
Для УКНЦ как правило достаточно родных средств RT-11 и эмулятора TU58 на PC для загрузки через C2. При этом, разумеется, загрузчик придется накатать вручную - то, что в УКНЦ называется загрузкой с C2 - это тупая отправка одного символа (не помню уже какого) в порт и без всяких проверок тупое считывание блока из порта. Впрочем можно таким способом спустить загрузчик для TU58 после чего подключить со стороны PC эмулятор его :)

hobot
30.09.2012, 16:01
это тупая отправка одного символа (не помню уже какого)
Ты же сам уже описывал этот процесс для УКНЦ где то раньше, вроде бы речь шла
о символе "@" который сообщает о готовности считывания и далее "без всяких проверок" тупое считывание блока из порта. Я хотел уточнить - неужели между отправкой и считыванием даже "тупо" временного интервала не предусмотрено?

---------- Post added at 15:18 ---------- Previous post was at 15:15 ----------

Да похоже в этой теме уже вопрос по УКНЦ обсуждался
http://zx.pk.ru/showthread.php?t=16001

---------- Post added at 15:34 ---------- Previous post was at 15:18 ----------

Дискета (системная) для УК-НЦ от Forma из этого поста http://zx.pk.ru/showpost.php?p=388032&postcount=8 в архиве (http://pdp-11.org.ru/~hobot_lmb/ukdwk_archive/ukncbtlwebcomplekt/Other/form_sys57S2/) есть так-же

---------- Post added at 16:01 ---------- Previous post was at 15:34 ----------

Happy End как говорится )))
http://zx.pk.ru/showpost.php?p=469503&postcount=101

form
30.09.2012, 21:26
Я хотел уточнить - неужели между отправкой и считыванием даже "тупо" временного интервала не предусмотрено?

Интервал и не нужен так как мы однозначно можем определить прислали нам очередной символ или нет :)
А вот некий механизм, позволяющий понять есть ли на той стороне вообще загрузчик и он ли шлет нам данные не повредил бы :)
Тем более, что выдумывать ничего не нужно - взять за основу TU58 и реализовать :)

bigral
05.04.2013, 15:10
Странное дело, при default установках COM-порта вообще ничего не передается в VT52 терминал. Поставил настройки как в конфиге который работал на УК-НЦ, там по стравнению с default такое:

fDtrControl = DTR_CONTROL_ENABLE
fRtsControl = RTS_CONTROL_HANDSHAKE
fOutxCtsFlow = TRUE

После этого передается все нормально, но сам HX server на символ пришедший @ никак не реагирует, пишет:

Waiting for ODT prompt: @

c IP конфигом и эмулем работает нормально.

Patron
05.04.2013, 15:58
Странное дело, при default установках COM-порта вообще ничего не передается в VT52 терминал. Поставил настройки как в конфиге который работал на УК-НЦ, там по стравнению с default такое:

fDtrControl = DTR_CONTROL_ENABLE
fRtsControl = RTS_CONTROL_HANDSHAKE
fOutxCtsFlow = TRUEПо умолчанию квитирование отключено, т.к. у всех дековских плат и у большинства плат ДВК квитирования в порту терминала нет.


HX server на символ пришедший @ никак не реагирует, пишет:

Waiting for ODT prompt: @

Чтобы проверить, какие байты получает из порта сервер HX - можно добавить в конфигурацию консоль, котрая будет выводить на свою закладку ( и в файл Input Dump.log ) все байты, поступающие из порта:

Для файла HX_IP.cfg изменения такие:



[objects]
Input_Dump = Ядро:Console


[links]
IP_Adapter > Input_Dump


[Input_Dump.ini]
TabTitle =
InitialStateOf[StatusBar] = 0
SaveChangesFor[StatusBar] = 0
InitialStateOf[ControlBar] = 0
SaveChangesFor[ControlBar] = 0
InitialStateOf[Log]=1
SaveChangesFor[Log]=0
DumpMode=1


Для файла HX_COM.cfg - всё то же самое, только консоль надо подключать к объекту с именем ComPort:



[links]
ComPort > Input_Dump


После этого запустить загрузку с эмулятора по IP, переименовать получившийся файл Input Dump.log ( чтобы он не был перезаписан ), запустить загрузку с COM-порта и сравнить логи.

form
05.04.2013, 15:59
т.к. у всех дековских плат

Ну я бы не стал утверждать так уж про все. Это неверно даже для DL(V)11 :)

bigral
05.04.2013, 17:31
Там того дампа пару строчек:

«304»«344»«344»«304»"***** «016»dostupnoe ozu - «017»256 K *
@ 001000
@

ну а у IP адаптера и эмуля


@10000/177777 12706
010002/000000 10000
010004/177777 12746
010006/000000 340
010010/177777 12746
010012/000000 10016
010014/177777 2
.... и так далее

1 Есть вопрос как набирать в эмуле VT52 этот символ: "¬" ?
2 Eсли попробовать сделать copy/past из файла .odt в окно терминала VT52 то откуда-то беруться ENTER-a в начале строчек и "¬" отрабатывается неправильно как-то, в общем вставка не сработает :(
3 Ни в одном окне VT52 эмуля не работает выделение текста для копирования и очень неудобно, copy/paste rulezzz

Patron
05.04.2013, 17:39
Есть вопрос как набирать в эмуле VT52 этот символ: "¬" ?Надо нажимать [+] на нумпаде или клавишу [Apps].


2 Eсли попробовать сделать copy/past из файла .odt в окно терминала VT52 то откуда-то беруться ENTER-a в начале строчек и "¬" отрабатывается неправильно как-то, в общем вставка не сработаетВставка не катит - эмулятор пульта на плате не успевает обрабатывать вводимые символы.

form
05.04.2013, 17:48
Вставка не катит - эмулятор пульта на плате не успевает обрабатывать вводимые символы.

А если вставлять в буфер и потом оттуда плавно выдавать?

Patron
05.04.2013, 18:15
А если вставлять в буфер и потом оттуда плавно выдавать?Если по одной строке - должно работать.

Нужно вставить такие строки:


10000/12706
10000
12746
340
12746
10016
2
4567
14
105737
177560
100375
113703
177562
207
105737
177562
105737
177564
100375
112737
26
177566
12700
1000
5004
4715
110324
5300
1374
5007

10000GНажимая после каждой строки [ПС] ( т.е. [+] на нумпаде ). Там где пустая строка - нужно нажать [ВК] ( т.е. [Enter] ).

---------- Post added at 17:07 ---------- Previous post was at 16:58 ----------

Чтобы лучше понять, почему ODT_Loader не нашёл во входном потоке промпт - можно изменить режим консольного дампа



[Input_Dump.ini]
TabTitle =
InitialStateOf[StatusBar] = 0
SaveChangesFor[StatusBar] = 0
InitialStateOf[ControlBar] = 0
SaveChangesFor[ControlBar] = 0
InitialStateOf[Log]=1
SaveChangesFor[Log]=0
DumpMode=3


и ещё раз снять лог загрузки через COM-порт.

bigral
05.04.2013, 18:54
Если по одной строке - должно работать...
и ещё раз снять лог загрузки через COM-порт.

ага - токо что парился вводил с "бумажки" (с другого окна) просто чтоб убедиться что все пашет, загрузило RT-11 5.04, теперь взял "HX Boot.odt" заменил в нем все байты 0xac 0x0d на пробелы 0x20 в таком виде копирую в буфер виндозы и вставляю через SHIFT-INSERT в окно VT52 эмуля, таким образом пашет на ура.

вот такой дамп

«370»«366»"*****«040»«040»«016»dostupnoe«040»«040»o zu«040»«040»-«040»«017»256«040»K«040»*«012»
«015»@«040»001000«012»
«015»@

Patron
05.04.2013, 19:27
вот такой дампВсё понятно - авторы ПЗУ не поленились выводить в конце строки LF+CR вместо CR+LF.

Сейчас учту такую возможность и выложу новый вариант сервера в теме про Эмулятор терминала типа VT52 (http://zx.pk.ru/showthread.php?t=20092).

form
05.04.2013, 19:36
А можно еще поддержку старых UNIBUSных ROMов сделать? - чтобы Э100.25 мучить :)

Patron
05.04.2013, 19:46
Можно проверить новую версию (http://zx.pk.ru/showthread.php?p=589664#post589664).

Чтобы поместить текстовую и графическую копии экрана в буфер обмена - нужно нажать [Print Screen]. Если перед этим промотать экран вверх - текстовая копия будет браться от верхней видимой строки и до последней выведенной.

---------- Post added at 18:46 ---------- Previous post was at 18:45 ----------


А можно еще поддержку старых UNIBUSных ROMов сделать? - чтобы Э100.25 мучитьА какой там промпт ?

Если какой-то необычный - нужно точно так же сделать его дамп.

form
05.04.2013, 19:50
А какой там промпт ?

Если какой-то необычный - нужно точно так же сделать его дамп.

На примере Э100-25 (промпт может на других моделях другой быть, синтакс одинаков):


$L 1000
$D 105737
$D 177560
$D 100375
...
$G 1000

то есть выполняются те же действия что с панели переключателей, только в виде команд.

form
05.04.2013, 19:54
У меня кстати есть копии ROMов снятые у Andrey_Ak с Э100/25.
E11 с ними отлично работает...

Patron
05.04.2013, 20:06
Чтобы ODT_Loader начал передавать скрипт - нужно указать правильное значение PromptChar:


[ODT_Loader.ini]
ScriptFile = "UKNC-style Loader.odt"
InitialStateOf[Load] = 0
SaveChangesFor[Load] = 0
Wait_at_Prompt_sec = 1
PromptChar = "@"

А в файл скрипта можно написать что угодно. При передаче скрипта CRLF будет превращаться в CR, а символ '¬' в LF.

form
05.04.2013, 20:07
А в файл скрипта можно написать что угодно. При передаче скрипта CRLF будет превращаться в CR, а символ '¬' в LF.

Попробуем на досуге.

bigral
05.04.2013, 20:41
Проверил на скорости 19200 работает. Спасибо за update. К стати а проект этот открытый или нет? Если открытый то имеет смысл выложить на google code. Есть еще такая штука как PDP11GUI там прикольные фичи это графический дебаг и возможность использовать macro11 сходу, но к сожалению автор проект не выкладывает в свободный доступ а тут модульный режим можно использовать в том числе и для того чтобы например все возможности simh-a сделать красивыми и графическими.

Patron
05.04.2013, 21:49
К стати а проект этот открытый или нет?Всё основано на универсальном модульном API, который я разрабатываю, а его выкладывать пока рано - слишком часто меняются базовые интерфейсы.

---------- Post added at 20:49 ---------- Previous post was at 20:46 ----------


модульный режим можно использовать в том числе и для того чтобы например все возможности simh-a сделать красивыми и графическими.Перенос simx на модульный API я планирую сделать до публикации модульного API - слишком большие изменения базовой функциональности могут потребоваться.

bigral
06.04.2013, 01:15
Вот еще наблюдаю некую неравномерность скорости печати текста, особенно при переходе на скорость 19200 это стало хорошо заметно (на долю секунды вывод прекращается и потом продолжается казалось бы немного быстрее чем обычно потом выравнивается). Я вот думаю это особенность HX протокола или у меня в железе чето не то? (например может шина проца тормозится каким-нибудь сигналом\прерыванием). Для игр типа KLOP это конечно неприемлемо, там нужна плавность, но как я понимаю синхронизировать вывод с каким нибудь таймером\сигналом в pdp-11 вообще никто никогда не пытался (делалось это на уровне железа).

Patron
06.04.2013, 05:38
Вот еще наблюдаю некую неравномерность скорости печати текстаСкорее всего это особенности реализации интерфейса COM-USB.
Или на УКНЦ такого не было..
Если было - виноват USB-адаптер, а если не было - виновата плата ДВК.
Плавность работы протокола и сервера HX можно проверить при IP-симуляции подключения.

bigral
08.04.2013, 23:25
Есть еще такой симптом - загрузка процессора (1 ядро) на 95% ... при загруженном VT52.EXE это нормально? Оно что постоянно опрашивает состояние порта?

form
08.04.2013, 23:54
Выудил из образа DAY и запустил вживую.
То же самое - трапается в том же месте.

Patron
09.04.2013, 00:08
Выудил из образа DAY и запустил вживую.
То же самое - трапается в том же месте.Ага, только это другая тема :)

form
09.04.2013, 00:09
Ага, только это другая тема :)

Точно.
Развелось тем :)

---------- Post added at 03:09 ---------- Previous post was at 03:08 ----------

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

Patron
09.04.2013, 00:26
Есть еще такой симптом - загрузка процессора (1 ядро) на 95% ... при загруженном VT52.EXE это нормально?Проблема воспроизводится.

Правда, у меня все такты одного из ядер забирает эмулятор ДВК, если запустить его одновременно с VT52.exe и соединить их через com0com.

Patron
09.04.2013, 03:09
Похоже, что это известная проблема (системы сбора статистики?) Windows, которая возникает практически во всех версиях ( Vista ещё глючит, остальные - не знаю ), когда хотя бы один из потоков процесса блокируется каким-то особым образом.

На быстродействие других процессов это не влияет, но все свободные тики (одного ядра?) убираются из System Idle и случайным (?) образом распределяются между процессами, имеющими заблокированный поток с блокировкой такого типа.

Возможно, это связано с тем, что при ожидании сигнала BREAK в COM-порту или VSYNC в видео-адаптере - Windows включает в ядре циклический опрос этих признаков.

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

В принципе, можно с этим побороться, добавив настройку, отключающую ожидание BREAK, но насколько это актуально.. Если эти 100% загрузки присутствуют только в статистике, а процессор не греется - надо ли с этим бороться..

bigral
09.04.2013, 03:26
Если эти 100% загрузки присутствуют только в статистике, а процессор не греется - надо ли с этим бороться..

у меня старый проц с 1-им ядром комп тормозит жутко и дергается эмулятор консоли, в process explorer показывает что 95% времени забирает процесс в kernel mode (красным) значит шото там в драйвере сходит с ума и он там "висит" вместо того чтоб в idle ждать прерывания от usb чипа

Patron
09.04.2013, 03:39
у меня старый проц с 1-им ядром комп тормозит жутко и дергается эмулятор консолиУ меня есть такой комп - я там запустил такой же "подвешиватель", но комп не тормозит - можно запустить ещё один эмулятор ДВК на любой скорости (вплоть до максимальной) и потери скорости нет.

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

Вероятно, на многоядерных процах Windows подвесит одно ядро на ожидание BREAK, а другое - на ожидание VSYNC ( если запросить ожидание VSYNC ).

Придётся добавить настройку IP-адаптера, позволяющую отключить ожидание BREAK в COM-порту.

form
09.04.2013, 03:41
Вероятно, на многоядерных процах Windows подвесит одно ядро на ожидание BREAK

Осталось понять почему тот же E11 не испытывает проблем с этим.
Если сделать в нем SET THROTTLE ON фактически с любыми параметрами - будет стабильная загрузка 0% процессора независимо от активности внутри эмулятора и прекрасная отработка BREAK :)

Patron
09.04.2013, 14:49
У плохого программиста всегда виновата операционка!
Косяк был мой - хорошо, что заметили.

MiX
05.01.2014, 21:08
В ситуации, когда есть работоспособная материнская плата ДВК/PDP-11 и нет ни дисков, чтобы загрузить RT-11, ни терминала для ввода/вывода, но есть возможность подключить порт системного терминала такой платы к COM-порту PC или интернет-адаптеру - предлагаемое решение позволяет использовать такое подключение для загрузки RT-11 через порт системного терминала.

Всё неплохо толь-ко вот схемы нет. Нашёл в инете вот такую: http://zx.pk.ru/attachment.php?attachmentid=44873&stc=1&d=1388944891
пойдёт?

Patron
05.01.2014, 21:20
Всё неплохо только вот схемы нет.Можно такой вариант попробовать: Простой адаптер RS-232 - "Токовая петля" (http://electrik.info/main/praktika/247-prostoj-adapter-rs-232-tokovaya-petlya.html).

bigral
11.02.2014, 05:54
вот подключил лог:


@10000G«001»«375» CR«000»«000»«000»«000»«000»«000»«002� �«227»«000»
HX 2.0 - Cold boot..
«000»«001»«375» Cr«000»«002»«000»«000»«000»«000»«010� �«277»«000»«001»«375» Cr«000»«006»«000»«000»«000»«000»«004� �«277»«000»«001»«375» Cr«000»{«001»«000»«000»«274»«000»«355 »«001»«001»«375» Cr«000»W«001»«000»«000»«000»«002»«017 »«001»«001»«375» Cr«000»W«001»«000»«000»^«005»p«001»
HX DSK/TTY multiplexer v2.3 2013
«001»«375» Cr«000»z«001»«000»«000»«256»«001»«337 »«001»«001»«375» Cr«000»~«001»«000»«000»«226»A«013»«00 2»«001»«375» Cr«000»}«001»«000»«000»«006»«001»:«00 1»«001»«375» Cr«000»|«001»«000»«000»«226»«000»«310 »«001»«001»«375» Cr«000»-«000»«000»«000»«000»«002»«344»«000»� �001»«375» Cr«000»/«000»«000»«000»«000»«002»«346»«000»

Patron
11.02.2014, 13:19
вот подключил логЭто круто. Видно, что успешно выполнилось много запросов и к первичному, и к основному драйверу.

Но чтобы не расшифровывать "вручную" заголовки запросов - лучше сохранить лог консоли "HX Log":

http://s7.hostingkartinok.com/uploads/images/2014/02/9f8f6379e9911c856ca11481dd450731.png


Тогда ( имея под рукой загрузочный образ ) можно легко и точно определить, какой блок какого файла был прочитан последним.

...

Если консоли "HX Log" в используемой конфигурации нет - её можно добавить:



[objects]

HX_Log = Ядро:Console


[links]

HX [Log] > HX_Log

bigral
11.02.2014, 16:43
к сожалению не записал на каком блоке оно прекращало чтение, и пока тот конфиг недоступен, думаю немного позже вернусь к нему, вот попробовал пустить начальный загружчик на m8186 kdf11 + какая очень странная карта plessey 705965-100A (c одним разьемом непонятного назначения и двумя slu)



?
@10000/012706 12706
010002/010000 10000
010004/012746 12746
010006/000340 340
010010/012746 12746
010012/010016 10016
010014/000002 2
010016/004567 4567
010020/000032 14
010022/176401 105737
010024/041411 177560
010026/000122 100375
010030/000000 113703
010032/000000 177562
010034/001000 207
010036/000227 105737
010040/105737 177562
010042/177560 105737
010044/100375 177564
010046/113703 100375
010050/177562 112737
010052/000207 26
010054/012704 177566
010056/000016 12700
010060/105737 1000
010062/177564 5004
010064/100375 4715
010066/112537 110324
010070/177566 5300
010072/005304 1374
010074/001371 5007
@10000G
010000
@

Patron
11.02.2014, 16:54
попробовал пустить начальный загружчик на m8186 kdf11 + какая очень странная карта plessey 705965-100A (c одним разьемом непонятного назначения и двумя slu)Похоже на работу процессора в пошаговом режиме. Если при нажатии <P> выполнится следующая команда загрузчика и опять будет останов - это так и есть.

bigral
11.02.2014, 17:59
Похоже на работу процессора в пошаговом режиме. Если при нажатии <P> выполнится следующая команда загрузчика и опять будет останов - это так и есть.

гы гы.. это что mode halt стоит? как его отрубить?

и вот еще обнаружил такой код:


173000: reset [000005]
173002: mov #177404,r1 [012701 177404]
173004: ldcfd f4,f0 [177404]
173006: bit #000200,177774(r1) [032761 000200 177774]
173010: rts r0 [000200]
173012: ldcfd @001774(r4),f3 [177774 001774]
173014: beq 173006 [001774]
173016: mov #177400,000002(r1) [012761 177400 000002]
173020: ldcfd f0,f0 [177400]
173022: rti [000002]
173024: mov #000005,(r1) [012711 000005]
173026: reset [000005]
173030: tstb (r1) [105711]
173032: bpl 173030 [100376]
173034: clr pc [005007]

Patron
11.02.2014, 18:26
это что mode halt стоит? как его отрубить?На ноге BHALT должно быть +5в.

---------- Post added at 17:26 ---------- Previous post was at 17:15 ----------


и вот еще обнаружил такой кодПохоже, что это загрузчик с привода RK11/RK05.

bigral
12.02.2014, 01:05
Ну вот прикрутил halt (правда как-то странно пашет, нажимаешь кнопку HALT и лампа на панели горит красная и сигнал halt = +5v, но процессор спокойно работает, еще раз нажмешь - погаснет и сигнала нету 0v процессор стоит и когда набирать "P" то пошагово идет и временно зажигает лампу "RUN")

вот теперь картина такая же как была с KDJ-11-AA:



HX: Готов к работе.
HX: READ : Unit: 0 | Block: 2 | ByteCount: 2048
HX: READ : Unit: 0 | Block: 6 | ByteCount: 1024
HX: READ : Unit: 0 | Block: 379 | ByteCount: 188
HX: READ : Unit: 0 | Block: 343 | ByteCount: 512
HX: READ : Unit: 0 | Block: 343 | ByteCount: 1374
HX: READ : Unit: 0 | Block: 378 | ByteCount: 430
HX: READ : Unit: 0 | Block: 382 | ByteCount: 16790
HX: READ : Unit: 0 | Block: 381 | ByteCount: 262
HX: READ : Unit: 0 | Block: 380 | ByteCount: 150
HX: READ : Unit: 0 | Block: 45 | ByteCount: 512
HX: READ : Unit: 0 | Block: 47 | ByteCount: 512


---------- Post added at 23:05 ---------- Previous post was at 21:41 ----------


По умолчанию квитирование отключено, т.к. у всех дековских плат и у большинства плат ДВК квитирования в порту терминала нет.


Увидел в схеме M8043 DLV11-J что pin 4 таки может как-то влиять на передачу данных из pdp11 наружу, это явно не квитирование но что это?

вот тут: http://www.hardwarebook.info/DEC_DLV11-J_Serial мутная строчка по этому поводу есть: Transmit data - (0V for RS-232, Reader enable for 20mA)

Patron
12.02.2014, 03:32
вот теперь картина такая же как была с KDJ-11-AAНе исключено, что проблема в отсутствии прерываний от порта терминала. Все надписи, которые выводятся без прерываний - проходят, а все, которые должны выводиться по прерываниям - остаются в выходном терминальном буфере RMON. Когда выходной терминальный буфер RMON переполняется - система зависает.

Это подозрение легко проверить, введя с пульта и запустив программу, которая устанавливает обработчик, просто считающий прерывания передатчика, разрешает прерывания и выводит на экран в режиме опроса несколько символов. Если прерывания работают - значение счётчика после завершения программы должно на 1 превышать число выведенных символов.



.=60
202
0
176 ; Адрес обработчика прерывания передатчика
0

.=100
202
0

.=176
INC (PC)+
0 ; По адресу 200 == Счётчик прерываний
RTI

.=1000
MOV #700, SP
MTPS #0
MOV #100, @#177564 ; Включить прерывания передатчика
MOV #5, R1
MOV #100, R0
1$:
INC R0
MOV R0, @#177566
2$:
TSTB @#177564
BPL 2$
SOB R1, 1$

HALT

Patron
12.02.2014, 13:37
В эмуляторе это выглядит так:



@000060/000000 000202
@000064/000000 000176
@000100/000000 000202
@000176/000000 005227
@000200/000000 000000
@000202/000000 000002
@001000/000000 012706
@001002/000000 000700
@001004/000000 106427
@001006/000000 000000
@001010/000000 012737
@001012/000000 000100
@001014/000000 177564
@001016/000000 012701
@001020/000000 000005
@001022/000000 012700
@001024/000000 000100
@001026/000000 005200
@001030/000000 010037
@001032/000000 177566
@001034/000000 105737
@001036/000000 177564
@001040/000000 100375
@001042/000000 077107
@001044/000000 000000
@200/000000
@1000GABCDE
001046
@200/000006

bigral
12.02.2014, 15:27
мда сегодня до утра сидел, по всякому пробовал, результат 1 - виснет шото и все, причем пошагово доходит до опроса TSTB @#177564 и там вечный цикл, еще меня удивляет то что MOV R0, @#177566 НЕ ВЫВОДИТ символ !!! если просто брать 777566/ 00000 66 то 6-рка печатается всегда только если на numpad "+" нажать а если <ENTER> то раз на 10 можно такое дождаться...



@/000000 622 <enter>
@/000000 63 <enter>
@/000000 64 <enter>
@/000000 65 <enter>
@/000000 66 <enter>
@/000000 677 <enter>
@/000000 70 <enter>
@/000000 71 <enter>
@/000000 72 <enter>
@/000000 73 <enter>
@/000000 74 <enter>
@/000000 75= <enter>
@/000000 76 <enter>
@/000000 77 <enter>
@/000000 100@ <enter>
@/000000 101A <enter>
@/000000 102 <enter>
@/000000 103C - вот тут нажал <+ на num pad>
777570/?
@777566/000000 104D <+ на num pad>
777570/?
@777566/000000 105E <+ на num pad>
777570/?
@


вот такое виснет без сообщений в эмуле пашет


1 .asect
2 000000 .=0
3 000000 000000 halt
4
5 000060 .=60
6 000060 001000 1000
7 000062 000000 0
8
9 000064 .=64
10 000064 001000 1000
11 000066 000000 0
12
13 000100 .=100
14 000100 000000 0
15 000102 000000 0
16
17 000300 .=300
18 000300 001000 1000
19 000302 000000 0
20
21 000304 .=304
22 000304 001000 1000
23 000306 000000 0
24
25 001000 .=1000
26 001000 005227 INC (PC)+
27 001002 000000 0
28 001004 000002 RTI
29
30
31 002000 .=2000
32 002000 012706 005000 MOV #5000, SP
33 002004 106427 000000 MTPS #0
34 002010 012737 000100 177564 MOV #100, @#177564
35 002016 012701 000005 MOV #5, R1
36 002022 012700 000060 MOV #60, R0
37 1$:
38 002026 005200 INC R0
39 002030 010037 177566 MOV R0, @#177566
40 2$:
41 002034 105737 177564 TSTB @#177564
42 002040 100375 BPL 2$
43 002042 077107 SOB R1, 1$
44
45 002044 000000 HALT
45




@0/001625 0
@60/177777 1000
@62/000000 1000
@62/001000 0
@64/177777 0
@64/000000 1000
@66/000000 1000
@66/001000 0
@70/177777 0
@100/177777 0
@102/000000 0
@102/000000 0
@104/177777 0
@300/177777 1000
@302/000000 1000
@302/001000 0
@304/177777 0
@304/000000 1000
@306/000000 1000
@306/001000 0
@310/177777 0
@1000/041704 5227
@1002/000000 0
@1004/177777 0
@1004/000000 2
@2000/101764 12706
@2002/000000 5000
@2004/177777 106427
@2006/000000 0
@2010/177777 12737
@2012/000000 100
@2014/177777 177564
@2016/000000 12701
@2020/177777 5
@2022/000000 12700
@2024/177777 60
@2026/000000 5200
@2030/177777 10037
@2032/000000 177566
@2034/177777 105737
@2036/000000 177564
@2040/177777 100375
@2042/000000 77107
@2044/177777 0
@2000G - halt = 0
002000
@R7/002000 2000
@P - halt = 1

<ЗАВИС> (при этом halt = 0 уже не поможет, нужно halt=0 + DCOK=0 импульс и станет на 173000)

Patron
12.02.2014, 17:47
MOV R0, @#177566 НЕ ВЫВОДИТ символ !!!Тогда запросы протокола HX вообще не проходили бы.

Предлагаю запустить простую программу, которая выводит содержимое R0 по адресу 177566:



@01000/...... 10037
001002/...... 177566
001004/...... 775
@R0/...... 101
@1000G

Результат запуска в эмуляторе:



@01000/000000 10037
001002/000000 177566
001004/000000 775
@R0/000113 101
@1000GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Patron
12.02.2014, 21:39
Отключил в эмуляторе прохождение прерываний.


Лог загрузки HX стал выглядеть так:



HX: Готов к работе.
HX: READ : Unit: 0 | Block: 0 | ByteCount: 512
HX: READ : Unit: 0 | Block: 2 | ByteCount: 2048
HX: READ : Unit: 0 | Block: 6 | ByteCount: 1024
HX: READ : Unit: 0 | Block: 20 | ByteCount: 188
HX: READ : Unit: 0 | Block: 122 | ByteCount: 512
HX: READ : Unit: 0 | Block: 122 | ByteCount: 1374
HX: READ : Unit: 0 | Block: 19 | ByteCount: 430
HX: READ : Unit: 0 | Block: 23 | ByteCount: 16790
HX: READ : Unit: 0 | Block: 22 | ByteCount: 262
HX: READ : Unit: 0 | Block: 21 | ByteCount: 150
HX: READ : Unit: 0 | Block: 128 | ByteCount: 512
HX: READ : Unit: 0 | Block: 130 | ByteCount: 512



Экран терминала стал выглядеть так:



010064/177777 100375
010066/000000 112537
010070/177777 177566
010072/000000 5304
010074/177777 1371
010076/000000 12700
010100/177777 5
010102/000000 4715
010104/177777 5300
010106/000000 1375
010110/177777 12700
010112/000000 1000
010114/177777 4715
010116/000000 110324
010120/177777 5300
010122/000000 1374
010124/177777 4715
010126/000000 4715
010130/177777 5007
@10000G
HX 2.2 - Cold boot..

HX DSK/TTY multiplexer v3.1 2014

bigral
13.02.2014, 03:56
буквы А печатает, а откуда такой новый драйвер есть DSK где-нибудь этот чтоб скачнуть?

у меня подозрение что вектор сконфигурирован нестандартно на этом slu, вопрос к гуру: такое может быть? зачем? как узнать этот вектор если оно так?

Patron
13.02.2014, 12:39
откуда такой новый драйвер есть DSK где-нибудь этот чтоб скачнуть?Здесь (http://zx.pk.ru/showthread.php?p=672414#post672414).


как узнать этот вектор если оно так?Если все ячейки первого блока памяти заполнить так:



.=0
0
0
.=4
2
0
.=10
6
0
.=14
12
0
.=20
16
0
.=24
22
0



Например, при помощи такой программы:



Mov #200,R1
Mov #2, R0
1$:
Clr (R0)
Mov R0, 2(R0)
Cmp (R0)+,(R0)+
SOB R1, 1$

HALT


То любое векторное прерывание завершит программу с выводом на экран адреса вектора.

Patron
13.02.2014, 21:36
В приложении - вариант загрузочного диска HXsys54.DSK (http://zx.pk.ru/attachment.php?attachmentid=45765) с новой версией монитора RT11SP, которая при наличии прерываний работает по прерываниям, а при отсутствии прерываний - работает без прерываний.

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

Помимо монитора изменениям подверглись драйвер TT.SYS и программа RESORC.SAV, сообщающая при запуске под RT11SP ( по команде SHOW CON ) статус прерываний терминала.

...

MiX
13.02.2014, 21:45
Для ДВК это актуально?

Patron
13.02.2014, 22:06
Для ДВК это актуально?Только если у процессора не работают прерывания ( например, отвалилась нога VIRQ ).

По идее - RT11SP должна без проблем грузиться на Э-85 / Pro-350 через порт отладочного терминала.

bigral
14.02.2014, 04:33
не пашет:


HX: Готов к работе.
HX: READ : Unit: 0 | Block: 2 | ByteCount: 2048
HX: READ : Unit: 0 | Block: 6 | ByteCount: 1024
HX: READ : Unit: 0 | Block: 20 | ByteCount: 188
HX: READ : Unit: 0 | Block: 122 | ByteCount: 512
HX: READ : Unit: 0 | Block: 122 | ByteCount: 1374
HX: READ : Unit: 0 | Block: 19 | ByteCount: 430
HX: READ : Unit: 0 | Block: 23 | ByteCount: 16870
HX: READ : Unit: 0 | Block: 22 | ByteCount: 262
HX: READ : Unit: 0 | Block: 21 | ByteCount: 150
HX: READ : Unit: 0 | Block: 128 | ByteCount: 512
HX: READ : Unit: 0 | Block: 130 | ByteCount: 512




?
@10000/012706 12706
010002/010000 10000
010004/012746 12746
010006/000340 340
010010/012746 12746
010012/010016 10016
010014/000002 2
010016/004567 4567
010020/000014 14
010022/105737 105737
010024/177560 177560
010026/100375 100375
010030/113703 113703
010032/177562 177562
010034/000207 207
010036/105737 105737
010040/177562 177562
010042/105737 105737
010044/177564 177564
010046/100375 100375
010050/112737 112737
010052/000026 26
010054/177566 177566
010056/012700 12700
010060/001000 1000
010062/005004 5004
010064/004715 4715
010066/110324 110324
010070/005300 5300
010072/001374 1374
010074/005007 5007
@10000G«026»
HX 2.0 - Warm boot..
«000»«001»«375» Cr«000»«002»«000»«000»«000»«000»«010� �«277»«000»«001»«375» Cr«000»«006»«000»«000»«000»«000»«004� �«277»«000»«001»«375» Cr«000»«024»«000»«000»«000»«274»«000� �«205»«001»«001»«375» Cr«000»z«000»«000»«000»«000»«002»1«00 1»«001»«375» Cr«000»z«000»«000»«000»^«005»«222»«00 1»
HX DSK/TTY multiplexer v3.1 2014
«001»«375» Cr«000»«023»«000»«000»«000»«256»«001� �w«001»«001»«375» Cr«000»«027»«000»«000»«000»«346»A«363 »«001»«001»«375» Cr«000»«026»«000»«000»«000»«006»«001� �«322»«000»«001»«375» Cr«000»«025»«000»«000»«000»«226»«000� �`«001»«001»«375» Cr«000»«200»«000»«000»«000»«000»«002� �7«001»«001»«375» Cr«000»«202»«000»«000»«000»«000»«002� �9«001»

Patron
14.02.2014, 11:29
не пашетBlock: 130 - это SL.SYS, чтобы посмотреть, где будет затык при загрузке без SL.SYS - в приложении образ HXsys54.DSK (http://zx.pk.ru/attachment.php?attachmentid=45770) без SL.SYS, полный лог загрузки которого без прерываний выглядит так:



HX: Готов к работе.
HX: READ : Unit: 0 | Block: 2 | ByteCount: 2048
HX: READ : Unit: 0 | Block: 6 | ByteCount: 1024
HX: READ : Unit: 0 | Block: 20 | ByteCount: 188
HX: READ : Unit: 0 | Block: 122 | ByteCount: 512
HX: READ : Unit: 0 | Block: 122 | ByteCount: 1374
HX: READ : Unit: 0 | Block: 19 | ByteCount: 430
HX: READ : Unit: 0 | Block: 23 | ByteCount: 16870
HX: READ : Unit: 0 | Block: 22 | ByteCount: 262
HX: READ : Unit: 0 | Block: 21 | ByteCount: 150
HX: READ : Unit: 0 | Block: 128 | ByteCount: 512
HX: READ : Unit: 0 | Block: 86 | ByteCount: 1024
HX: READ : Unit: 0 | Block: 90 | ByteCount: 1024
HX: READ : Unit: 0 | Block: 6 | ByteCount: 1024
HX: READ : Unit: 0 | Block: 455 | ByteCount: 512
HX: READ : Unit: 0 | Block: 66 | ByteCount: 1024
HX: READ : Unit: 0 | Block: 86 | ByteCount: 1024
HX: READ : Unit: 0 | Block: 305 | ByteCount: 512
HX: READ : Unit: 0 | Block: 306 | ByteCount: 1536


Думал я, что проблема может быть в отсутствии бита разрешения прерываний в регистре статуса терминала, но после эмуляции такого варианта выяснилось, что на работоспособность RT11SP это не влияет. Значит, скорее всего, RT11SP должна без проблем грузиться через порт отладочного терминала Э-85 / Pro 350.

Но всё же можно посмотреть в пульте, как выглядят регистры статуса терминала до и после разрешения прерываний ( пример для LSI-11, если страница регистров устройств выше - адреса надо скорректировать ):

При наличии бита разрешения прерываний получается так:



@177560/000000 100
@177560/000100
@177564/000200 100
@177564/000300


При отсутствии бита разрешения прерываний получается так:



@177560/000000 100
@177560/000000
@177564/000200 100
@177564/000200

hobot
14.02.2014, 16:11
Patron, может имеет смысл на системном образе оставить\добавить драйвер MZ.SYS - самый стандартный, что бы иметь возможность выполнить команду LO MZ и с локальным дисководом поработать?

Извиняюсь, про УК-НЦ не в ту тему написал. )
Запустил систему ради эксперимента в эмуляторе и погонял под SP монитором в Ойкумену !


http://savepic.net/4600020.png


---------- Post added at 16:11 ---------- Previous post was at 15:41 ----------

А ничего что там HX по прежнему старенький 2.2 или это только в заголовке
загрузки неактуальный номер остался??? )

Patron
14.02.2014, 16:42
А ничего что там HX по прежнему старенький 2.2 или это только в заголовке загрузки неактуальный номер остался???Это актуальный номер версии используемого протокола HX ( у протокола и драйвера разные версии ).

bigral
14.02.2014, 20:48
Спасибо, Patron, сегодня попробую. Я вчера так-же возился с программой которая "ловит" все прерывания и показывает какой вектор сработал. Так вот, после инициализации массива векторов я пускал просто "br" (вечный цикл) и когда я нажимал кнопку "LTC" то при переходе состояния от "лампа горит" -> "лампа потухла" у меня в пульте вылетал вектор 100.

Я подумал что это значит что:
1. LTC кнопка и лампа работают так же как и HALT кнопка и лампа, т.е. если лампа горит это значит сигнал на шине = +5v (логический FALSE для шины QBUS) как токо лампа гаснет это = 0v или TRUE (т.е. HALT mode ON или посадить на 0 линию прерываний от таймера).
2. у меня нету никакого генератора прерываний от таймера на шине, так как вектор 100 срабатывает только при переходе от LTC="+5v" к LTC="0v".
3. SLU никаких векторов не генерирует, потому что такой кусок:


.=1000
MOV #700, SP
MTPS #0
MOV #100, @#177564 ; Включить прерывания передатчика
MOV #5, R1
MOV #100, R0
1$:
INC R0
MOV R0, @#177566
2$:
TSTB @#177564
BPL 2$
SOB R1, 1$

HALT

просто "зависает" и не вываливает никакого вектора в отличие от LTC кнопки которая вываливает вектор 100.

Вопросы:
1. как в pdp процессоре запретить прерывания? ведь возможен же вариант что даже при том заполнении таблицы векторов прийдет прерывание а вектор заполнен токо наполовину... Есть 3 бита управления "реакции на прерывания" соответствующего приоритета, но как этим пользоваться? не ясно какой уровень у SLU или таймера.

2. как это возможно что процессор "зависает"?? при каких условиях kdf11 процессор не может выйти в пульт по сигналу HALT=TRUE? как проверить что происходит?

Patron
14.02.2014, 21:21
как это возможно что процессор "зависает"??У меня подозрение, что порт терминала вместо выставления запроса прерывания как-то блокирует шину, поэтому вся работа идёт до первого прерывания от порта терминала.

В приложении - специальная версия RT11SP (http://zx.pk.ru/attachment.php?attachmentid=45787), которая вообще никогда и ничего не пишет в регистры статуса терминала и поэтому всегда работает без прерываний.

...

bigral
15.02.2014, 00:39
В приложении - специальная версия RT11SP (http://zx.pk.ru/attachment.php?attachmentid=45787), которая вообще никогда и ничего не пишет в регистры статуса терминала и поэтому всегда работает без прерываний.
...

Загружается и работает. Пытался пустить SPEED - виснет, но при нажатии HALT в пульт попадает (вероятно нет прерываний от таймера? правда не реагирует на кнопку LTC тоже)



RT-11SP (Y) V05.04 G (01)
Booted from HX0:RT11SP

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

PDP 11/23 PLUS Processor
256KB of memory
Extended Instruction Set (EIS)
Memory Management Unit
Parity Memory
50 Cycle System Clock
NO Terminal Interrupts

No SYSGEN options enabled


.


бит в регистре вроди как есть:


@777560/000000 100
@/000100
@777564/000000 100
@/000100
@

Patron
15.02.2014, 14:11
бит в регистре вроде как естьПохоже, что это не регистры, а адреса памяти. Регистры выше.



@17777560/000000 100
@17777560/000100
@17777564/000200 100
@17777564/000300

bigral
16.02.2014, 02:02
Похоже, что это не регистры, а адреса памяти. Регистры выше.



@17777560/000000 100
@17777560/000100
@17777564/000200 100
@17777564/000300

Ничего они для kdf11 пульта не выше, я уже слышал тут на форуме сказку о якобы криворуких советских инженерах содравших kdf11 в К1811 допустив при этом "глюкалово" и обрезавши адреса пульта до 18bit (таким образом мол техника не подлежала использованию из-за того что пульт не позволял просматривать память выше 128kW), все это бредни. Оригинальный kdf11 такой же самый. 17777560 - это для kdj11 пульта, что интересно запись в регистр 17777566 по нажатию <еnter> всегда печатает символ а не через раз как с kdf11! Но процессор всеравно зависает после того злосчастного куска:


MTPS #0
MOV #100, @#177564
MOV #101, @#177566
HALT ; сюда не доходит


А еще на kdj11 не пашет LTC вообще... на кнопку не реагирует

bigral
22.02.2014, 20:29
переставил платы в другую корзину в которой видимо правильно генерятся сигналы c пульта управления и там все грузится и работает без проблем, так что проблема в железе (возможно необычная разводка корзины или нехватка сигналов типа LTC и т.д.)

hobot
23.02.2014, 00:32
переставил платы в другую корзину
Сделайте для темы фото! Любопытно же посмотреть на железячки ! )

Спасибо.

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

Я имею в виду вот последнюю конфигурацию железа - которая заработала.

bigral
25.02.2014, 01:50
Я имею в виду вот последнюю конфигурацию железа - которая заработала.

Пока что это тяжело назвать "конфигурацией", просто 3 платы и корзина, на данный момент нету дисков :( и корпуса.

http://www.flickr.com/photos/78012261@N04/sets/72157641479289524/

hobot
25.02.2014, 02:50
bigral, шикарные фотки - спасибо, сейчас повнимательней погляжу.
Корпус конечно хорошо, но это можно на самое потом, а вот с дисками в чём задержка ?

bigral
25.02.2014, 21:20
bigral, шикарные фотки - спасибо, сейчас повнимательней погляжу.
Корпус конечно хорошо, но это можно на самое потом, а вот с дисками в чём задержка ?

Нету контроллера такого как у form-a изза того что такой стоит $500! Другие контроллеры так просто не врубить, или прошивку менять а потом не ясно будут ли работать, или диски фиг достанешь, или паять плату разводить а потом не ясно где драйвера брать (как адаптировать существующие), или не ясно как их конфигурить-запускать... Есть некие наметки но пока не готов что-то сделать.

Вот мне интересно, можно ли заставить работать с HX server-ом другие системы кроме RT? Например TSX?

Patron
25.02.2014, 21:41
можно ли заставить работать с HX server-ом другие системы кроме RT? Например TSX?Чтобы заставить любую систему работать с HX-сервером - надо написать для неё драйвер HX.

bigral
25.02.2014, 22:17
Чтобы заставить любую систему работать с HX-сервером - надо написать для неё драйвер HX.

Ну допустим это как-то можно понять... типо есть какой-то "стандартный для каждой системы" кусок исполняемого кода в котором реализованны "стандартные для этой системы" вызовы типа чтение блока, запись блока. Но как сделать изначальный image памяти который представляет собой систему + driver HX-a готовый к запуску? И как загрузить изначально этот image?

Как я понимаю TSX использует в качестве своего загружчика RT-11 программу которая для загрузки использует драйверы RT-11, а что потом происходит? TSX напрямую работает с железом? или продолжает через драйверы RT-11 (типо как win3.1 поверх DOS)?

Serios Sam
26.02.2014, 14:31
Как я понимаю TSX использует в качестве своего загружчика RT-11 программу которая для загрузки использует драйверы RT-11, а что потом происходит? TSX напрямую работает с железом? или продолжает через драйверы RT-11 (типо как win3.1 поверх DOS)?
Нет. При загрузке TSX делает " снимок памяти ", загружет ядро, которое загружает драйвера, указанные при генерации системы. Драйвера различить просто - для RT11 они .SYS, для TSX - .TSX. Для примера - RL.SYS и RL.TSX. В дистрибутиве к TSX драйвера идут уже собранные, ни каких исходников я не встречал. Может сейчас ситуация изменилась, но в то время интернета не было, система нам досталась полуподпольно, никакой сопроводительной документации не было. Различия между одинаковыми драйверами существуют, подсунуть DW.SYS переименованием в DW.TSX приведут к краху системы. После остановки TSX " вспоминает по фотографии " и восстанавливает исходную систему. Кстати, при любой попытке из-под TSX обратиться к портам ввода-вывода - крах процесса, никак не влияющий на других работающих пользователей ( чем-то XP )

bigral
26.02.2014, 19:47
Нет. При загрузке TSX делает " снимок памяти ", загружет ядро, которое загружает драйвера, указанные при генерации системы.

Вот тут и кроется непонятный мне момент, т.е. существует какой-то там скажем TSXBOOT.SAV или как его правильно называть? который умеет создавать " снимок памяти " c запущенной в данный момент системой RT-11 включая самого себя (так как он же и сидит и работает в этот момент создания снимка?) Правильно?

Кроме того он грузит ядро TSX и драйверы TSX при этом используя для процесса загрузки драйверы RT-11? (т.е. как минимум уже можно загрузить и запустить систему с самого HX диска, но работать она далее не сможет так как в ней нету HX driver-a?)

Или все же в ядре TSX-а внутри уже есть драйвера которые позволяют ему продолжать подгрузку других драйверов не критичных для boot-a системы ну и shell-a потом

Patron
26.02.2014, 23:53
Кроме того он грузит ядро TSX и драйверы TSX при этом используя для процесса загрузки драйверы RT-11? (т.е. как минимум уже можно загрузить и запустить систему с самого HX диска, но работать она далее не сможет так как в ней нету HX driver-a?)

Или все же в ядре TSX-а внутри уже есть драйвера которые позволяют ему продолжать подгрузку других драйверов не критичных для boot-a системы ну и shell-a потомНе исключён такой же вариант, как и при загрузке RT-11, когда вначале загрузчик читает содержимое диска через одноблочный первичный драйвер из нулевого блока диска, а потом система считывает основной драйвер и читает диск уже через него.

Т.е. загрузчик TSX может начинать процесс загрузки через драйвер RT-11, но после считывания драйвера TSX - работать уже через него.

Serios Sam
27.02.2014, 00:11
Вот тут и кроется непонятный мне момент, т.е. существует какой-то там скажем TSXBOOT.SAV или как его правильно называть? который умеет создавать " снимок памяти " c запущенной в данный момент системой RT-11 включая самого себя (так как он же и сидит и работает в этот момент создания снимка?) Правильно?

Кроме того он грузит ядро TSX и драйверы TSX при этом используя для процесса загрузки драйверы RT-11? (т.е. как минимум уже можно загрузить и запустить систему с самого HX диска, но работать она далее не сможет так как в ней нету HX driver-a?)

Или все же в ядре TSX-а внутри уже есть драйвера которые позволяют ему продолжать подгрузку других драйверов не критичных для boot-a системы ну и shell-a потом
1. TSX.SAV 2. Нет. " снимок " делается с драйвера устройства, с которого была загруза. После остановки системы все возвращается " на круги своя ", и RT11 даже не знает, что когда-то был запущен мультизадачный/мультитерминальный режим. 3. Yes, Yes, КПСС! Загрузка ядра и драйверов происходит силами RT, далее - через драйвера TSX, нет HX.TSX - нет дальнейшей работы. 4. Нет. Это не XP ( обнаружено новое устройство - платежный терминал Приватбанка, драйвера установлены, устройство работает нормально ). Любое новое устройство требует перегенерации системы.

bigral
27.02.2014, 04:39
Не исключён такой же вариант, как и при загрузке RT-11, когда вначале загрузчик читает содержимое диска через одноблочный первичный драйвер из нулевого блока диска, а потом система считывает основной драйвер и читает диск уже через него.

Чего то я опять не понял, в моем понимании драйвер всего лишь plug-in для ядра и сам по себе как "стальной наконечник для стрелы" никуда "не полетит".

Вот этот "одноблочный первичный драйвер из нулевого блока" это что boot sector с начальным загружчиком?

И потом муторно не понял о чем - "а потом система считывает основной драйвер", ну как система может что-либо читать если у нее нет никакого драйвера который используется для этого чтения? Или там таки kernel + driver в нём как часть этого kernel-а?

Patron
27.02.2014, 04:54
как система может что-либо читать если у нее нет никакого драйвера который используется для этого чтения?В этом и фокус загрузки.

Сначала начальный загрузчик читает первичный загрузчик с первичным драйвером. Потом первичный загрузчик через первичный драйвер читает вторичный загрузчик. Потом вторичный загрузчик через первичный драйвер читает основной драйвер.

В роли первичного драйвера загрузчика TSX вполне может выступать основной драйвер RT-11.

palsw
12.03.2014, 15:50
как должы стоять перемычки в режиме пульта или по умолчанию.когда запускаю плату она пишет разные адреса при разных комбинациях перемычек.

000017
или
000002
или
000401
или
032720
или
032520
и еще пару вариантов :)
на всех вариантах

после 10000G все замирает

лог

==================== Протокол начат: 12/03/2014 12:14:23 =====================

000002
@10000/000000 12706
010002/177777 10000
010004/000000 12746
010006/177777 340
010010/000000 12746
010012/177777 10016
010014/000000 2
010016/177777 4567
010020/000000 14
010022/177777 105737
010024/000000 177560
010026/177777 100375
010030/000000 113703
010032/177777 177562
010034/000000 207
010036/177777 105737
010040/000000 177562
010042/177777 105737
010044/000000 177564
010046/177777 100375
010050/000000 112737
010052/177777 26
010054/000000 177566
010056/177777 12700
010060/000000 1000
010062/177777 5004
010064/000000 4715
010066/177777 110324
010070/000000 5300
010072/177777 1374
010074/000000 5007

на экране еще есть 10000G ,а в логе нет

---------- Post added at 13:47 ---------- Previous post was at 13:15 ----------

настроил эмулятор двк и по ip сконектил без проблем с терминалом.в эмуляторе при запуске адрес 160442

---------- Post added at 13:50 ---------- Previous post was at 13:47 ----------

лог эмулятора


==================== Протокол начат: 12/03/2014 12:48:04 =====================

.
160442
@10000/177777 12706
010002/000000 10000
010004/177777 12746
010006/000000 340
010010/177777 12746
010012/000000 10016
010014/177777 2
010016/000000 4567
010020/177777 14
010022/000000 105737
010024/177777 177560
010026/000000 100375
010030/177777 113703
010032/000000 177562
010034/177777 207
010036/000000 105737
010040/177777 177562
010042/000000 105737
010044/177777 177564
010046/000000 100375
010050/177777 112737
010052/000000 26
010054/177777 177566
010056/000000 12700
010060/177777 1000
010062/000000 5004
010064/177777 4715
010066/000000 110324
010070/177777 5300
010072/000000 1374
010074/177777 5007
@10000G
HX 2.0 - Warm boot..

HX DSK/TTY multiplexer v3.1 2014
SL V08.00 [SW] Сторожевых С.В. 1988

RT-11SJ (Y) V05.04 G

.SE USR NOSWAP

.SE EXIT NOSWAP

.SE TT SCOPE

.LO SL

.SE SL ON

.DAY
Время Дата
12:48:56 12-Мар-2014, Среда

Patron
12.03.2014, 16:41
после 10000G все замираетМожно прервать выполнение сигналом HALT и, нажимая в терминале "P" - посмотреть в пошаговом режиме, что делает процессор.

palsw
12.03.2014, 16:46
Patron,
Можно прервать выполнение сигналом HALT -

можно для самых маленьких детей -в программе прервать HALT или кнопкой на самом двк ?(у меня голая плата и кнопки еще не напаяны).Если в программе то как?

как замер терминал уже не отвисает - похоже висит сама плата мс1201.02-01 -пока не передерну питание.

Patron
12.03.2014, 17:03
в программе прервать HALT или кнопкой на самом двк ?(у меня голая плата и кнопки еще не напаяны).Именно кнопкой, подключенной к ноге HALT ( 29 ) 1801ВМ2.

После сигнала HALT процессор должен вывести на экран адрес останова и пока сигнал активен - выполнять по одной команде на каждое нажатие "P" в терминале.

---------- Post added at 16:03 ---------- Previous post was at 15:58 ----------

Кстати, как выглядит содержимое консоли "HX Log" ?

palsw
12.03.2014, 17:06
Patron, готово


==================== Протокол начат: 12/03/2014 14:04:51 =====================

@ЧЬЮ 032721
@10000/000000 12706
010002/177777 10000
010004/000000 12746
010006/177777 340
010010/000000 12746
010012/177777 10016
010014/000000 2
010016/177777 4567
010020/000000 14
010022/177777 105737
010024/000000 177560
010026/177777 100375
010030/000000 113703
010032/177777 177562
010034/000000 207
010036/177777 105737
010040/000000 177562
010042/177777 105737
010044/000000 177564
010046/177777 100375
010050/000000 112737
010052/177777 26
010054/000000 177566
010056/177777 12700
010060/000000 1000
010062/177777 5004
010064/000000 4715
010066/177777 110324
010070/000000 5300
010072/177777 1374
010074/000000 5007
@10000G 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026
@P 010022
@P 010026

---------- Post added at 15:06 ---------- Previous post was at 15:06 ----------


Кстати, как выглядит содержимое консоли "HX Log" ?

пусто -помню что нужно как то включить лог

Patron
12.03.2014, 17:20
Надо посмотреть содержимое регистров, введя "R0/", а потом нажимая "+" на дополнительной клавиатуре ( он посылает код LF ):



@R0/000113
R1/151742
R2/000000
R3/140246
R4/151034
R5/153170
R6/125520
R7/155264


---------- Post added at 16:20 ---------- Previous post was at 16:14 ----------


пустоКак пусто - вот так или как-то ещё:

http://s7.hostingkartinok.com/uploads/images/2014/03/14f77b22a519d6f11bb519c774531485.png

palsw
12.03.2014, 17:21
готово

R0/000670
R1/147530
R2/000000
R3/000115
R4/000110
R5/010022
R6/007774
R7/010026

---------- Post added at 15:21 ---------- Previous post was at 15:20 ----------

Patron,
Кстати, как выглядит содержимое консоли "HX Log" ?

именно так и выглядит

еще пошагал немного


@R0/000670
R1/147530
R2/000000
R3/000115
R4/000110
R5/010022
R6/007774
R7/010026
R0/000670
R1/147530
R2/000000
R3/000115
R4/000110
R5/010022
R6/007774
R7/010026
R0/000670
R1/147530
@P 010022
@P 010026
@P 010022
@R0/000670
R1/147530
R2/000000
R3/000115
R4/000110
R5/010022
R6/007774
R7/010022
R0/000670
@P 010026
@R0/000670
R1/147530
R2/000000
R3/000115
R4/000110
R5/010022
R6/007774
R7/010026
R0/000670

Patron
12.03.2014, 17:43
именно так и выглядитПри начале приёма пакета - R0 содержит ожидаемое количество байтов ( в нашем случае 512. == 01000 ), которое уменьшается по мере их поступления.

Прикол в том, что загрузчик уже принял от сервера 72. байта и ждёт передачи ещё 440. ( 0670 ) байтов.

Но откуда взялись эти 72 байта, если в логе сервера не написано о приёме запроса и отправке пакета..

Надо сделать лог входного и выходного потоков COM-порта PC:



[objects]

Input = Ядро:Console
Output = Ядро:Console


[links]

HX > Output
Input < ComPort


[Input.ini]
InitialStateOf[Log]=1
DumpMode=3


[Output.ini]
InitialStateOf[Log]=1
DumpMode=3




---------- Post added at 16:43 ---------- Previous post was at 16:37 ----------

Кстати, принимаемые байты записываются в память с адреса 0, поэтому перебрав адреса 0..44 ( введя "0/" и потом нажимя "+" на доп.клавиатуре ) - можно посмотреть, что туда записалось:



@0/040000
000002/104350
000004/150726
000006/000340
000010/150726
000012/000341
000014/000000
000016/000000
000020/000004
000022/174014
000024/000026
000026/000000
000030/150170
000032/000000
000034/000000
000036/000000
000040/000000
000042/000000
000044/000000

palsw
12.03.2014, 17:49
Patron, готово

palsw
12.03.2014, 18:10
@0/000240
000002/000000
000004/024100
000006/044040
000010/002410
000012/071222
000014/144605
000016/012665
000020/000104
000022/000025
000024/027115
000026/122350
000030/157775
000032/057505
000034/024310
000036/000664
000040/042767
000042/144137
000044/004406
000046/041367
000050/004137
000052/176405
000054/016705
000056/000114
000060/020003
000062/023002
000064/020130
000066/044137

перебрал 0..44

---------- Post added at 16:10 ---------- Previous post was at 15:51 ----------

Patron, после включения перебрал озу с начала.должна быть такая "подлива" или должны быть все нули?


032720
@0/000000
000002/177777
000004/000000
000006/177777
000010/000000
000012/177777
000014/000000
000016/177777
000020/000000
000022/177777
000024/000000
000026/177777
000030/000000
000032/177777
000034/000000
000036/177777
000040/000000
000042/177777
000044/000000
000046/177777
000050/000000
000052/177777
000054/000000
000056/177777
000060/000000
000062/177777
000064/000000
000066/177777
000070/000000
000072/177777
000074/000000
000076/177777
000100/000000
000102/177777
000104/000000
000106/177777
000110/000000
000112/177777

Patron
12.03.2014, 18:31
Странное дело.

В дампе COM-порта видно, что UKNCcomSender отправил в модуль передатчика все 512 байтов файла Boot_RT-11_from_HX0.bin ( т.е. все эти байты должны быть затем отправлены COM-портом с его текущими настройками.

Но ДВК правильно приняла только первый байт, а остальные 511 байтов приняла как 71 байт.

Похоже, будто ВП1-035 не справляется с приёмом сплошного потока байтов.

Когда ODT_Loader передаёт содержимое файла UKNC-style Loader.odt - он посылает байты с большими паузами, чтобы пульт успевал их принимать. Но UKNCcomSender посылает байты уже без IDLE-промежутков между ними - и тут ВП1-035 не успевает.

Возможно, COM-порт не настроен на два стоповых бита ?

---------- Post added at 17:27 ---------- Previous post was at 17:25 ----------



StopBits = TWOSTOPBITS


---------- Post added at 17:31 ---------- Previous post was at 17:27 ----------


должна быть такая "подлива" или должны быть все нули?Так и должно быть. Тонкость лишь в том, происходит ли "инверсия инверсии" на границах блоков адресов и каковы размеры этих блоков.

В ДВК-1 с РУ6 это выглядит так:



@00074/177777
000076/000000
000100/177777
000102/000000
000104/177777
@
@00174/177777
000176/000000
000200/000000
000202/177777
000204/000000
@
@00374/000000
000376/177777
000400/177777
000402/000000
000404/177777
000406/000000

MiX
12.03.2014, 18:32
У palsw там ВП1-065 впаяна.

Patron
12.03.2014, 18:38
У palsw там ВП1-065 впаяна.Без разницы - она ждёт 2 стоповых бита, поэтому если COM-порт передаёт с одним стоповым битом, то стартовый бит передаваемого без промежутка следующего байта может ( по идее ) "потеряться".

hobot
12.03.2014, 20:44
Но ДВК правильно приняла только первый байт, а остальные 511 приняла как 71.

Надо внедрятb QoS )

palsw
12.03.2014, 21:22
Patron,
Возможно, COM-порт не настроен на два стоповых бита ?


[Main]
BaudRate = CBR_9600
Parity = NOPARITY
StopBits = ONESTOPBIT
ByteSize = 8
fParity = FALSE

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;fDtrControl = DTR_CONTROL_DISABLE
fRtsControl = RTS_CONTROL_DISABLE

fDtrControl = DTR_CONTROL_ENABLE
;fRtsControl = RTS_CONTROL_ENABLE

; fDtrControl = DTR_CONTROL_HANDSHAKE
; fRtsControl = RTS_CONTROL_HANDSHAKE

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

fOutxCtsFlow = FALSE
fOutxDsrFlow = FALSE

; fOutxCtsFlow = TRUE
; fOutxDsrFlow = TRUE

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

fDsrSensitivity = FALSE
fTXContinueOnXoff = FALSE
fOutX = FALSE
fInX = FALSE
fErrorChar = FALSE
fNull = FALSE
fAbortOnError = FALSE
XonLim = 512
XoffLim = 512
XonChar = 021
XoffChar = 023
ErrorChar= 0

---------- Post added at 19:22 ---------- Previous post was at 19:18 ----------

истина где-то рядом...

==================== Протокол начат: 12/03/2014 19:20:25 =====================

Ю 000371
@10000/157737 12706
010002/137767 10000
010004/000000 12746
010006/137767 340
010010/000000 12746
010012/137767 10016
010014/000000 2
010016/137767 4567
010020/000000 14
010022/137767 105737
010024/000000 177560
010026/137767 100375
010030/000000 113703
010032/137767 177562
010034/000000 207
010036/137767 105737
010040/000000 177562
010042/137767 105737
010044/000000 177564
010046/137767 100375
010050/000000 112737
010052/137767 26
010054/000000 177566
010056/137767 12700
010060/000000 1000
010062/137767 5004
010064/000000 4715
010066/137767 110324
010070/000000 5300
010072/137767 1374
010074/000000 5007
@10000G
HX 2.0 - Warm boot..

HX DSK/TTY multiplexer v3.1 2014
SL V08.00 [SW] Сторожевых С.В. 1988

RT-11SJ (Y) V05.04 G

.SE USR NOSWAP

.SE EXIT NOSWAP

.SE TT SCOPE

.LO SL

.SE SL ON

.DAY
Время Дата
19:20:32 12-Мар-2014, Среда

bigral
12.03.2014, 21:22
для DEC-a как я понял самый фэншуй:



fDtrControl = DTR_CONTROL_DISABLE
fRtsControl = RTS_CONTROL_DISABLE

StopBits = TWOSTOPBITS


всякие rts/cts dtr/dsr не канают :(, но в ВП1-65 возможно их использование, и по идее в ВП1-35 тоже можно запереть выдачу сигнала!

palsw
12.03.2014, 21:43
bigral, fDtrControl = DTR_CONTROL_ENABLE без этой строки компорт не выдаст напряжение и схема адаптера не заработает :)

Patron
12.03.2014, 21:47
для DEC-a как я понял самый фэншуй:



fDtrControl = DTR_CONTROL_DISABLE
В применённой схеме переходника COM-CL сигналы COM-порта DTR и RTS используются не в кабеле, а в качестве источников напряжений +12В и -12В.

---------- Post added at 20:47 ---------- Previous post was at 20:44 ----------


истина где-то рядом...Так и какая плата в итоге загрузилась ( и почему в памяти после включения такая странная "шахматка" ) ?

palsw
12.03.2014, 22:06
Patron, в смысле какая плата?Плата у меня одна мс1201.02-01.
Загрузилась после того как изменил

StopBits = ONESTOPBIT
на
StopBits = TWOSTOPBITS

Сейчас думаю почему выше 9600 не хочет работать - из за оптронов ?

Patron
12.03.2014, 22:24
думаю почему выше 9600 не хочет работать - из за оптронов ?Скорее всего. Для более высоких скоростей нужно подпаивать MAX232 или адаптер USB-UART к выводам ВП1-065 / ВП1-035.


Плата у меня одна мс1201.02-01.Если работают прерывания таймера - можно запустить с системного диска HX программу SPEED.SAV и если сработает, то можно прогнать тесты таймингов (http://emulator.pdp-11.org.ru/misc/PDP11_TimingsTests.zip).

Сначала можно определить точную тактовую частоту при помощи PDPCLK.SAV ( как написано ЗДЕСЬ (http://zx.pk.ru/showthread.php?postid=591366) ), а потом запустить остальные тесты, подставляя измеренное значение в качестве параметра CPU KHz.

palsw
13.03.2014, 00:08
Patron, прерывание таймера скорее всего нет на процессоре - сейчас заведу.

частота процессора 7.0 мгц если верить осциллографу :)

продолжение следует...

---------- Post added at 21:41 ---------- Previous post was at 20:24 ----------

1й результат

.SPEED

ТЕСТ БЫСТРОДЕЙСТВИЯ

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 696

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 296

КОМАНДА УМНОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 72

КОМАНДА ДЕЛЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 56

---------- Post added at 22:08 ---------- Previous post was at 21:41 ----------

Patron,
что программа хотела от меня ?ждал-ждал и пнул энтер


.RUN HX1:PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 131072
BUF words: 21313
Factor : 4 >

CPU KHz: 7028

Program completed.

Все готово к тестам? :)

MiX
13.03.2014, 00:14
palsw, Походу плата у тебя разогнана. Какой кварц стоит?

palsw
13.03.2014, 00:21
MiX, а разве процессор от кварца работает?или я уже запутался.Кварц идет на ВП1-035.А процессор на RC контуре работает.

---------- Post added at 22:19 ---------- Previous post was at 22:16 ----------

4608 кварц 100% только для ВП1-035

---------- Post added at 22:21 ---------- Previous post was at 22:19 ----------

Да и 7мгц мало для этого процессора. 10мгц нужно ему давать :)

читал что если оставить 7 мгц на ОЗУ ,а процессору отдельно подать 10 мгц тогда будет работать

Patron
13.03.2014, 00:22
что программа хотела от меня ?ждал-ждал и пнул энтерПрограмма ждала ввода числа "фактор". Значение по умолчанию 4 - подходит для ВМ2.



Все готово к тестам?Да.

Каждый тест таймингов тоже будет ждать, но уже ввода измеренного значения 7028 - там значение по умолчанию 5300, поэтому отделаться ентером не удастся.

palsw
13.03.2014, 00:23
Patron, в какой теме флудить теперь ? :)

MiX
13.03.2014, 00:29
palsw, Схему надо смотреть, сомневаюсь я что проц работает на RC цепочке. А проц действительно может работает на 10мгц, это я на ВМе1 "завис". :)

Patron
13.03.2014, 00:30
в какой теме флудить теперь ?Расчёт точного времени выполнения команд различными процессорами архитектуры PDP-11 (http://zx.pk.ru/showthread.php?t=14702).

CodeMaster
23.05.2014, 18:27
В ситуации, когда есть работоспособная материнская плата ДВК/PDP-11 и нет ни дисков, чтобы загрузить RT-11, ни терминала для ввода/вывода

Извиняюсь, хоть тему вроде бы и читал всё, но вот пропустил с самого начала. А если ПЗУ нерабочее и машина входит в пульт, в таком случае загрузка возможна?


но есть возможность подключить порт системного терминала такой платы к COM-порту PC или интернет-адаптеру

А что такое "интернет-адаптер"?

Patron
23.05.2014, 19:20
А если ПЗУ нерабочее и машина входит в пульт, в таком случае загрузка возможна?Если на экране появляется "@" и работают команды пульта - загрузка возможна.



А что такое "интернет-адаптер"?Некоторые люди умеют без компьютера транслировать порт RS-232 в порт TCP/IP, но как они это делают - без понятия.

MiX
24.05.2014, 10:08
Некоторые люди умеют без компьютера транслировать порт RS-232 в порт TCP/IP, но как они это делают - без понятия.

Вот к примеру:http://www.radiofid.ru/ru/products/solutions/industrialautom/interfaceconverters/1013-terminalte10.html

MiX
25.05.2014, 14:55
Patron, Ещё есть программка TCP COM Bridge
ссылка:http://soft.oszone.net/program/15801/TCP_COM_Bridge/

Эта программка транслирует данные из ком порта в ТСР.
Я попробовал так: Подключил к ком порту ДВК, далее через эту программу вывел на IP 127.0.0.1. К этому IPу подключил эмулятор VT52 с конфигурацией IP_HX. Далее нажал ВООТ (без сжатия) загрузка дошла до HX DSK/TTY multiplexser v3.1 2014. Потом стали идти НХ-W-Bad Packet и дальше стало неинтересно.

CodeMaster
26.05.2014, 00:47
Если на экране появляется "@" и работают команды пульта - загрузка возможна.

Появляется, команды работают G, P, R не знаю какие-то ещё есть или нет.


Некоторые люди умеют без компьютера транслировать порт RS-232 в порт TCP/IP

А, ну это понятно, таких "извратов" много, я думал как-то напрямую к сетевой карте компа подключается.

И ещё вопрос: а в Электронику 85 таким образом RT-11 нельзя загрузить, архитектура слишком сильно отличается?

Patron
26.05.2014, 01:05
а в Электронику 85 таким образом RT-11 нельзя загрузить, архитектура слишком сильно отличается?По идее - должна грузиться RT11SP (http://zx.pk.ru/attachment.php?attachmentid=45787), но пока никто ещё не смог успешно подключить отладочный терминал к Э-85.

form
26.05.2014, 02:20
но пока никто ещё не смог успешно подключить отладочный терминал к Э-85.

В каком смысле не смог подключить?

Patron
26.05.2014, 10:53
В каком смысле не смог подключить?Так подключить, чтобы на экране терминала появился значок "@" и можно было начать работать с пультом.

form
26.05.2014, 11:09
Так подключить, чтобы на экране терминала появился значок "@" и можно было начать работать с пультом.

У меня на DEC Pro без проблем получалось. Подключается терминал к принтерному порту в maintenance mode, посылается break.

---------- Post added at 14:07 ---------- Previous post was at 13:56 ----------

И еще нюанс - если не ошибаюсь, кабель нужен прямой, а не перекрестный. Но точно уже не помню.

---------- Post added at 14:09 ---------- Previous post was at 14:07 ----------

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

CodeMaster
26.05.2014, 12:02
Ну и само-собой, что загрузить RT-11 и получить консольный терминал с этого же принтерного порта не получится без полного перелопачивания исходников системы

Да, я нашёл твой пост в теме про Э-85. Хотя, там ты пришёл к выводу, что достаточно переписать только PIx.SYS, но это тоже никто делать не будет. Вообщем, суть дела понятна: теоретически возможно, практически сейчас не осуществимо.

form
26.05.2014, 12:21
Да, я нашёл твой пост в теме про Э-85. Хотя, там ты пришёл к выводу, что достаточно переписать только PIx.SYS, но это тоже никто делать не будет. Вообщем, суть дела понятна: теоретически возможно, практически сейчас не осуществимо.

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

---------- Post added at 15:06 ---------- Previous post was at 15:05 ----------

PI ктати доступен в исходниках вроде в RT-11 source kit... Причем в 5.7 драйвер кажется нерабочий.

---------- Post added at 15:21 ---------- Previous post was at 15:06 ----------


PI ктати доступен в исходниках вроде в RT-11 source kit...

Да, есть.
.MOU LD D12:V54SRC/NOWR

.DIR LD:PI.*
26-May-2014
PI .COM 3 17-Sep-1986 PI .MAC 24 17-Sep-1986
2 Files, 27 Blocks
230 Free blocks

.

Patron
26.05.2014, 12:35
Ну и само-собой, что загрузить RT-11 и получить консольный терминал с этого же принтерного порта не получится без полного перелопачивания исходников системыНо полное перелопачивание (вроде) уже мною выполнено. Что может помешать загрузить RT11SP (http://zx.pk.ru/attachment.php?attachmentid=45787) в Э-85 через отладочный порт ?

form
26.05.2014, 12:37
Но полное перелопачивание (вроде) уже мною выполнено. Что может помешать загрузить RT11SP (http://zx.pk.ru/attachment.php?attachmentid=45787) в Э-85 через отладочный порт ?

Я не знаю в чем там заключается перелопачивание - потому не могу ответить :)

В общем случае, RT-11 V5 BSTRAP обнаружит PRO и потребует PI для работы, а также на PRO не эмулируется консольный DLV11 порт (в том числе в maintenance mode), соответственно в качестве терминала без больших переделок использоваться не может. Если со всем этим управиться, то нет проблем.

Patron
26.05.2014, 12:43
Я не знаю в чем там заключается перелопачиваниеПерелопачи вание заключается в работе вообще без прерываний.


В общем случае, RT-11 V5 BSTRAP обнаружит PRO и потребует PI для работыЗначит, это надо долопатить.


а также на PRO не эмулируется консольный DLV11 порт (в том числе в maintenance mode), соответственно в качестве терминала без больших переделок использоваться не может.А что ещё нужно, кроме работы в режиме опроса порта без прерываний ?

form
26.05.2014, 12:46
А что ещё нужно, кроме работы в режиме опроса порта без прерываний ?

Этого вполне достаточно.
По идее проще всего воевать с RT-11 V5.5 и новее: там в системе предусмотрены хуки в терминальный I/O, можно написать свой драйвер PI который в них встроится [кстати PI в этих системах в оригинале вроде так и поступает] и никаких других изменений не делать.

Patron
26.05.2014, 12:56
можно написать свой драйвер PI который в них встроится [кстати PI в этих системах в оригинале вроде так и поступает] и никаких других изменений не делать.В RT11SP сделано гораздо круче - там ведётся полноценная очередь нажатий, но вместо прерываний - для ввода используется опрос клавиатуры не только при каждом TTYIN, но и при каждом выводе байта на экран.

Т.е. по сути - там надо только выбросить из загрузчика проверку на PRO и можно будет грузить Э-85 через отладочный порт.

form
26.05.2014, 13:00
не только при каждом TTYIN, но и при каждом выводе байта на экран.

В 5.5 и новее стандартными средствами можно встраиваться в терминальный I/O. При этом вообще ничего в системе не меняется, а драйвер (или программа) получает полный контроль за работой системы с терминальными регистрами (в качестве регистров можно подсунуть память и делать что хочешь). Удобно тем, что вообще никаких переделок не требует - достаточно написать свой драйвер PI который это все проделает, а загрузит его BSTRAP самостоятельно.


Т.е. по сути - там надо только выбросить из загрузчика проверку на PRO и можно будет грузить Э-85 через отладочный порт.

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

Patron
26.05.2014, 13:04
А такой метод я как раз хотел сделать пока у меня прошник былЗначит - подождём, пока кто-то ещё сподобится подключить Э-85 к PC через отладочный порт.

form
26.05.2014, 13:09
Значит - подождём, пока кто-то ещё сподобится подключить Э-85 к PC через отладочный порт.

Для проверки и xhomer подойдет - он умеет эмулировать maintenance mode.
Правда эмулируется ли там отладочный мониторчик - не знаю :)

---------- Post added at 16:08 ---------- Previous post was at 16:06 ----------

В общем случае, если были проблемы с подключением - я уже написал предположительную причину проблем: кабель должен быть прямым (2<>2, 3<>3), а не перекрестным (2<>3, 3<>2) - вроде так было.

---------- Post added at 16:09 ---------- Previous post was at 16:08 ----------

Впрочем не уверен - возможно это я к терминалу подключал...

anasana
26.05.2014, 21:26
В xhomer режим micro-ODT не поддерживается ((.
Включение maintenance mode только открывает терминальные регистры.
Но может как-то можно запустить в эмуляторе сам ODT-микрокод процессора: j11.mcr (http://bitsavers.informatik.uni-stuttgart.de/simh.trailing-edge.com_201206/semi/ucode/j11/j11.mcr)

form
26.05.2014, 21:27
В xhomer режим micro-ODT не поддерживается ((.
Но может как-то можно запустить в эмуляторе сам микрокод процессора: j11.mcr (http://bitsavers.informatik.uni-stuttgart.de/simh.trailing-edge.com_201206/semi/ucode/j11/j11.mcr)

А зачем? Достаточно просто сэмулировать мониторчик отладочный :)

CodeMaster
27.05.2014, 13:41
И еще нюанс - если не ошибаюсь, кабель нужен прямой, а не перекрестный. Но точно уже не помню.

Твой пост 2009 года:

достаточно RXD/TXD в перекрест, GND и со стороны порта принтера замкнуть 9 на 8 и 5 на 4. Посылка break в порт вызывает выпадание в MicroODT . Параметры 9600,N,8,1.


Значит - подождём, пока кто-то ещё сподобится подключить Э-85 к PC через отладочный порт.

А после закачки RT-11 в Э-85 возможно сдампить её винт через терминал?

form
27.05.2014, 13:43
А после закачки RT-11 в Э-85 возможно сдампить её винт через терминал?

Можно командой DUMP, сохраняя лог терминальной прогой.
Многие диски так и перетащил. Можно через тот же HX с помощью COP/DEV/FIL, но не уверен что быстрее будет :)

Patron
27.05.2014, 15:45
А после закачки RT-11 в Э-85 возможно сдампить её винт через терминал?Если есть ДВК с КЖД - можно сдампить там. Винты Э-85 полностью совместимы с контроллером ДВК ( только порядок блоков у драйвера другой, поэтому дампить надо не через драйвер, а при помощи COPYDW ).

CodeMaster
27.05.2014, 15:57
Если есть ДВК с КЖД - можно сдампить там.

Нет ни ДВК ни КЖД, а Э-85 с винтами есть.

MiX
23.07.2014, 01:41
При отсутствии бита разрешения прерываний получается так:



@177560/000000 100
@177560/000000
@177564/000200 100
@177564/000200


У меня на 177564 тоже по нулям как и на 177560.

Однако

http://s019.radikal.ru/i630/1407/53/b538a8a6e5e3.jpg (http://www.radikal.ru)

Всё переводить влом, по этому перевёл яндексом последнюю строчку.


Векторы могут быть изменены из порта принтера векторов 220 и 224 в консоль векторы 60 и 64 перепрограммирования ответ в памяти контроллеров прерываний 0

form
23.07.2014, 01:46
Ну так уже писал про это - вектора перепрограммировать - легко, управлять прерываниями через регистры 177560/177564 - никак. В системах RT-11 V5.5 и новее это не проблема, решается без всяких изменений самой системы. В остальных RT-11 нужно немного переделывать. Хотя надо посмотреть как хукается PI в старых RT-11 - наверняка тоже моэжно сделать все тупо написав свой вариант PI.

MiX
23.07.2014, 01:59
form, Патрон не использует RT выше 5.4 потому что НХ не идет. На версиях 5.5 и 5.6 я не пробовал. А вот на 5.7 точно не идет.

form
23.07.2014, 02:01
form, Патрон не использует RT выше 5.4 потому что НХ не идет. На версиях 5.5 и 5.6 я не пробовал. А вот на 5.7 точно не идет.

5.7 точно идет, только он идет стандартным способом - то есть с консолью на видеомониторе. Чтобы консоль была на принтерном порту требуется написать свой PI который бы подставил все что нужно. Думаю, что и для старых систем все решается точно также через PI (кроме RT-11SJ в котором отсутствует код загрузки PI). В 5.6/5.7 все мониторы работают на PRO.

MiX
23.07.2014, 02:06
form, Версию 5.7 я тогда пробовал на ДВК. НХ точно не шёл. Собственно Патрон её убрал вообще из релизов.

form
23.07.2014, 02:08
form, Версию 5.7 я тогда пробовал на ДВК. НХ точно не шёл. Собственно Патрон её убрал вообще из релизов.

Ну и на ДВК она отлично работает. Пробовали на ДВК2 и ДВК4. Проблемы отсутствуют в принципе. SB/FB/XM...

MiX
23.07.2014, 12:45
form, У меня ДВК 3 :)

Далее...

IOSCAN

160000-167776
172300-172316
172340-172356
172516
173000-173212
173300-173314
173400-173406
173500-173506
173600-173704
174020-174036
174060-174076
174120-174136
174160-174576
177560-177566
177572-177616
177640-177656
177750
177776

Регистры 177560-177566 есть, а прерывания так понимаю нет?

form
23.07.2014, 15:58
Регистры 177560-177566 есть, а прерывания так понимаю нет?

Почему нет? На ДВК класический DLV11... Не DL11-W как написано в эмуляторе ;) - это нереализуемо без электронного вмешательства :)

MiX
23.07.2014, 16:30
form, Иоскан я сделал на Эл.85.

form
23.07.2014, 16:32
form, Иоскан я сделал на Эл.85.

Тогда не ясно в чем вопро - про PRO (ну ладно, Э85) все уже сказано - там нет управления прерываниями через DLV11 интерфейс по простой причине, что его нет. Есть ограниченная эмуляция этого интерфейса...

MiX
23.07.2014, 16:35
form, Есть тест типа Иоскан но ещё и с прерываниями?

form
23.07.2014, 16:37
form, Есть тест типа Иоскан но ещё и с прерываниями?

IOSCAN ничего не делает кроме проверки что регистр на странице ввода вывода присутствует/отсутствует :)

---------- Post added at 19:37 ---------- Previous post was at 19:36 ----------

Добавлю, что в прошнике 17776560-17776566 присутствуют всегда, но сигналы готовности работают только в maintenance mode (8-9 ноги порта зммкнуты).

BYTEMAN
18.09.2015, 09:30
Такой нехитрый вопрос: а можно ли при помощи HX загрузить что-нить вроде СМ-1420, Э-100 и подобных "больших" ЭВМ?

form
18.09.2015, 09:33
Такой нехитрый вопрос: а можно ли при помощи HX загрузить что-нить вроде СМ-1420, Э-100 и подобных "больших" ЭВМ?

Ну так а почему нет-то?
Я где-то выкладывал загрузочный скрипт для Э100/25, по идее он для 1420 подойдет - нужно только символ подсказки эмулятора пульта настроить.

BYTEMAN
21.09.2015, 16:59
А сам по себе драйвер HX сможет загрузиться и работать на той же СМ-1420, или надо какие-то правки в драйвер вносить?

form
21.09.2015, 17:30
А сам по себе драйвер HX сможет загрузиться и работать на той же СМ-1420, или надо какие-то правки в драйвер вносить?

Драйверу все-равно - он через терминальный интерфейс работает. Все что нужно - настроить подсказку эмулятора пульта, подставить скрипт для 100/25 стартануть машину с адреса (17)773000.

---------- Post added at 20:30 ---------- Previous post was at 20:01 ----------

Нашел свой скрипт для 100/25 (http://zx-pk.ru/showpost.php?p=781141&postcount=685). Оказалось, что у себя я его не сохранил. По идее для любой UNIBUSной машины с клавишным пультом должен подойти, только подсказку настроить...

form
23.09.2015, 07:52
СМ-1420

А есть живая? :)
Интересно побаловаться немного на 22-bitном аппарате с UNIBUSом...

MiX
23.09.2015, 21:34
Интересно побаловаться немного на 22-bitном аппарате с UNIBUSом... Похоже память там адресовалась в обход шины, т.к. общая шина как и UNIBUS 18бит.

form
24.09.2015, 04:39
Похоже память там адресовалась в обход шины, т.к. общая шина как и UNIBUS 18бит.

Да, память и MASSBUS устройства (RP04, RP05) идут напрямую (можно и через UNIBUS, но там понятно ограничения будут). UNIBUS сам по себе 18бит и для работы с ним в условиях 22бит используют unibus mapping. На более-менее новых машинах (11/84, 11/94) в сущности используются те же самые процы и память что и на QBUSных (11/83, 11/93), соединенные по PMI (93/94 на проце память имеют), остальное - через KTJ11.

bigral
25.10.2015, 17:59
В приложении - специальная версия RT11SP (http://zx.pk.ru/attachment.php?attachmentid=45787), которая вообще никогда и ничего не пишет в регистры статуса терминала и поэтому всегда работает без прерываний.
...

чёто она перестала грузиться, или attachment изменился?

MiX
25.10.2015, 18:22
Залил HXsys54SP на хост- здесь. (http://rghost.ru/download/private/7ks6vp62Y/3fa159099cd4006832ffd0a347cd976d/1ce60923958ea859a9242e2588d64552aa815828/HXsys54-SP=01.zip)

Patron
25.10.2015, 18:25
чёто она перестала грузиться, или attachment изменился?Сейчас проверил - грузится.

BYTEMAN
26.10.2015, 13:06
Парочка фоток для затравки...


https://pp.vk.me/c628423/v628423117/1d54f/kMs565y3gPo.jpg

https://pp.vk.me/c628423/v628423117/1d559/2evZeG7Sr2Y.jpg

https://pp.vk.me/c628423/v628423117/1d563/ROcovLyBB7s.jpg

https://pp.vk.me/c628423/v628423117/1d594/XsTGFUO4eP4.jpg

form
26.10.2015, 13:07
Парочка фоток для затравки...

О, пульт 1420 или 2420 и советский RK05 на котором удобно диски форматить без участия операционки :)
А вот магнитофон такой ни разу не усеный, из коробки, сам думаю кда бы спихнуть :)

BYTEMAN
26.10.2015, 13:17
А вот магнитофон такой ни разу не усеный, из коробки, сам думаю кда бы спихнуть
Хех, спихните нам :rolleyes:

---------- Post added at 13:17 ---------- Previous post was at 13:17 ----------


пульт 1420 или 2420
2420 :)

form
26.10.2015, 13:17
Хех, спихните нам

Да легко. Вот только как отправить :D
Если есть интерес - в личку :)

hobot
27.10.2015, 06:36
Парочка фоток для затравки...
А! Мне не видать, у меня все ресурсы VK забанены ) Может переложишь
сюда? > http://itmages.ru/ в том же сообщении, я конечно понимаю,
соц.сети и всё такое - но я их бегу (а возможно не я один такой?).

Спасибо.

Andrey_Ak
12.01.2016, 23:25
В приложении комплект заменяемых файлов для загрузки через порт с адресом 176560, при работе терминала через стандартный порт 177560.

Раньше делал загрузку с порта 176560, но по другому:
http://www.tis.kz/forum/topic.php?forum=27&topic=2&postid=1329595762#1329595762

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

И в чем отличия TU58_Boot_(177560).odt от TU58_WarmBoot_(177560).odt ?

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

Итак, все настроил, проверил на реальных машинах, разобрался с конфигами, убрал лишнее..

1) Для загрузки ДВК, Эл.60 и т.п. с консольных портов 177560-177566:

- Подключаем терминальный порт машины через переходник CL-RS232 к СОМ1 на ПиСи
- Запускаем VT52.exe из архива VT52_Emulator_177560-177566.rar
- Включить ДВК, на вкладке VT52 должно выйты приглашение монитора @
(Там можно работать с ДВК, по сути ПиСи является терминалом для ДВК)
- Далее, нажать кнопку Boot HX0, должен пойти набор кодов начального
загрузчика в мониторе @ и автоматически должна загрузится система.

http://tis.kz/progs/dvk/VT52_Emulator_177560-177566.rar


2) Для загрузки ДВК, Эл.60 и т.п. с консольных портов 176560-176566:

Если на ДВК, Эл.60 и т.п. консольные порты 177560-177566 используются встроенным терминалом:
- Подключаем второй терминальный порт машины с адресами 176560-176566 через переходник CL-RS232 к СОМ1 на ПиСи
- Запускаем VT52.exe из архива VT52_Emulator_176560-176566.rar
- Включить ДВК, на вкладке VT52 ничего не выйдет, а на встроенном терминале машины набрать это:
@176566/000360 101 ВК (Для ДВК4: @17776566/000360 101 ВК)
Должен напечатать символ А (Его код 101) на вкладке VT52 эмулятора. Так мы проверим связь.
- Далее, нажать кнопку Boot HX0
- Затем на встроенном терминале машины набрать это:
10000/12701
176560
12702
176564
10100
5003
77301
5212
105712
100376
6300
1005
5012
12700
4
5761
2
42700
20
10062
2
1362
105711
100376
116123
2
22703
1000
101371
5007

10000G
После выполнения кода должна загрузится система.

http://tis.kz/progs/dvk/VT52_Emulator_176560-176566.rar

По сути, все то-же самое что и делали раньше:
http://www.tis.kz/forum/topic.php?forum=27&topic=2&postid=1329595762#1329595762

Только раньше использовали эмулятор TU58, но он работает только под DOS...

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

п.с. начал разбираться, только разобрался, но не полностью, но там мелочи..

Проблема была в том, что в этой теме нет кода загрузчика для второго терминального
порта. А код который я использовал раньше для TU58, не подходил к конфигам эмулятора
выложенного здесь.. Тут только для УКНЦ, а у нее процесс загрузки отличается от
обычных стандартных ДВК, Эл.60 и т.п. с доп. портами 176560-176566...

Patron
13.01.2016, 15:24
И в чем отличия TU58_Boot_(177560).odt от TU58_WarmBoot_(177560).odt ?Второй вариант использует макросы для записи текущих значений даты и времени в память загружаемого компьютера в соответствии с соглашениями RT-11 WarmBoot.

hobot
13.01.2016, 19:16
Andrey_Ak, добавил прямую ссылку на ваш пост в этой теме (http://zx-pk.ru/showthread.php?t=20095&p=851275&viewfull=1#post851275) в правом фрейме главной мордочки хламничка УК-НЦ \ ДВКашного.
http://storage6.static.itmages.ru/i/16/0113/h_1452701653_8942878_70e4537b4e.png

Andrey_Ak
14.01.2016, 09:01
Andrey_Ak, добавил прямую ссылку на ваш пост в этой теме (http://zx-pk.ru/showthread.php?t=20095&p=851275&viewfull=1#post851275) в правом фрейме главной мордочки хламничка УК-НЦ \ ДВКашного.

Хорошо.. Вот тут еще есть полезные заметки:

http://www.tis.kz/forum/topic.php?forum=27&topic=2
http://www.tis.kz/forum/topic.php?forum=27&topic=3

По первой ссылке, может сегодня, может завтра добавлю информацию по загрузке с портов 176560-176566

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

А кто может дать описание всем файлам в образе HXsys54.DSK который идет загрузочным в эмуляторе терминала ?

RT11SJ.SYS 78 16-Dec-2012 SWAP .SYS 30 25-Mar-2003
HX .SYS 6 06-May-2015 TT .SYS 2 23-Jan-1980
SL .SYS 10 28-Dec-1987 EM .SYS 4 04-Mar-2012
LD .SYS 8 18-Jan-1988 DIR .SAV 19 04-Jul-2002
PIP .SAV 30 31-Oct-1998 DUMP .SAV 9 27-Dec-1983
DUP .SAV 45 27-Dec-1983 UCL .SAV 16 18-Jan-1988
UCL .DAT 9 04-Dec-2011 HAND .SAV 8 08-Nov-2011
HANDLE.SAV 17 06-Sep-1991 EDIK .SAV 22 19-Mar-2003
DAY .SAV 4 13-Apr-2013 DESS .SAV 20 04-Nov-1993
SPEED .SAV 3 28-Nov-1992 MEMORY.SAV 2 03-Sep-1982
KLOP .SAV 13 21-Nov-1988 IND .SAV 58 18-Jan-1988
BINCOM.SAV 24 18-Jan-1988 RESORC.SAV 25 01-Mar-2012
STARTS.COM 1 22-Dec-2012 DHRY .SAV 25 08-Feb-2015

А так-же дать описание всем файлам в образе HHDSYS.DSK который идет загрузочным в эмуляторе ДВК?

RT11SB.SYS 97 04-Feb-2015 RT11FB.SYS 105 04-Feb-2015
SWAP .SYS 28 31-Oct-1998 HD .SYS 3 09-Jun-2015
NL .SYS 2 27-Apr-2011 LD .SYS 11 27-Apr-2011
SL .SYS 10 28-Dec-1987 EM .SYS 4 04-Mar-2012
LP .SYS 2 21-Apr-1998 KZ .SYS 3 12-Apr-1989
MX .SYS 9 15-Dec-2012 MY .SYS 3 07-Dec-1989
DW .SYS 4 02-Feb-1990 HX .SYS 6 08-Feb-2014
DX .SYS 4 31-Oct-1998 DY .SYS 4 31-Oct-1998
PC .SYS 2 19-Dec-1988 DAY .SAV 4 13-Apr-2013
HAND .SAV 8 08-Nov-2011 DIR .SAV 20 31-Oct-1998
PIP .SAV 30 31-Oct-1998 DUP .SAV 52 31-Oct-1998
DUMP .SAV 10 31-Oct-1998 UCL .SAV 16 12-May-2009
RESORC.SAV 35 01-Mar-2012 BINCOM.SAV 25 31-Oct-1998
SIPP .SAV 21 31-Oct-1998 SRCCOM.SAV 26 31-Oct-1998
SLP .SAV 13 31-Oct-1998 SPLIT .SAV 3 31-Oct-1998
HELP .SAV 161 31-Oct-1998 LINK .SAV 59 31-Oct-1998
LIBR .SAV 24 31-Oct-1998 IND .SAV 58 31-Oct-1998
K52 .SAV 54 12-May-1999 EDIT .SAV 19 31-Oct-1998
TECO .SAV 50 31-Oct-1998 CREF .SAV 6 31-Oct-1998
MACRO .SAV 63 21-Dec-2012 BASIC .SAV 60 15-Feb-2015
DHRY .SAV 25 08-Feb-2015 PAT .SAV 11 31-Oct-1998
HANDLE.SAV 17 06-Sep-1991 DESS .SAV 20 04-Nov-1993
EDIK .SAV 22 20-Apr-1993 SYSMAC.SML 92 31-Oct-1998
SYSLIB.OBJ 84 31-Oct-1998 SYSTEM.MLB 148 31-Oct-1998
XONIX .SAV 13 12-Feb-1986 TETRIS.SAV 28 04-Apr-1985
KLOP .SAV 13 21-Nov-1988 MARS .SAV 15 08-Aug-1986
UCL .DAT 18 12-May-2009 MARS .DAT 2 21-Dec-2012
EXIT .SAV 1 12-Feb-2015 SPEED .SAV 3 28-Nov-1992
STRTFB.COM 1 26-Feb-2012 STRTSB.COM 1 30-Dec-2014
CPUCSR.MAC 3 19-Dec-2013 CPUCSR.SAV 2 19-Dec-2013

Стандартные системные файлы можно не описывать...

Это нужно для детального описания содержимого образов и
выкладыванию вместе с архивами эмуляторов Терминала и ДВК

Patron
14.01.2016, 14:25
дать описание всем файлам в образе HXsys54.DSK, кроме стандартных системных файлов


HX .SYS - драйвер протокола HX
EM .SYS - драйвер эмуляции команд EIS и FIS
HAND .SAV - просмотр свойств и настроек драйверов на русском
HANDLE.SAV - просмотр свойств и настроек драйверов на английском
EDIK .SAV - текстовый экранный редактор
DAY .SAV - установка даты при загрузке
DESS .SAV - двоичный экранный редактор
SPEED .SAV - тест быстродействия
MEMORY.SAV - просмотр доступных адресов памяти и устройств
KLOP .SAV - игра
DHRY .SAV - тест быстродействия Dhrystone




дать описание всем дополнительным файлам в образе HDSYS.DSK, кроме стандартных системных файлов



HD .SYS - драйвер системного диска эмулятора
XONIX .SAV - игра
TETRIS.SAV - игра
MARS .SAV - игра
MARS .DAT - файл данных для MARS.SAV
EXIT .SAV - завершение эмулятора
CPUCSR.SAV - демонстрационный тест отладочного регистра эмулятора
CPUCSR.MAC - исходник CPUCSR.SAV

Andrey_Ak
16.01.2016, 09:46
MEMORY.SAV - просмотр доступных адресов памяти и устройств

А откуда эта программа? Ее кто-то из наших писал? Или тех времен еще?

Просто раньше пользовался программой IOSCAN.SAV и кодом IOSCAN от тов. Form

Кстати вот результат работы двух программ:


.MEMORY

low high

0 160000
170002 170004
175000 175010
176470 176500
177514 177520
177560 177570


.IOSCAN

170002
175000-175006
176470-176476
177514-177516
177560-177566

Получается MEMORY.SAV отображает еще и скрытые регистры контроллеров? Или это просто ее глюк такой?

form
16.01.2016, 10:10
еще и скрытые регистры контроллеров

Похоже просто отображает иначе. IOSCAN пишет начальный и конечный адрес (если отличаются), MEMORY начальный адрес и первый несуществующий адрес после диапазона.

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

Возможно так и задумывалось, а возможно типичный советско-инженерный подход: "(R)+ не будет увеличивать - я на своей машине проверил" :)

AFZ
16.01.2016, 10:11
Получается MEMORY.SAV отображает еще и скрытые регистры контроллеров? Или это просто ее глюк такой? Мне кажется, что все проще: авторы MEMORY благополучно забыли вычесть двоечку из адреса. То есть делаем что-то, вроде TST (R0)+ начиная с нуля (memory) или с 160000 (ioscan). Первый ответивший запоминаем, как Low, тестим дальше. Все нормально, адрес растет. Наконец получили облом, то есть это не последний присутствующий адрес, а первый отсутствующий. По-хорошему, из него надо вычесть двоечку, чтобы получить последний присутствующий адрес группы, а авторы MEMORY это сделать забыли.

form
16.01.2016, 10:25
благополучно забыли вычесть двоечку из адреса

Скорее наоборот - прибавили двоечку из расчета, что


TST (R0)+

не увеличивает значение R0 для несуществующего адреса. А может просто "и так сойдет" - лень копаться :)
IOSCAN поступает проще (и однозначно) - тестирует адрес (без автоинкремента), зароливает бит C (признак отсутствия адреса) в битмап, увеличивает адрес. А потом просто сканит полученный битмап и печатает результат.

Andrey_Ak
17.01.2016, 11:53
Рядом c Boot HX0 есть кнопка USE HX Compression,
это то что я думаю? Сильно сжимает передаваемые данные?

Patron
17.01.2016, 13:13
Рядом c Boot HX0 есть кнопка USE HX Compression,
это то что я думаю? Сильно сжимает передаваемые данные?Сжатие HX требует аппаратной поддержки квитирования передачи данных из PC. Сжимает повторяющиеся байты, средний выигрыш 20%.

Andrey_Ak
17.01.2016, 22:41
А как можно увеличить скорость передачи от ДВК к Эмулятору терминала?

Гружусь с HX0: , на удаленной (реальной) машине копирую систему с HX0: на виртуальный диск на реальной машине,
загружаюсь с виртуального диска на реальной машине и подключаю в эмуляторе терминала диск HX1:,
далее копирую данные с НМЛ подключенному на реальной машине, на HX1:,
процесс очень медленный, копирование 6000 блоков занимает больше часа времени..

Patron
18.01.2016, 00:45
А как можно увеличить скорость передачи от ДВК к Эмулятору терминала?Только повышением скорости порта.

form
19.01.2016, 15:59
Где-то помнится был вариант драйвера HX не для системного терминала, использующий прерывания... Можно ткнуть меня носом?

Patron
19.01.2016, 16:09
Где-то помнится был вариант драйвера HX не для системного терминала, использующий прерывания...См. ЗДЕСЬ (http://zx-pk.ru/showthread.php?t=20092&p=716412&viewfull=1#post716412).

BYTEMAN
30.01.2016, 10:45
Друзья, для загрузки см1420 с hx через ft232 параметры порта надо выставлять в драйвере ftшки или в конфиге hx-сервера? Если в конфиге, то что там надо написать для 9600 7 бит нечет с паритетом 2 стопбита? Спасибо.

form
30.01.2016, 11:00
для 9600 7 бит нечет с паритетом
Скорее всего просто ничего не получится с паритетом.

BYTEMAN
30.01.2016, 11:58
не буду тогда парить головы, перепаяю перемычки на 9600 8-N-1 и меньше запары в итоге будет.

MiX
30.01.2016, 18:28
Друзья, для загрузки см1420 с hx через ft232 параметры порта надо выставлять в драйвере ftшки или в конфиге hx-сервера?
По моему при захвате СОМ порта программой эмулятора VT52 работают настройки этой программы, игнорируя настройки драйвера СОМ порта. В Вашем случае идет эмуляция СОМ порта через USB, где лучше всего выставить одинаковые настройки с эм. VT52.


Если в конфиге, то что там надо написать для 9600 7 бит нечет с паритетом 2 стопбита? Спасибо.Настройки должны быть такими-же как у подключенного терминала VT220.

BYTEMAN
30.01.2016, 18:44
По моему при захвате СОМ порта программой эмулятора VT52 работают настройки этой программы, игнорируя настройки драйвера СОМ порта. В Вашем случае идет эмуляция СОМ порта через USB, где лучше всего выставить одинаковые настройки с эм. VT52.

Настройки должны быть такими-же как у подключенного терминала VT220.
Я перечислил текущие настройки адаптера ирпс, и следовательно то, что я выставлял для vt220) Я наверное лучше перепаяю на "стандартное" 8-n-1 и 8 бит, а то мне эти всякие паритеты не очень нравятся...

form
30.01.2016, 18:50
при захвате СОМ порта программой эмулятора VT52 работают настройки этой программы, игнорируя настройки драйвера СОМ порта. В Вашем случае идет эмуляция СОМ порта через USB, где лучше всего выставить одинаковые настройки с эм. VT52.
Номер не пройдет. HX обменивается 8-битными данными которые по определению невозможны при включенном parity.

MiX
30.01.2016, 18:50
BYTEMAN, А нормального компа с СОМ портом нет?
...
На ftшки можно замкнуть RX-TX И повводить символы. Если появятся, то это участок схемы работает.

BYTEMAN
30.01.2016, 19:12
BYTEMAN, А нормального компа с СОМ портом нет?
...
На ftшки можно замкнуть RX-TX И повводить символы. Если появятся, то это участок схемы работает.
Он то есть, но мне проще подрезать дорожки на контроллере ирпс и припаять ftшку сразу к ttl-сигналам. Это проще, чем искать сейчас плату с max232, либо химичить конвертер с токовой петли на rs232.

BYTEMAN
30.01.2016, 19:15
Тэкс, пойду набью по быстрому ioscan с клавиатуры, а там начну с hx химичить.

MiX
30.01.2016, 19:52
Он то есть, но мне проще подрезать дорожки на контроллере ирпс и припаять ftшку сразу к ttl-сигналам. Это проще, чем искать сейчас плату с max232, либо химичить конвертер с токовой петли на rs232.Я то думал что ftшка с СОМовскими сигналами. Да и для ИРПСа согласование нужно.
Кстати max232 с инверсией.
Да, и ещё посмотри сигналы готовности чтоб были замкнуты, иначе вв/выв не пойдет.

BYTEMAN
17.11.2016, 15:10
Patron, а есть какие реквизиты для доната? WMR/WMZ например...

Patron
18.11.2016, 01:17
а есть какие реквизиты для доната? WMR/WMZ например...Реквизитов нет.

xolod
20.08.2018, 13:42
Господа, а какие настройки нужно сделать для KDJ11-B? У меня начальный загрузчик не вводится, в пульте после каждой строчки знак вопроса выдает.

MiX
20.08.2018, 14:07
У меня начальный загрузчик не вводится, в пульте после каждой строчки знак вопроса выдает.
Ввод вручную? Номер ячейки даёт ввести?

xolod
20.08.2018, 15:40
Ввод вручную? Номер ячейки даёт ввести?

Похоже, что нет.

@100376?
@116123?
@2?
@22703?
@1000?
@101371?
@23727?
@140?
@67503?
@1006?
@12737?
@60527?
@140?
@12737?
@66562?
@142?
@5003?
@5023?
@113?
@5000/?
@44?
@156434?
@61216?
@10000G


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

Запустилась RT-11.
Дело было в том, что я в пульт сразу при старте выпадал. А оказывается память еще не инициализирована в этот момент. Надо после инициализации памяти по BHALT туда заходить.

AFZ
10.10.2018, 14:51
Что-то не выходит у меня каменный цветок. МС1201.02, в корзинке от ДВК-3 (моноблок), установленной в кузов от ДВК-2 с БПС 6-1. Все весело работает, тесты проходят, с писюком соединено через вот эту (http://zx-pk.ru/threads/2348-dvk-(i-vsjo-chto-s-nimi-svyazano).html?p=981573&viewfull=1#post981573) платку, все ОК, кроме загрузки с HX. Давлю Boot HX0, педалька слегка посинела, в консоли появилась строчка
ODT Loader: Ожидание приглашения ODT: @
и тишина...

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

Конфиг - HX_COM13.cfg, получен из HX_COM.cfg путем копирования и последующей замены в нем COM4 на COM13, соответствующим образом подправлен VT52.ini, терминал эмулируется в лучшем виде, а вот с HX - проблема. :(

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

Набрал вручную коды первичного загрузчика, то, что с 10000 oct. Циклит на

10022/ 105737 TSTB @#177560
10024/ 177560
10026/ 100375 BPL .-2

Как я понимаю, что-то где-то надо подкрутить. Что именно? Да, если что, прошивка у меня 279, может с ней что не так?

Patron
12.10.2018, 12:50
Да, если что, прошивка у меня 279, может с ней что не так?Проверил. В самом деле - эта прошивка перед собакой пульта посылает код LAT ( 017 ), что сбивает с толку ODT_Loader ( надо будет это исправить ).

Но если вбить загрузчик вручную - должно работать.

Для проверки можно добавить в конфиг дамп байтов, приходящих из ДВК:



[objects]
Port_Log = Ядро:Console

[links]
ComPort > Port_Log

[Port_Log.ini]
DumpMode = 3



При штатной работе загрузчика TU58_WarmBoot_(177560).odt на вход фильтра HX из ДВК приходят следующие байты:



«1000»«004»«010»«000»


Первый код ( «1000» ) весьма похож на сигнал BREAK - ведь это родной загрузчик TU58.

В комплекте есть загрузчик, работающий без сигнала BREAK - HX Boot.odt ( перед его запуском таймер ДВК надо отключить ).

Этот загрузчик в момент запуска передаёт из ДВК в PC следующие байты:



«001»«375»«011»CR«000»«000»«000»«000� �«000»«000»«002»«227»«000»


Здесь сигнал BREAK не используется, поэтому должно работать, но вбивать в пульте надо больше и нет передачи текущей даты из PC.

...

Более продвинутый вариант использует UKNC-style Loader.odt (и тоже требует отключения таймера ДВК перед запуском кода загрузчика в пульте), но там нужно больше добавлений в конфиг:




[objects]
UKNCcomSender = Ядро:UKNCcomSender

[links]
ComPort <==> UKNCcomSender
Config + ODT_Loader_Button + ODT_Loader | UKNCcomSender

[ODT_Loader.ini]
ScriptFile= "UKNC-style Loader.odt"

[UKNCcomSender.ini]
InitialStateOf[Load]=0
SaveChangesFor[Load]=0
BytesToSend = 512
BootFile = Boot_RT-11_from_HX0_(177560).bin
Wait_at_Prompt_sec=1
PromptChar="\026"
Imprint_Date&Time=1



И хотя ODT_Loader не срабатывает, но для активации UKNCcomSender, после ручного ввода в пульте ДВК кода из UKNC-style Loader.odt, надо перед нажатием клавиши <G> в ДВК для запуска загрузчика - нажать в эмуляторе VT52 на PC кнопку [Boot HX0].

AFZ
07.11.2018, 17:26
Проверил. В самом деле - эта прошивка перед собакой пульта посылает код LAT ( 017 ), что сбивает с толку ODT_Loader ( надо будет это исправить ). Я тоже проверил. Переткнул ПЗУ-ху, вместо 279-й воткнул 055-ю. Как часы.

bigral
04.02.2019, 04:20
Для ДВК это актуально?

Только если у процессора не работают прерывания ( например, отвалилась нога VIRQ ).
По идее - RT11SP должна без проблем грузиться на Э-85 / Pro-350 через порт отладочного терминала.

Не прошло и 5 лет (1 недели не хватило), как я вернулся к той qbus корзинке в которой это все не работало, подключил цифровой анализатор и обнаружил что на плате терминала B_DIN_L приходит и B_IRQ4_L уходит, а вот на B_IAKI_L ничего не приходит (висит в единице). Стал прозванивать корзинку и обнаружил что слоты в ней не по змейке включенны а в линию!!! Переставил платы в линию и все заработало. Вот такие дела, короче вывод: если отрезать B_IAKO_L процессора от B_IAKI_L SLU то система зависает и процессор вечно пытается выставлять B_DIN_L и в этом положении зависает.

AFZ
04.02.2019, 06:20
Странно. ДВК (а если не врет мой склероз, то и Э-60), если устройство вовремя не ответило СИПом на ввод вектора прерывания, машинка вылетает в останов, после чего на вопрос в виде буквы М (показать причину останова) выдает ххххх1 - "ошибка при обращении к каналу при вводе адреса вектора прерывания". А чтобы зависало?..

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

Это на машинках с ВМ1 и на Э-60. На ДВК с ВМ2 и ВМ3 причина останова по букве М выдается текстом, по-ангельски.

form
04.02.2019, 10:11
машинка вылетает в останов, после чего на вопрос в виде буквы М (показать причину останова) выдает ххххх1 - "ошибка при обращении к каналу при вводе адреса вектора прерывания". А чтобы зависало?..
Далеко вверх не читал, так что не знаю подробностей (относительно железа о котором идет речь), но реакция ДВК/Э60 в данном случае скорее исключение чем правило. У DEC потеря подтверждения прерывания - вполне нормальная ситуация, не вызывающая останова (не скажу, что везде, но как минимум на всех UNIBUS и всех J11).

AFZ
04.02.2019, 11:50
У DEC потеря подтверждения прерывания - вполне нормальная ситуация, не вызывающая остановаА что она вызывает? Зависание?

Сделать Trap to 4, будет неправильно, не поймешь, что произошло. Какого, простите, хрена, Trap to 4 на вполне нормальной команде? И вообще, Trap to 4 - это, все-таки, ближе к программным ошибкам, а потеря прерывания - 100% дефект аппаратуры, причем такой, который сам не устранится и надо лезть внутрь.

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

Э-60, кстати, тоже DEC-овская (почти, она ведь, не считая конструктива, цельнотянутая LSI-11/03).

form
04.02.2019, 13:06
А что она вызывает? Зависание?
Никакого зависания. Штатное продолжение работы без каких либо последствий (с точки зрения процессора, конечно). Зависание (софтовое) тут может произойти из-за неработоспособности устройства - нет прерывания - нет работы. То есть по сути - обыкновенный device timeout.


Сделать Trap to 4, будет неправильно, не поймешь, что произошло.
Трап по 4 на многих процессорах (в тех же J11 например) четко идентифицируется, и причина выявляется однозначно (HALT это, стек, память, I/O page итд), но это не тот случай.


Э-60, кстати, тоже DEC-овская (почти, она ведь, не считая конструктива, цельнотянутая LSI-11/03).
Насчет того как в 11/03 с этим дело обстоит не знаю. В UNIBUS проще - там для этого даже термин свой есть, а насчет J11 можно в описаниях всех процов на нем прочитать про эту ситуацию, она вполне штатная. С точки зрения устройства - да, это, возможно, проблема, но тут уже пусть драйвер обнаруживает ее и делает сброс, повтор итд...

bigral
04.02.2019, 16:18
Никакого зависания. Штатное продолжение работы без каких либо последствий (с точки зрения процессора, конечно). Зависание (софтовое) тут может произойти из-за неработоспособности устройства - нет прерывания - нет работы. То есть по сути - обыкновенный device timeout.

Странное дело, но в принципе легко проверить имея под рукой QBUS корзинку и плату процессора БЕЗ SLU на борту. Достаточно обеспечить 1 пустой слот в QBUS цепи между платой процессора и SLU платой. А потом запустить тот код что привел Patron, ну или попытаться загрузить RT11 через HX (обычную версию а не SP которая не использует прерывания вообще!!! невероятно но факт...)


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

Это подозрение легко проверить, введя с пульта и запустив программу, которая устанавливает обработчик, просто считающий прерывания передатчика, разрешает прерывания и выводит на экран в режиме опроса несколько символов. Если прерывания работают - значение счётчика после завершения программы должно на 1 превышать число выведенных символов.



.=60
202
0
176 ; Адрес обработчика прерывания передатчика
0

.=100
202
0

.=176
INC (PC)+
0 ; По адресу 200 == Счётчик прерываний
RTI

.=1000
MOV #700, SP
MTPS #0
MOV #100, @#177564 ; Включить прерывания передатчика
MOV #5, R1
MOV #100, R0
1$:
INC R0
MOV R0, @#177566
2$:
TSTB @#177564
BPL 2$
SOB R1, 1$

HALT

AFZ
04.02.2019, 17:29
легко проверить имея под рукой QBUS корзинку и плату процессора БЕЗ SLU на борту. Достаточно обеспечить 1 пустой слот в QBUS цепи между платой процессора и SLU платой. А потом запустить тот код что привел PatronТак, может быть, она банально зацикливает, не дождавшись прерывания? Подать сигнал B HALT L не пробовал?

form
04.02.2019, 18:01
Странное дело, но в принципе легко проверить имея под рукой QBUS корзинку и плату процессора БЕЗ SLU на борту.
Проверить что это штатная ситуация? В доках по KDJ11 об этом прямо сказано и на моем 11/83 тестировали.

bigral
04.02.2019, 19:20
Так, может быть, она банально зацикливает, не дождавшись прерывания? Подать сигнал B HALT L не пробовал?

уже не поможет никакой B HALT L, только RESET

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


Проверить что это штатная ситуация? В доках по KDJ11 об этом прямо сказано и на моем 11/83 тестировали.

а как это проверить на 11/83? там же SLU встроенный в плату процессора

form
04.02.2019, 19:25
а как это проверить на 11/83? там же SLU встроенный в плату процессора
Тест проводился и на плате DLV11-J, цель теста была проверить что будет если сделать BIS #100,@#TPS и сразу BIC #100,@#TPS. На ДВК подобные действия как раз вызывают, упомянутое AFZ, выпадение в пульт с ошибкой прерывания. Это позже я прочитал в описании процессора, что если запрошенное прерывание не было отработано, то все идет так как если бы его не было вообще.

Valent
05.06.2019, 18:09
Подскажите, можно ли с помощью эмулятора терминала типа VT52, имея образ загрузочного RX02 диска, загрузить систему в реальную машину PDP-11 через порт системного терминала?

Andrey_Ak
05.06.2019, 18:42
Подскажите, можно ли с помощью эмулятора терминала типа VT52, имея образ загрузочного RX02 диска, загрузить систему в реальную машину PDP-11 через порт системного терминала?

Можно...

Если не искать по всему форуму, вот тут разжевал как можно проще:
http://www.tis.kz/forum/topic.php?forum=27&topic=2&postid=1453353415#1453353415

Valent
06.06.2019, 10:10
Можно...

Если не искать по всему форуму, вот тут разжевал как можно проще:
http://www.tis.kz/forum/topic.php?forum=27&topic=2&postid=1453353415#1453353415

Что то не получается, понятно, если на диске RX02 система RT-11, то всё работает, а если прикладная загрузочная программа, то вот:https://pic.maxiol.com/up/temp/1559804970.3117373907.pro420.jpg

Andrey_Ak
06.06.2019, 10:22
А что именно не получается? Загрузиться то удалось??

Что вы пытаетесь сделать? Какая задача?

Valent
06.06.2019, 10:26
А что именно не получается? Загрузиться то удалось??

Что вы пытаетесь сделать? Какая задача?

Есть установка, управляется dec pdp-11/23, загружается с флоппи диска, хотелось бы избавиться от флоппи приводов и загружаться через сом-порт.

Andrey_Ak
06.06.2019, 10:33
Есть установка, управляется dec pdp-11/23, загружается с флоппи диска, хотелось бы избавиться от флоппи приводов и загружаться через сом-порт.

Ну так скопируйте управляющие программы на виртуальный диск HX0: и загрузившись с него, запускайте их...

Еще как вариант, можно взять эмулятор флоппи диска, и загружаться с флешки..
Правда не знаю какие дисководы и интерфейс у вас стоят..

---

п.с. если вдруг контроллер и сами флоппи диски станут не нужны, готов приобрести..

Hunta
06.06.2019, 10:56
Valent, Вы скопировали только драйвер HX, а надо ещё SWAP.SYS, монитор, другие драйвера. Книгу по RT-11 и читать

Valent
06.06.2019, 11:04
Ну так скопируйте управляющие программы на виртуальный диск HX0: и загрузившись с него, запускайте их...

---

п.с. если вдруг контроллер и сами флоппи диски станут не нужны, готов приобрести..

На диске два файла ( на картинке видно) 510405.MIM 625 БЛОКОВ и CONFIG.PRO 3 БЛОКА, диск загрузочный, но ни один из этих файлов не является исполняемым файлом OS RT-11. Как запускать такие файлы? Например, эмулятор Е11 загружает управляющую программу
https://pic.maxiol.com/images/1559807468.3117373907.e11.jpg
А может эмулятор терминала VT52 делать то же самое, только грузить программу не в память РС, а в память DEC машины?

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


Valent, Вы скопировали только драйвер HX, а надо ещё SWAP.SYS, монитор, другие драйвера. Книгу по RT-11 и читать

Уважаемый, Hunta! Мне не нужно загружать систему RT-11, мне нужно загрузить прикладную программу, которая управляет промышленной установкой.

Hunta
06.06.2019, 11:16
boo/for hx1: - это теоретически. А практически - более, чем уверен, что в нулевом секторе загрузчик, который понимает ТОЛЬКО RX02, так что команда в начале не пройдёт. То есть нулевой сектор будет считан в память, передано управление на него и на этом всё..

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


А может эмулятор терминала VT52 делать то же самое, только грузить программу не в память РС, а в память DEC машины?
Он и загрузил в память DEC начальный загрузчик RT-11 для HX:. А дальше он - RT-11 - тоже в память DEC. Но он умеет грузить ТОЛЬКО RT-11

Andrey_Ak
06.06.2019, 11:22
Тут скорее всего один выход:

- Считать дискету в образ..
- Дизассемблировать загрузочный сектор, разобраться что он делает
- Переписать управляющую программу под RT11

Еще возможно, что 510405.MIM получиться просто
переименовать в исполняемый файл и запускать, но тут я не знаю..

Скиньте образ сюда, тут в этой теме есть специалисты, которые
в коде понимают.. Может подскажут...

Valent
06.06.2019, 12:03
Тут скорее всего один выход:

- Считать дискету в образ..
- Дизассемблировать загрузочный сектор, разобраться что он делает
- Переписать управляющую программу под RT11

Еще возможно, что 510405.MIM получиться просто
переименовать в исполняемый файл и запускать, но тут я не знаю..

Скиньте образ сюда, тут в этой теме есть специалисты, которые
в коде понимают.. Может подскажут...

Ссылка на образ диска: https://cloud.mail.ru/public/xQPD/3A1nMK1WR

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


boo/for hx1: - это теоретически. А практически - более, чем уверен, что в нулевом секторе загрузчик, который понимает ТОЛЬКО RX02, так что команда в начале не пройдёт. То есть нулевой сектор будет считан в память, передано управление на него и на этом всё..

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


Он и загрузил в память DEC начальный загрузчик RT-11 для HX:. А дальше он - RT-11 - тоже в память DEC. Но он умеет грузить ТОЛЬКО RT-11

Неправильно выразился, проблема не в загрузке программы в память, загрузить в машину дамп памяти не проблема, проблема в том, что не понятно по какому адресу потом стартовать. Допустим, можно загрузить программу в Е11, потом её остановить, снять дамп памяти командой DUMP, но если потом загрузить полученный дамп обратно в эмулятор E11 и выставить все регистры, программа не хочет запускаться с адреса остановки.

Hunta
06.06.2019, 12:28
если потом загрузить полученный дамп обратно в эмулятор E11 и выставить все регистры, программа не хочет запускаться с адреса остановки
Я так понимаю, она работает с каким то железом? Так у железа то же есть какое то состояние (внутреннее и диалога) - и оно явно при создании дампа не сохранилось. А программа думаю, что диалог продолжается, состояние известное. Близкое сравнение - RT загрузилась, прерывание с клавиатуры разрешила, остановили работу компа, дамп сняли, машина была выключена, потом включили (прерывания с клавиатуры запрещены), состояние памяти и регистры процессора восстановили и.... система на клавиатуру не реагирует. Вот примерно так и с программой (а может она ещё и по прерыванием с консолью работает - тогда ещё и это)
Так что единственно точно работающий вариант - запустить программу с точки входа, когда она была только что загружена в память. Остальные варианты из разряда - а вдруг повезёт?

AFZ
08.06.2019, 05:00
По-любому, надо разбирать программу из нулевого блока. Там, конечно, нет RT-11, но загрузчик может быть сделан по ее подобию - это ведь хороший пример для подражания. Ту часть, которая драйвер DX, кстати, разбирать не обязательно, надо только опознать приёмы загрузки RT-11. Конкретно - обнаружить программу первичного драйвера DX и способ обращения к ней, а также запрос на считывание дополнительных блоков программы с этого DX. И, если оно похоже, тогда заменять первичный драйвер на первичный драйвер HX. Он, кстати, ИМХО, должен быть поменьше...

Как вариант, можно попробовать сравнить загрузочные блоки этого диска и загружаемого диска DX с RT-11. Если бы мне поручили сделать такой загрузчик, я бы, по-простому, скопировал нулевой блок с загрузчиком RT-11, подправил ему дисковый адрес и счетчик слов для программы, вычистил лишнее (NOP'ами), и алга!

falanger
13.03.2021, 20:28
Собрал сегодня старый РС на Р4 специально для VT52+HX.
Терминальная часть, отображает работу загрузчика KDJ11-D/S, команды в консоли работают.
Но при включенной загрузке BOOT HX0 и подаче команды в термиеале Boot DD (загрузить с TU58)- пишет в ответ - Non existen driye.
Что я делаю не так?

Hunta
13.03.2021, 20:59
HX - это не DD

falanger
13.03.2021, 21:11
HX - это не DD

Тогда какое устройство он эмулирует?
В теме пока я вычитал тут что он должен грузить код на устройство эмулируя TU58. Может не так понял, я Гуру по PDP-11 из себя не строю.

Hunta
13.03.2021, 21:26
Тогда какое устройство он эмулирует?
Как не удивительно - HX:
@ на картинках в первом сообщение ни о чём не говорит?

falanger
13.03.2021, 21:32
Если расскажете как с НХ загрузиться на KDJ11-D/S с работающим штатным ПЗУ я буду благодарен, как и другие пользователи.

Hunta
13.03.2021, 21:41
Выйти в MicroODT и нажать кнопку Boot HX0.

falanger
13.03.2021, 22:02
Долго думает эмулятор по нажатии Alt-Break, почему и не мог понять чего не переходил в ODT.
Ссылку на проверенный образ с XXDP для HX не подкинете? Надо с четырьмя ST-251 разобраться и RQDX3.
Образы дисков из комплекта эмулятора на моей 11/53 вываливаются в ODT, пишут
000050
@

Hunta
13.03.2021, 22:11
Долго думает эмулятор по нажатии Alt-Break
У меня отрабатывает по кнопке Pause и моментально


Ссылку на проверенный образ с XXDP для HX не подкинете?
Нет, я пока не настолько разобрался c XXDP, чтобы в (произвольные) образы HX добавлять, я воспользовался контроллером DU и конвертером SCSI<->IDE, что бы CF подключить. Ну а собрать XXDP для DU можно под simh

falanger
13.03.2021, 22:31
Я разобрался. Воюя с VT52-HX - не те файлы в него сунул и он путался с системой. Сейчас диск из комплекта смог загрузиться.
Спасибо за подсказку. Теперь надо разбираться с RQDX3 и дисками. Я их купил 4 одинаковых в надежде что хоть один будет живой.

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

Кто-нибудь через HX заливал на голую PDP-11 XXDP чтобы разбить диски на живой системе и потом уже на нее копировать систему?