PDA

Просмотр полной версии : Протокол HX - имитация блочного устройства с последовательным интерфейсом.



Страницы : [1] 2

Patron
21.01.2013, 21:05
Большинство старых компьютеров имеют в своём составе последовательный порт, поэтому имитатор блочного устройства ( диска с секторами по 512 байт ) с последовательным интерфейсом - часто может быть использован с ними для загрузки программ.

При разработке протокола HX преследовались две основные цели:

1. Передача блочного обмена по последовательному каналу.
2. Передача терминального обмена по тому же самому каналу.

В результате появилась технология, позволяющая использовать последовательный порт не только для загрузки программ, но также и для загрузки операционной системы и даже для загрузки операционной системы через порт её системного терминала (http://zx.pk.ru/showthread.php?t=20095).

...

В своём развитии протокол HX прошёл следующие этапы:

HX v1.1 - добавлена поддержка сжатия при чтении.

HX v2.0 - порядок байтов при передаче слов заголовков и контрольных сумм приведён в соответствие с порядком байтов при передаче данных ( little-endian ), 16-битный номер блока заменён на 32-битный, счётчик слов в операциях чтения и записи заменён на счётчик байтов.

HX v2.1 - сервер при записи перестал дополнять неполные блоки нулями (на диск пишется ровно столько байтов, сколько было передано). При запросе чтения, переходящем через размер образа диска, смонтированный в приводе - возвращаются только реально прочитанные байты. При запросе записи, переходящем через размер образа - пишутся только "умещающиеся" байты и возвращается признак конца файла.

HX v2.2 - в протоколе появилась поддержка указания желательного типа сжатия в запросах чтения сжатых данных.

HX v2.3 - добавлена поддержка команды TU58 "передать загрузчик для привода 0". Теперь, после получения байтов "\x04\x08\x00" - сервер передаст первые 512 байтов образа, подключенного к нулевому приводу.

HX v2.4 - добавлена поддержка спецкоманд. Добавлены спецкоманды: EcHo, BrEaK, VeR.

...

В архитектуре протокола HX реализованы следующие основные идеи:

1. Сервер только отвечает на запросы клиента.

2. Клиент никогда не отвечает на ответы сервера.

3. Вся информация, необходимая для контроля версий, содержится в каждом запросе клиента.

4. Все версии протокола, начиная с 2.1 - обратно совместимы ( клиент, поддерживающий HX v2.1 - сможет работать с любой последующей версией сервера ).

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

...

Протокол HX имеет следующую структуру:

1. Весь обмен осуществляется в виде пакетов.

2. Все пакеты (кроме спецпакета №1 и спецпакета №2) имеют контрольную сумму. Контрольная сумма передаётся в двух последних байтах пакета.

3. Пакеты могут быть трёх основных типов:

--- 1) Короткий пакет с заголовком, начинающимся с байта длины пакета. Короткий пакет c нулевым байтом длины - это спецпакет №1.
--- 2) Длинный пакет с заголовком, начинающимся с двух байтов длины пакета. Длинный пакет с двумя нулевыми байтами длины - это спецпакет №2.
--- 3) Упакованный поток - не имеет заголовка. Структура упакованного потока зависит от используемого типа сжатия.

4. Запрос клиента начинается байтом SOH. Значение байта SOH зависит от покления запрашиваемого протокола HX. Для протокола поколения 2 - это байт 01.

5. Второй байт запроса клиента - байт типа пакета. Клиент посылает три типа пакетов:

--- 1) Короткий пакет, начинающийся с байта 0375.
--- 2) Длинный пакет, начинающийся с байта 0376.
--- 3) Спецкоманда, начинающаяся с байта 0373.

6. После байта типа пакета и одного или двух байтов длины пакета располагается тело пакета, завершаемое контрольной суммой. Контрольная сумма считается 16-разрядным суммированием байтов пакета между длиной и контрольной суммой ( не включая ни длину, ни контрольную сумму ). Спецкоманды не оформлены в пакеты и получают от сервера специальные ответы.

7. Первый байт тела запроса клиента определяет вид пакета. В HX 2.2 есть только один вид запроса клиента - команда ( байт вида пакета 'C' ).

8. Следующий байт после C задаёт команду клиента.

Для коротких пакетов это:

--- 1) R - чтение несжатых данных.
--- 2) r - чтение сжатых данных.
--- 3) s - запрос размера диска.

Для длинных пакетов это:

--- 1) W - запись несжатых данных.

9. Затем передаётся байт номера привода и, для запросов чтения и записи - 4 байта номера блока и 2 байта счётчика байтов.

Читать и писать лучше всего кусками, кратными размеру блока ( 512 байт ). Однако, возможно и чтение, и запись любого количества байтов ( от 1 до 65525 ) от начала любого блока.

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

11. После получения от клиента спецкоманды BrEaK - сервер отправит клиенту сигнал BREAK.

12. После получения от клиента спецкоманды VeR - сервер отправит клиенту два байта версии и ревизии протокола ( сейчас это: 002 ; 004 ).


Что происходит дальше словами описать трудно, поэтому в приложении находится исходный текст ( на С++ ) фильтра HX v2.2 и исходный текст ( на MACRO-11 ) драйвера HX.SYS для RT-11.

...

Patron
10.02.2013, 12:56
Текущая версия сервера HX для использования PC, подключенной через COM-порт к порту С2 УКНЦ - в качестве эмулятора диска при работе на УКНЦ, включая возможность загрузки RT-11 при помощи пункта стартового меню УКНЦ: "Загрузка через стык С2".

HX_Server 2.3_-_UKNC_-_C2_26.03.14_15-57 (http://zx.pk.ru/attachment.php?attachmentid=47040)

...

Загрузчик RT-11, проверяющий бит оверрана ВП1-065:

Boot_RT-11_from_HX0_(+065_overrun_test_v2_) (http://zx.pk.ru/attachment.php?attachmentid=39490)

Загрузчик NC-11, проверяющий бит оверрана ВП1-065:

Boot_NC-11_from_HX0_(+065_overrun_test_v2_) (http://zx.pk.ru/attachment.php?attachmentid=39753)

...

Комплект сервера HX для работы через порт CA УКНЦ:

HX_Server 2.3_-_UKNC_-_CA_26.03.14_15-57 (http://zx.pk.ru/attachment.php?attachmentid=47041).

...

Patron
10.02.2013, 21:49
Имя COM-порта для сервера HX нужно указать в разделе [ComPort.ini] используемого файла конфигурации ( UKNC_HX_COM.cfg или NC11_HX_COM.cfg ):



[ComPort.ini]
PortName = COM1
InitialStateOf[ShowPortUse]=1
SaveChangesFor[ShowPortUse]=1
InitialStateOf[StopReading]=0
SaveChangesFor[StopReading]=0


Настройки по-умолчанию для COM-порта находятся в файле Terminal_ComPort_Adapter.ini и полностью соответствуют параметрам DCB Windows (http://msdn.microsoft.com/ru-ru/library/windows/desktop/aa363214(v=vs.85).aspx):

BaudRate = CBR_9600 - скорость порта (можно просто числом).

fDtrControl = DTR_CONTROL_ENABLE - включает постоянный уровень ENABLE на линии DTR.

fRtsControl = RTS_CONTROL_HANDSHAKE - переключает порт в режим квитирования приёма по RTS ( если программа со стороны PC перестаёт читать байты из порта, а "складировать" их больше некуда - Windows выставит уровень DISABLE в линии RTS ).

StopBits = TWOSTOPBITS - если не используется сжатие можно установить ONESTOPBIT, тогда скорость обмена увеличится на 10%. Самые крутые контроллеры могут работать с одним стоповым битом и при включённом сжатии ( например, контроллеры на чипе Oxford Semiconductor ).

fOutxCtsFlow = FALSE - чтобы включить квитирование передачи ( без квитирования сжатие HX может не работать ) - нужно установить TRUE, тогда Windows будет останавливать передачу каждый раз, когда программа на УКНЦ не успеет прочитать из порта переданный байт и 1801ВП1-065 установит уровень DISABLE в линии CTS.

...

Patron
19.02.2013, 12:22
Обновлённая версия драйвера HX.SYS для RT-11 ( HX.SYS_v3.1 (http://zx.pk.ru/attachment.php?attachmentid=45605) ) с прежним функционалом и новыми возможностями настройки.

Изменения:

1. Команда SET HX INFORM сообщает основную информацию о драйвере.

2. Команда SET HX LIST показывает активные SET-параметры.

3. Команда SET HX HXCSR = oooooo задаёт адрес порта ( >= 160000 ) для связи с сервером HX.

4. Команда SET HX TTCSR = oooooo задаёт адрес порта ( >= 160000 ) для вывода сообщений при загрузке.

5. Команда SET HX ERLG / SET HX NoERLG устанавливает значение флага ERL$G в параметрах генерации.

6. Команда SET HX TIMIT / SET HX NoTIMIT устанавливает значение флага TIM$IT в параметрах генерации.



.SET HX INFORM

HX DSK/TTY multiplexer v3.1 2014

SET HX HXCSR=octal Change HX CSR address.
SET HX TTCSR=octal Change terminal CSR address for boot messages.
SET HX LIST Check active set parameters.

.SET HX LIST

HX DSK/TTY multiplexer v3.1 2014

SET HX active parameters
========================
NoERLG
NoTIMIT
HXCSR = 177560
TTCSR = 177560

.

Patron
09.04.2013, 15:17
Комплект сервера HX для работы через порт CA: HX_Server_2.3_-_UKNC_-_CA_09.04.13_14-25 (http://emulator.pdp-11.org.ru/misc/HX_Server_2.3_-_UKNC_-_CA_09.04.13_14-25.rar)

Изменения:

1. Исправлена кошмарная ошибка в адаптере COM-порта, приводившая к резкому увеличению использования процессора при создании объектов типа Terminal_ComPort_Adapter.

2. Программа DAY.SAV улучшена до версии v2.0 ( исправлена ошибка, приводившая к вылету по Trap_To_4 на процессорах, не допускающих словного обращения к нечётному адресу ).

...

hobot
09.04.2013, 17:40
комплект сервера HX для работы через порт CA:

Patron, мне в плане архивы залить на сайт нужно уточнить моменты, DAY я в архиве залил версию 2.0, поглядел а у меня в разделе ДВК(эмуляторы) лежит архив с эмулятором ДВК, HX22 Сервер УК-НЦ и вот такой как в сообщении.
В эмуляторе ДВК я заменил (пока только у себя) EXE файл.
А нельзя два этих сервера в один проект совместить?
Я имею в виду СА-сервер и без СА-приставки?

Patron
09.04.2013, 17:51
А нельзя два этих сервера в один проект совместить?
Я имею в виду СА-сервер и без СА-приставки?Там разные образы дисков, разные загрузчики (и их исходники) и разные конфиги.
Файл HX_Server.exe, понятное дело - чем новее, тем (скорее всего) лучше.

hobot
09.04.2013, 18:28
HX_Server.exe,
его тогда заменю и DAY ручками что бы обновление как-бы состоялось, но для совместимости с авторской темой номер версии 2.2 оставлю, 2.3-это СА версия сервера. В общем, как-то так получается.

Patron
09.04.2013, 18:41
его тогда заменю и DAY ручками что бы обновление как-бы состоялось, но для совместимости с авторской темой номер версии 2.2 оставлюВерсия должна совпадать с датой exe-файла иначе смысл теряется ( эта дата запомнена внутри файла и при запуске выводится на системной консоли ).

hobot
09.04.2013, 18:43
Версия должна совпадать с датой exe-файла иначе смысл теряется.
Согласен.
не могу найти последнюю версию сервера HX без СА - приписки - потерял )

Patron
09.04.2013, 18:45
Надо написать HX_Server_2.3_-_UKNC_09.04.13_14-25

---------- Post added at 17:45 ---------- Previous post was at 17:44 ----------


потерялВторое сообщение в этой теме.

Patron
26.03.2014, 17:21
В приложении - комплект сервера HX для загрузки RT-11 через порты УКНЦ C2 и CA:

HX_Server 2.3 - UKNC - C2 (http://zx.pk.ru/attachment.php?attachmentid=47040)

HX_Server 2.3 - UKNC - CA (http://zx.pk.ru/attachment.php?attachmentid=47041)

Изменения:

1. Все файлы обновлены до текущих версий.

...

MiX
08.06.2014, 15:04
Комментарий из темы "Эмулятор терминала типа VT52"


Обычно причиной несовпадения контрольной суммы является потеря байта в порту. Такое происходит, когда PC не успевает остановить передачу очередного байта после снятия портом ДВК сигнала RTS. Или когда линия RTS ( от ноги 31 у ВП1-065 ) не разведена.

Линия RTS разведена, потери могут быть через интернет при сжатии. Интересно как программно идет подсчет контрольной суммы в НХ.

Patron
08.06.2014, 15:18
Линия RTS разведенаНужно ещё чтобы была установка



fRtsControl = RTS_CONTROL_HANDSHAKE

Но даже и при этом некоторые платы адаптеров USB-COM могут не отрабатывать RTS.


потери могут быть через интернет при сжатии.Не могут.
Если бы могли - ошибки бы шли и при HX-загрузке через интернет на эмуляторе ДВК, но такого никогда не наблюдалось.

MiX
08.06.2014, 16:22
Нужно ещё чтобы была установка
Всё есть, сжатие по ком порту проходит.


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


Не могут.
Если бы могли - ошибки бы шли и при HX-загрузке через интернет на эмуляторе ДВК, но такого никогда не наблюдалось.

Не совсем корректная ссылка но тем не менее:http://zx.pk.ru/showpost.php?p=704239&postcount=79

Patron
08.06.2014, 22:29
Не совсем корректная ссылка но тем не менееПроще эксперимент провести. Интернет взять один и тот же, но в одном конфиге IP-адаптер соединён с реальным COM-портом PC для работы с реальной ДВК, а в другом конфиге - IP-адаптер соединён с эмулируемым COM-портом com0com, при том что второй эмулируемый COM-порт соединён с эмулятором ДВК.

Если бы ошибки возникали при передаче через интернет - разницы при работе с реальной и эмулируемой ДВК не было бы.

MiX
08.06.2014, 22:56
Patron, Речь идет именно о передачи клиента сжатии НХ через интернет с конфигурацией HX_IP. К COM-порту что реальному, что виртуальному у меня вопросов нет.

Patron
09.06.2014, 10:17
Речь идет именно о передачи клиента сжатии НХ через интернет с конфигурацией HX_IP.Т.е. никакое реальное оборудование не используется и вся работа через интернет идёт с виртуальным портом и эмулятором ДВК ?

MiX
10.06.2014, 21:37
Т.е. никакое реальное оборудование не используется и вся работа через интернет идёт с виртуальным портом и эмулятором ДВК ?

Не совсем, со стороны клиента эмулятор VT52 а со стороны сервера в моём случае МС1201.03 через связку ирпс-сом РС эм.VT52(в режиме сервера) Бед пакеты не всегда появляются и не появляются вообще если не нажимать сжатие.

Я так понимаю сжатие только для конфигурации СОМ, а для передачи по сети оно не годится.

Patron
11.06.2014, 01:30
Я так понимаю сжатие только для конфигурации СОМ, а для передачи по сети оно не годится.Если провести эксперимент, полностью исключив всё реальное оборудование, кроме двух PC и интернета между ними - можно легко убедиться, что сжатие через интернет прекрасно работает.

form
14.06.2014, 13:46
По теме HX лучше постить сюда

Чтоб в истории страница осталась, еще немного косметики:


Mov #^RHX , @#B$DEVN

...есть такая замечательная вещь как B$DNAM которая уже установлена в название драйвера в R50 :)

Patron
14.06.2014, 14:49
...есть такая замечательная вещь как B$DNAM которая уже установлена в название драйвера в R50Типа



MOV #B$DNAM,@#B$DEVN ;STORE RAD50 DEVICE NAME

form
14.06.2014, 15:32
Типа



MOV #B$DNAM,@#B$DEVN ;STORE RAD50 DEVICE NAME

да, так и пишут обычно

---------- Post added at 18:32 ---------- Previous post was at 17:57 ----------

HX протокол на данный момент предусматривает какой-нибудь способ прервать I/O и вернуться к начальному состоянию?

Patron
14.06.2014, 16:37
HX протокол на данный момент предусматривает какой-нибудь способ прервать I/O и вернуться к начальному состоянию?Не позволяет. Прервать отправку сервером пакета невозможно из-за того, что последний байт пакета уходит из сервера раньше, чем первый байт этого пакета поступает на принимающую сторону.

MiX
14.07.2014, 17:14
HX v2.3 - добавлена поддержка команды TU58 "передать загрузчик для привода 0". Теперь, после получения байтов "\x04\x08\x00" - сервер передаст первые 512 байтов образа, подключенного к нулевому приводу.

Вот здесь поподробней пожалуйста. В моём понятии что загрузчик передаётся через 177560 а потом слушает 176560. А в RT идет поддержка драйвером DD.SYS.

Patron
14.07.2014, 20:39
Вот здесь поподробней пожалуйста.Эта возможность актуальна только для тех машин, у которых в ПЗУ встроен начальный загрузчик TU58.

Любая версия протокола HX, начиная с v2.3 - реагирует на получение сервером команды протокола TU58 "передать загрузчик для привода 0" точно так же, как и TU58 - передаёт содержимое нулевого блока нулевого привода. Нужно это не для загрузки TU58, а для более удобной передачи первичного загрузчика HX на тех машинах, где есть аппаратный начальный загрузчик TU58.

Если в ПЗУ используемого компьютера нет встроенного начального загрузчика TU58 - данная возможность протокола HX не особо актуальна.

MiX
14.07.2014, 20:45
Эта возможность актуальна только для тех машин, у которых в ПЗУ встроен начальный загрузчик TU58.
Какие машины (из наших)?
Но ведь загрузчик можно и руками вбить.

Patron
14.07.2014, 20:55
Какие машины (из наших)?Никакие.


Но ведь загрузчик можно и руками вбить.Да, если вбивать именно руками - смысл может быть, потому что загрузчик TU58 на несколько слов короче, чем "родной" загрузчик HX.

---------- Post added at 19:52 ---------- Previous post was at 19:49 ----------

Но сервер HX поддерживает и протокол передачи загрузчика УКНЦ - а там код, который надо вбивать - пожалуй ещё короче, чем в загрузчике TU58.

---------- Post added at 19:55 ---------- Previous post was at 19:52 ----------

Файл: UKNC-style Loader.odt - как раз содержит код имитации загрузчика УКНЦ и именно он используется в качестве начального загрузчика практически во всех файлах конфигурации, использующих загрузку через сервер HX.

MiX
14.07.2014, 20:58
Спасибо за информацию.
Patron, А ведь платы МС1201.* кроме дисков изначально имеют возможность грузится из-вне. Например перфолента. Или это уже другие адреса?

Patron
14.07.2014, 21:02
А ведь платы МС1201.* кроме дисков изначально имеют возможность грузится из-вне. Например перфолента.Вот сделаю эмуляцию перфоленты и тогда можно будет проверить совместимость перфоленточного загрузчика ДВК и ( если проблем не будет ) - добавить в сервер HX "загрузку в роли перфоленты".

MiX
14.07.2014, 21:15
Тут ещё надо бы уточнить, если перфолента имеет абсолютный загрузчик то на плате скорей всего вообще нет ПЗУ. Ну это скорей к Эл.60.

P.S Cейчас воюю с Эл.85 при загрузке НХ в ячейках памяти уже есть какой то код, а когда запускаю повторно сохраняется предыдущий код НХ. По идеи память запоминает но 4 светодиода так и горят.

form
14.07.2014, 22:00
так же, как и TU58 - передаёт содержимое нулевого блока нулевого привода

Это не также ;)
Также - это без привязки к нулевому приводу :)

---------- Post added at 01:00 ---------- Previous post was at 00:57 ----------


Тут ещё надо бы уточнить, если перфолента имеет абсолютный загрузчик то на плате скорей всего вообще нет ПЗУ

Абсолютный загрузчик - это как раз для ПЗУ. Там специальный хитрый загрузчик нужен который грузит только этот самый абсолютный загрузчик (или ленту приготовленную тем же способом) и ничего больше. Все остальное грузится уже им. В идеале если самому делать, то лучше сразу в ПЗУ делать загрузку LDA (но код для этого сложнее). При том LDA лента не обязательно запускаема, она может быть просто кодом для загрузки в память без точки запуска.

Patron
14.07.2014, 23:44
Cейчас воюю с Эл.85 при загрузке НХВроде, вторичный загрузчик RT-11 v5.0 и выше - распознаёт Эл.85 и пытается загрузить драйвер PI.SYS - я этого пока не учитывал, поэтому вряд ли сейчас удастся успешно загрузить RT-11SP на Эл.85.

form
14.07.2014, 23:50
Вроде, вторичный загрузчик RT-11 v5.0 и выше - распознаёт Эл.85 и пытается загрузить драйвер PI.SYS - я этого пока не учитывал, поэтому вряд ли сейчас удастся успешно загрузить RT-11SP на Эл.85.

Для 5.7 можно попробовать поправить в BSTRAP.MAC строчку PRO$S=1, заменив 1 на 0.

MiX
14.07.2014, 23:52
Вроде, вторичный загрузчик RT-11 v5.0 и выше - распознаёт Эл.85 и пытается загрузить драйвер PI.SYS - я этого пока не учитывал, поэтому вряд ли сейчас удастся успешно загрузить RT-11SP на Эл.85. Честно говоря, загружал образ для Двк. Но дело не в этом после 10000G ничего не происходит. Возможно что в Эл.85 режим терминала только для пульта, и дальше пультовой памяти он не скачет. Если интересно могу сдампить.

form
14.07.2014, 23:56
Честно говоря, загружал образ для Двк но дело не в этом после 10000G ничего не происходит. Возможно что в Эл.85 режим терминала только для пульта, и дальше пультовой памяти он не скачет. Если интересно могу сдампить.

Там нет полнценной эмуляции DL(V)11 консоли. Эмулируются только регистры 17777560-17777566 без поддержки прерываний. Соответственно непеределанный RT-11 работать не будет с использованием принтернго порта в качестве консоли.

---------- Post added at 02:56 ---------- Previous post was at 02:55 ----------

Ну и как выше говорилось, RT-11 V5, обнаружив PRO машину попытается найти драйвер PI(X).SYS...

MiX
15.07.2014, 00:14
Patron,
form,
Я могу по сети подключить Эл.85 и вы сами можете потестить.

form
15.07.2014, 00:16
Patron,
form,
Я могу по сети подключить Эл.85 и вы сами можете потестить.

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

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

Вот IOSCANовский загрузочный HX диск вполне можно сделать :)

Patron
15.07.2014, 00:19
Честно говоря, загружал образ для Двк. Но дело не в этом после 10000G ничего не происходит.А загрузчик вводился вручную?

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


Вот IOSCANовский загрузочный HX диск вполне можно сделатьА можно IOSCAN конвертировать в ODT-скрипт - тогда даже HX-сервер не нужен.

MiX
15.07.2014, 00:19
А загрузчик вводился вручную?Как это в ручную, а для чего НХ придуман. :)

form
15.07.2014, 00:19
А можно IOSCAN конвертировать в ODT-скрипт - тогда даже HX-сервер не нужен.

Есть уже - прилагается к сообщению в теме софта (http://zx-pk.ru/showpost.php?p=721628&postcount=344).

MiX
15.07.2014, 00:23
А можно IOSCAN конвертировать в ODT-скрипт - тогда даже HX-сервер не нужен. Можно, только я не программист. А вот с паяльником я дружу с детства. :)

form
15.07.2014, 00:25
Можно, только я не программист. А вот с паяльником я дружу с детства. :)

А не надо програмить - просто возьми из сообщения по ссылке, в архиве ioscan-bin и пропиши в конфиге VT52 эмулятора. Тамже написано как диск загрузочный сделать :)

Patron
15.07.2014, 00:31
Как это в ручную, а для чего НХ придуман.Если убрать из скрипта 10000G, то после передачи скрипта можно убедиться, что содержимое ячеек памяти соответствует содержимому скрипта.

Потом можно набрать 10000G и тогда на системной консоли эмулятора ( первая закладка ) должно появиться сообщение от UKNCcomSender, что он передаёт файл: Boot_RT-11_from_HX0_(177560).bin

Этот загрузчик уже использует команды протокола HX и номера блоков, которые он запрашивает у сервера, можно увидеть на закладке "HX Log".

MiX
15.07.2014, 01:21
Если убрать из скрипта 10000G, то после передачи скрипта можно убедиться, что содержимое ячеек памяти соответствует содержимому скрипта. Я не убирал 10000G просто на нём комп останавливался. Далее нажимал BREAK потом загружал по новой. 160066
@10000/077777 12706
010002/070360 10000
010004/010000 12746
010006/017417 340
010010/077777 12746
010012/070360 10016
010014/010000 2
010016/017417 4567
010020/077777 14
010022/070360 105737
010024/010000 177560
010026/017417 100375
010030/077777 113703
010032/070360 177562
010034/010400 207
010036/017417 105737
010040/077777 177562
010042/070360 105737
010044/010000 177564
010046/017417 100375
010050/077777 112737
010052/070360 26
010054/010000 177566
010056/017417 12700
010060/077777 1000
010062/070360 5004
010064/010000 4715
010066/017417 110324
010070/077777 5300
010072/070360 1374
010074/010000 5007
@10000G
010014
@10000/012706 12706
010002/010000 10000
010004/012746 12746
010006/010340 340
010010/012746 12746
010012/010016 10016
010014/010002 2
010016/014567 4567
010020/010014 14
010022/015737 105737
010024/077560 177560
010026/010375 100375
010030/013703 113703
010032/077562 177562
010034/010207 207
010036/015737 105737
010040/077562 177562
010042/015737 105737
010044/077564 177564
010046/010375 100375
010050/012737 112737
010052/010026 26
010054/077566 177566
010056/012700 12700
010060/011000 1000
010062/015004 5004
010064/014715 4715
010066/010324 110324
010070/015300 5300
010072/011374 1374
010074/015007 5007


Потом можно набрать 10000G и тогда на системной консоли эмулятора ( первая закладка ) должно появиться сообщение от UKNCcomSender, что он передаёт файл: Boot_RT-11_from_HX0_(177560).bin Там пишет: ожидание приглашения :026


Этот загрузчик уже использует команды протокола HX и номера блоков, которые он запрашивает у сервера, можно увидеть на закладке "HX Log". Пишет: НХ: готов к работе.

---------- Post added at 01:21 ---------- Previous post was at 01:03 ----------


А не надо програмить - просто возьми из сообщения по ссылке, в архиве ioscan-bin и пропиши в конфиге VT52 эмулятора. Тамже написано как диск загрузочный сделать :)form, там 7 файлов в архиве, какой куда прописывать? Лучше скинь конфиг.

form
15.07.2014, 01:25
там 7 файлов в архиве, какой куда прописывать? Лучше скинь конфиг.

Файл ioscan.odt - скрипт для отправки.

Для использования odt скрипта в конфиге (у меня HX_COM.cfg) должно быть:
[ODT_Loader.ini]
;ScriptFile= "UKNC-style Loader.odt"
ScriptFile= "ioscan.odt"
;;ScriptFile= "HX Boot.odt"

Patron
15.07.2014, 01:26
Там пишет: ожидание приглашения :026Такое впечатление, что программа не может передать байт в порт ( например - в порту нет бита готовности ) - тогда и IOSCAN не будет работать.

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



1$:
MOV R0, @#177566
BR 1$

1000/010037
1002/177566
1004/000775
R0/101
1000G





1$:
MOV R0, @#177566
TSTB @#177564
BPL .-4.
BR 1$

1000/010037
1002/177566
1004/105737
1006/177564
1010/100375
1012/000772
R0/101
1000G

form
15.07.2014, 01:28
Такое впечатление, что программа не может передать байт в порт ( например - в порту нет бита готовности )

Бит готовности в прошнике работает при условии, что 8-9 ноги разъема закорочены. Но если бы они не были закорочены - не было бы и uODT (который этот самый бит использует).

Patron
15.07.2014, 01:32
Кстати - в последней версии терминала уже можно вставлять скрипты из буфера обмена. Просто скопировать строки с текстом скрипта и вставить в терминале, нажав <Shift><Insert>.

MiX
15.07.2014, 01:38
form, Останавливается на 1000G дальше нажимаю BREAK пишет 010000 @

form
15.07.2014, 01:43
Бит готовности в прошнике работает при условии, что 8-9 ноги разъема закорочены. Но если бы они не были закорочены - не было бы и uODT (который этот самый бит использует).

Разве что, рискну еще предположить, что uODT в прошнике бит готовности не использует, а программа не может вывести ничего по причине отсутствия готовности из-за использвания вот такого (http://zx-pk.ru/showpost.php?p=725156&postcount=427) кабеля. Думаю не требуется пояснять в чем ошибка в кабеле :)

---------- Post added at 04:43 ---------- Previous post was at 04:38 ----------


form, Останавливается на 1000G дальше нажимаю BREAK пишет 010000 @

это вообще хрень получается - за пределами программы

MiX
15.07.2014, 01:53
Patron, В обоих тестах после 1000G ничего не происходит.

form

Думаю не требуется пояснять в чем ошибка в кабеле Думаю требуется.

form
15.07.2014, 01:54
Patron, В обоих тестах после 1000G ничего не происходит.

Если используется кабель по ссылке выше, разорви DSR-DTR связку...

Patron
15.07.2014, 01:58
Пока такая программа не сможет начать выводить в порт - рано на Эл.85 скрипты запускать :



1$:
MOV R0, @#177566
BR 1$

1000/010037
1002/177566
1004/000775
R0/101
1000G


Только надо, чтoбы в R0 был отображаемый символ, иначе даже если он передастся - в терминале видно не будет.

form
15.07.2014, 02:02
Пока такая программа

Без всяких программ записать 101 в 17777566...

MiX
15.07.2014, 02:10
Если используется кабель по ссылке выше, разорви DSR-DTR связку... Имеется ввиду 5-6 контакт разъёма Печать?
Разорвал, теперь BREAK не проходит соответственно на экране ничего нет.
Так что перемычку оставляю.

form
15.07.2014, 02:16
Имеется ввиду 5-6 контакт разъёма Печать?
Разорвал, теперь BREAK не проходит соответственно на экране ничего нет.
Так что перемычку оставляю.

Проверь запись в 17777566. А перемычки 5-6 не длжно быть по идее (соображение простое: кто со стороны прошника сигнал выставит?). У меня ее не было на прошнике и BREAK проходил без проблем...

---------- Post added at 05:16 ---------- Previous post was at 05:11 ----------

Сейчас точно не вспомню, но вроде терминал подцеплял кабелем в котором прост шли TX/RX/SG, а со стороны прошника замыкались 8-9.

MiX
15.07.2014, 02:17
Пока откладываю до утра.

Patron
15.07.2014, 02:19
вроде терминал подцеплял кабелем в котором прост шли TX/RX/SG, а со стороны прошника замыкались 8-9.Про соединение 7 и 8 - вроде в документации не пишут.

Если между 7 и 8 не 0 Ом - соединять их не надо, а если между 7 и 8 короткое замыкание - соединять их тоже смысла нет.

form
15.07.2014, 02:34
Про соединение 7 и 8 - вроде в документации не пишут.

Да, только 8-9.
Мешать по идее не должно, но по правилам мешать земли разного функционала не положено...

---------- Post added at 05:34 ---------- Previous post was at 05:21 ----------

Собственно вот что написано по поводу BC008 кабеля:
To connect a "normal" terminal as OPA0: on a VAXstation 2000, you need a 9-pin
female end for the VS2000 and RS-232 on the other. The pin configuration
is as follows:

9-pin: 3 2 7 6 8&9 jumpered
| | | |
V V V V
RS-232: 2 3 7 20

The magic info is the 6->20 and jumpering pins 8 & 9 on the 9-pin end.

Hope this helps.
Hunter
Thanks to Tom Sawyer, Clyde Digital, for calling enough people at DEC to get
a straight answer and not have to buy DEC's multi-dollar cable a while back....
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Hunter Goatley, VAX Systems Programmer Bitnet: GOATHUNTER@WKUVX1
ACRS, Western Kentucky University Voice: 502-745-5251
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

MiX
15.07.2014, 03:14
Вот что происходит на перемычке при включении питания. То что сначала -1в не обращайте внимания, 0 не выставлен.
http://s020.radikal.ru/i722/1407/61/a744b52b01c2.jpg (http://www.radikal.ru)

form
15.07.2014, 03:18
Предположение - начинается инициализация из ПЗУ, сигнал выставляется, перемычка работает. Делается G, выполняется RESET, перемычка начинает мешать в виду сброшенного сигнала.

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

В любм случае уже столько времени прошло, а простейший тест так и не сделан - прямая запись в регистр "экрана" с пульта :)

MiX
15.07.2014, 03:41
form, С перемычкой даёт "А" после нажатия Enter но "А" выдает сразу после 101.
В нижней строке @

form
15.07.2014, 03:43
form, С перемычкой даёт "А" после нажатия Enter но "А" выдает сразу после 101.
В нижней строке @

Выдает правильно. Далее,
1000/12737
1002/101
1004/177566
1006/0
1000G

MiX
15.07.2014, 03:48
Ничего нет.

form
15.07.2014, 03:49
Ничего совсем? - даже останова и "@" нет?

MiX
15.07.2014, 04:02
Только 1000G и мигающий курсор.

Попробовал ещё раз ioscan после нажал ВRK и получил 070066

Patron
15.07.2014, 11:10
Причина может быть в маппинге адресов памяти. Не исключено, что программа пишет не в область регистров. Проверить это можно так:



MOV #101, R0
MOV #177560, R1
MOV #560, R2
MOV #4, R4
1$:
MOV R0, (R1)
MOV (R1)+,(R2)+
SOB R4, 1$

HALT

1000/012700
1002/000101
1004/012701
1006/177560
1010/012702
1012/000560
1014/012704
1016/000004
1020/010011
1022/012122
1024/077403
1026/000000
1000G


После запуска скрипта надо сравнить содержимое ячеек 560..566 и 17777560..17777566

form
15.07.2014, 11:13
Причина может быть в маппинге адресов памяти.

Не может.
Останов проца отключает MMU.

---------- Post added at 14:13 ---------- Previous post was at 14:11 ----------

К соажалению овтета на последний вопрос не получил. Если он утвердительный - то причину я назвал выше - неправильность кабеля.

Patron
15.07.2014, 11:25
ответа на последний вопрос не получил.Ответ, вроде - Только 1000G и мигающий курсор.

Если программа глючит - в последнем моём примере после нажатия BREAK можно проверить значения регистров.


причину я назвал выше - неправильность кабеля.С неисправным кабелем и в пульте не выводило бы.

form
15.07.2014, 11:29
Ответ, вроде - Только 1000G и мигающий курсор.

Эт для твоей программы, а она так и должна себя вести в случае отсутствия вывода так как циклится. Интерес был про мой пример - если там также - тут уже 100% кабель без вариантов. Что кабель неправильный - это так в любом случае, но это уже другой вопрос...


С неисправным кабелем и в пульте не выводило бы.

Неверно.
И я пояснил почему: стартует системная прошивка (а согласно документации и BREAK не сработает раньше чем она стартует), инитит сигналы порта, в результате порт сам себе выставляет готовность. В момент нажатия G выполняется RESET, сигнал сбрасывается, готовности нет...

Patron
15.07.2014, 11:29
Для начала можно попробовать выполнить совсем простую программу:



1000/000000
1000G


Если даже такая программа зависнет до нажатия BREAK - переход из режима пульта в режим программы и обратно - явно глючит.

form
15.07.2014, 11:32
Ну и в сущности я привел в явном виде тчную распиновку кабеля BC008 - там сигна берется с другой стороны, а не у себя жеююю

Patron
15.07.2014, 11:32
стартует системная прошивка (а согласно документации и BREAK не сработает раньше чем она стартует), инитит сигналы порта, в результате порт сам себе выставляет готовность. В момент нажатия G выполняется RESET, сигнал сбрасывается, готовности нет...Всё прекрасно передаётся после каждого нажатия BREAK. Означает ли это, что каждое нажатие BREAK инитит сигналы порта ?

form
15.07.2014, 11:34
Всё прекрасно передаётся после каждого нажатия BREAK. Означает ли это, что каждое нажатие BREAK инитит сигналы порта ?

Черт его знает - я вообще выдвинул предположение, что uODT на прошнике в принципе не использует эмулируемые регистры терминала.

---------- Post added at 14:34 ---------- Previous post was at 14:33 ----------

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

Patron
15.07.2014, 11:36
Происходящее с сигналом готовности при нажатии G и BREAK - можно легко увидеть на осциллографе.

form
15.07.2014, 11:36
Происходящее с сигналом готовности при нажатии G и BREAK - можно легко увидеть на осциллографе.

Можно. Но начать всеже стоит с кабеля, ддля которого, повторюсь, имеем ТОЧНУЮ заводскую распиновку :)

Patron
15.07.2014, 11:40
все вопросы риторические до того момента как будет сделан правильный кабель распиновка которого известнаА работа такой программы может зависеть от вариантов распиновки кабеля, при которых в пульте всё прекрасно передаётся:



1000/000000
1000G


Если G сбрасывает готовность порта, а BREAK восстанавливает - такая программа по идее тоже должна виснуть.

form
15.07.2014, 11:41
Если G сбрасывает готовность порта, а BREAK восстанавливает - такая программа по идее тоже должна виснуть.

Да.

Patron
15.07.2014, 11:48
я вообще выдвинул предположение, что uODT на прошнике в принципе не использует эмулируемые регистры терминалаВ таком случае программа из одного HALT не могла бы зависнуть, но весьма похоже, что порт инитится после каждого BREAK.

MiX
15.07.2014, 11:48
form, Я же говорил что без перемычки не работает. Осциллограмму показал. Что не так?
Давайте разбираться.
При включении ПВК выставляет готовность передачи.Соответственно ждет готовность приёма терминала. Если терминал не ответил то соответственно и ПВК ничего не выдаст. Перемычку поставил для имитации готовности, для универсальности подключения. То-есть для тех терминалов которые сигнал готовности выдать не могут. Эм. VT52 готовность может дать, но это тупо нажатая кнопка DTR за всё время сеанса. Разводил я сигналы DTR и DSR. На 1000G так-же останавливается (ioscan) что сжатием, что без.


Patron,
Чуть позже тест попробую.

form
15.07.2014, 11:49
form, Я же говорил что без перемычки не работает. Осциллограмму показал. Что не так?

Я же писал почему может "работать" с перемычкой и переставать и привел точную распиновку правильного кабеля...

Patron
15.07.2014, 11:53
Я же говорил что без перемычки не работает. Осциллограмму показал. Что не так?Похоже, что порт сбрасывает сигнал на выходе готовности после G и устанавливает после BREAK, поэтому между нажатием BREAK и G - вывод в порт возможен, а между нажатием G и BREAK - нет.

Проверить это можно при помощи осциллографа, а исправить (в том случае, если предположение подтвердится) - подав на вход готовности постоянный уровень, а не сигнал с выхода готовности.

MiX
15.07.2014, 12:03
Я думаю нужен настоящий терминал, или эмулятор который с этими сигналами работает.

form
15.07.2014, 12:03
Я думаю нужен настоящий терминал, или эмулятор который с этими сигналами работает.

Достаточно просто выставить DTR со стороны эмулятора терминала.
Я подключал как к терминалу так и к PC и успешно запускал программы работающие с "регистрами терминала"...

MiX
15.07.2014, 12:06
Подключал я и DTR и DSR - тоже самое.

form
15.07.2014, 12:07
Подключал я и DTR и DSR - тоже самое.

А сигнал DTR (DSR со стороны PRO) выставлял принудительно?

Patron
15.07.2014, 12:17
Для начала лучше посмотреть в осциллографе, как ведёт себя сигнал с выхода готовности после нажатия G и после нажатия BREAK.

А код при этом выполнить такой:



1000/000000
1000G

MiX
15.07.2014, 12:38
В Эм. VT52 есть кнопка DTR, в конфиге запись fDtrControl = DTR_CONTROL_DISABLE активна. Естественно что это тоже самое что и подал высокий уровень.

---------- Post added at 12:38 ---------- Previous post was at 12:17 ----------


Для начала лучше посмотреть в осциллографе, как ведёт себя сигнал с выхода готовности после нажатия G и после нажатия BREAK.

Ни как, высокий уровень как был так и есть.


А код при этом выполнить такой:



1000/000000
1000G


@1000/010340
@1000G

и молчёк.

form
15.07.2014, 12:40
@1000/010340
@1000G

и молчёк.

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

Patron
15.07.2014, 12:45
@1000/010340
@1000G
Идея была в том, чтобы выполнить программу из одной команды HALT ( код: 000000 ) - тогда процессор ( по идее ) точно должен выйти в пульт.

MiX
15.07.2014, 12:52
Это не тот тест который предлагался.
form, 010340 это сам ПВК выдаёт.


Ну и кроме перемычки, отсоедини закоротку между разнофункциональными землями на всякий случай - в оригинальном кабеле этого нет, а стандарт прям говорит что так не надо делать.
Да еслиб это были разнофункциональныме земли. Лично я отпаивал разъём и эти земли на одном контакте. А в схеме указал, для тех случаев когда на разных редакциях плат возможно какой нибудь может висеть в воздухе и контакта не будет. Так сказать страховка.

form
15.07.2014, 12:55
form, 010340 это сам ПВК выдаёт.

Так не показано что ты в ответ записал.



Да еслиб это были разнофункциональныме земли

Ну они значатся как разнофункциональные, а внутренне могут быть и соединены. В любом случае начать стит с простого - есть точная распиновка *заводского* кабеля - по-моему в любом случае (независимо от чего либо еще) сделать именно заводской :)

MiX
15.07.2014, 13:16
Идея была в том, чтобы выполнить программу из одной команды HALT ( код: 000000 ) - тогда процессор ( по идее ) точно должен выйти в пульт. Сделал так
160066
@1000/010340 000000
@1000/010000
@1000G
и молчит.

---------- Post added at 13:14 ---------- Previous post was at 13:10 ----------


В любом случае начать стит с простого - есть точная распиновка *заводского* кабеля - по-моему в любом случае (независимо от чего либо еще) сделать именно заводской :) DTR у меня подсоединён.

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

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

form
15.07.2014, 13:21
DTR у меня подсоединён.

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

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


Кто знает в эмуляторе Эл.85 можно выйти в пульт

Нет, там нету эмуляции uODT.

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

Точнее поставим вопрос иначе - точная распайка используемго варианта кабеля. Ибо фразы "DTR подсоединен" ни о чем не говорят :)

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

И попутно еще тест:

@R7/1000
@1000/105737
1002/177564
1004/100375
1006/112737
1010/101
1012/177566
1014/0
@P

MiX
15.07.2014, 13:21
form, Тот кабель не для Электроники, и если повнимательней посмотреть то там сделано именно на RS232 9pin-RS232 25pin. Кроме 7 контакта.

form
15.07.2014, 13:24
form, Тот кабель не для Электроники, и если повнимательней посмотреть то там сделано именно на RS232 9pin-RS232 25pin.

Тот кабель - официальный кабель для DEC Professional то есть и для электроники. А то, что со стороны VAX стоит 25pin порт - так какая разница? Главное сигналы - мы их знаем.

---------- Post added at 16:24 ---------- Previous post was at 16:23 ----------

И 9pin там именно PROшные.

MiX
15.07.2014, 13:30
На PRO идет распиновка разъёма по стандарту DB9 а на Электронике по "стандарту" рп15-9гвв.

form
15.07.2014, 13:31
На PRO идет распиновка разъёма по стандарту DB9 а на Электронике по "стандарту" рп15-9гвв.

Судя по твоей схеме - распиновка 1:1 с PRO.

Patron
15.07.2014, 13:33
@1000/010340 000000
@1000/010000
Это круто - типа, невозможно обнулить ячейку памяти ?

MiX
15.07.2014, 13:42
Судя по твоей схеме - распиновка 1:1 с PRO.
Слава тебе господи :v2_dizzy_priest: :)


Это круто - типа, невозможно обнулить ячейку памяти ? Хочу сказать что: светодиоды у меня по прежнему красные.(все 4)

form
15.07.2014, 13:43
Хочу сказать что: светодиоды у меня по прежнему красные.(все 4)

Это нормально потому как ты выпадаешь в пульт до того как все тесты пройдут. Можешь руками их погасить через регистры :D

Patron
15.07.2014, 13:54
Какие ячейки памяти получается обнулить с пульта, а какие нет ?

MiX
15.07.2014, 14:03
Patron, Я наверно попробую вытащить плату основного ОЗУ и посмотреть как будет на процессорном ОЗУ работать. Как вы считаете?

Patron
15.07.2014, 14:25
Я наверно попробую вытащить плату основного ОЗУ и посмотреть как будет на процессорном ОЗУ работать.А удалось найти хотя бы одну ячейку памяти, которую можно обнулить с пульта ?

form
15.07.2014, 14:46
А удалось найти хотя бы одну ячейку памяти, которую можно обнулить с пульта ?

Пока не ясно из переписки - действительно ли невозможно или опечатка... До этого вроде демонстроровалось что в озу все писалось...

MiX
15.07.2014, 15:04
А удалось найти хотя бы одну ячейку памяти, которую можно обнулить с пульта ?Обстановка изменилась.
Немного истории.
После того как у меня горели 3 светодиода по кодам ошибок это означало что неисправно ОЗУ. Далее я выпаял РУ5 с правой стороны и впаял панельки в которые установил гибридно (больше не было) КМ41256АР-12 фирмы Samsung и D41256C-12 фирмы NEC. Так вот при перепайке перемычек ошибся на одну линию (не без грешен) и распайку брал с фото отсюда http://fotki.yandex.ru/next/users/lodedome/album/83881/view/148513?page=0 Но там левая сторона не запаяна а у меня там РУ5 стоят.

Если есть у кого описание перемычек то скинте сюда плиз.

Ну и теперь после того как я поставил перемычку правильно, получилось так.
160066
@1000/000340 000000
@1000/000000
@1000G
001002
@

form
15.07.2014, 15:06
@1000/000340 000000
@1000/000000
@1000G
001002
@

Ну собственно теперь тест можно - выше писал простенький...

Patron
15.07.2014, 15:11
Теперь самое время запустить следующие два теста:



1$:
MOV R0, @#177566
BR 1$

1000/010037
1002/177566
1004/000775
R0/101
1000G





1$:
MOV R0, @#177566
TSTB @#177564
BPL .-4.
BR 1$

1000/010037
1002/177566
1004/105737
1006/177564
1010/100375
1012/000772
R0/101
1000G

MiX
15.07.2014, 15:27
Теперь самое время запустить следующие два теста:
1 тест выдал 001010
2 тест выдал "А" сразу после G

Patron
15.07.2014, 15:32
2 тест выдал "А" сразу после GТолько одну "A" выдал и всё ?

MiX
15.07.2014, 15:33
Да.

Patron
15.07.2014, 15:34
И потом висел или вышел в пульт ?

MiX
15.07.2014, 15:36
Сейчас заново проверю... :)

Patron
15.07.2014, 15:39
Чтобы не ошибаться с вводом скрипта - удобно вставлять код в терминал из буфера обмена по <Shift><Insert>

Если запустить эмулятор ДВК, выйти в пульт и вставить следующий текст:



1000/010037
1002/177566
1004/000775
R0/101
1000GДолжно начать выводить без остановки буквы "A".

А что Эл.85 при этом делает ?

form
15.07.2014, 15:40
Должно начать выводить без остановки буквы "A".

И не должно останавливаться на 1010 :)

Patron
15.07.2014, 15:42
И не должно останавливаться на 1010Вручную вбить скрипт без ошибок мне удаётся реже чем через раз.

form
15.07.2014, 15:43
Вручную вбить скрипт без ошибок мне удаётся реже чем через раз.

Не знаю - ни разу еще не ошибался при вбивании программки из 3-4 строчек - если только клавиатура пивом залита и не всегда срабатывает :D

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

Впрочем я наверное и с настоящего пульта с закрытыми глазами до сих пор смогу программы вводить :D

MiX
15.07.2014, 15:46
В это раз по другому.
161470
@1000/161444 010037
@1000/010036
@1002/177777 177566
@1002/177567
@1004/177400 105737
@1004/105737
@1006/000000 177564
@1006/177565
@1010/000377 100375
@1010/100375
@1012/177777 000772
@1012/000773
@R0/161006 101
@R0/000101
@1000G
и молчит.

Вот такие пироги.

form
15.07.2014, 15:47
@R0/000101
и молчит.

Вот такие пироги.

Ну так логично. Где команда G? :)

MiX
15.07.2014, 15:52
form, Уже исправил, лог не дописал почему то.

Patron
15.07.2014, 15:55
Вот такие пироги.Типа, младший бит в памяти глючит..

form
15.07.2014, 15:56
Типа, младший бит в памяти глючит..

Похоже на то...

Patron
15.07.2014, 15:57
А если вводить "до победного" - можно добиться желаемого содержимого ячеек ?

MiX
15.07.2014, 16:29
Тут как бы при старте проходит некорректная инициализация потому что результаты разные появляются. И наконец дайте кто нибудь описание перемычек, хочу поотсекать верхние банки чтоб можно было начать с 64к.

form
15.07.2014, 16:36
Тут как бы при старте проходит некорректная инициализация потому что результаты разные появляются. И наконец дайте кто нибудь описание перемычек, хочу поотсекать верхние банки чтоб можно было начать с 64к.

Если они с прошными совпадают, тех описание у меня на сайте и на bitsavers...

MiX
15.07.2014, 17:56
А если вводить "до победного" - можно добиться желаемого содержимого ячеек ?
Делал таким макаром.

Включаю ПВК, терминал выдаёт произвольный адрес выше 160066
Далее запускаю BOOT H0 после чего идет запись в ячейки с уже содержащим кодом 125252. Далее доходит до 1000G (ioscan) и останавливается. Потом нажимаю BRK и он выдаёт 160066 и запускаю повторно BOOT H0. Код совпадает с предыдущей записью.

Получается что рабочее состояние ПВК с адреса 160066 и тесты с "А" проходят.

Соответственно вопрос, какая команда инициализации?

form
15.07.2014, 18:11
Попробуй при загруженном IOSCAN сделать
@RS/340
@2000/5
2002/137
2004/1000
@2000G

MiX
15.07.2014, 20:17
form, молчит

form
15.07.2014, 20:18
form, молчит

Останов по BREAK где получается?

MiX
15.07.2014, 20:22
160066

form
15.07.2014, 20:25
160066

То есть где-то в прошивке. Куда он в нормальных условиях попасть не должен.

---------- Post added at 23:25 ---------- Previous post was at 23:23 ----------

сейчас прогу зачистки перед загрузкой скину, надо так попробовать

MiX
15.07.2014, 20:35
form, Поставил опять РУ5, отключил терминал 1й светодиод (рядом с зелёным) погас но на экране ничего нет. Экран должен показать код ошибки?

form
15.07.2014, 20:36
form, Поставил опять РУ5, отключил терминал 1й светодиод (рядом с зелёным) погас но на экране ничего нет. Экран должен показать код ошибки?

Не знаю, у меня никогда не было монитора на прошнике.

form
15.07.2014, 20:38
Загрузить сначала вот это, потом уже пробовать ioscan...

form
15.07.2014, 20:38
всмысле в той же сессии - прошник не перегружать

MiX
15.07.2014, 20:50
form, Можешь меня поздравить, он дал приглашение @ :)

form
15.07.2014, 20:52
form, Можешь меня поздравить, он дал приглашение @ :)

еще бы в сообщениях хоть немного информации содержалось ;)
кто именно?
если vectors.odt то это даже не программа - просто запись в память для последующего тестирования программ, если же остановился ioscan то информация снова нулевая - где именно остановился?

MiX
15.07.2014, 20:55
form, Vector, А для иоскан надо 2 рядом прописать в конфиге?

form
15.07.2014, 20:57
form, Vector, А для иоскан надо 2 рядом прописать в конфиге?

vector ничего не делает - он только пишет в память без каких-либо программ. после того как он отработает - выйти из vt52, прописать ioscan.odt и снова запустить, нажать Enter чтобы появился @ и пробовать послать ioscan...
я так понял, что можно проще, но не пробовал :)

MiX
15.07.2014, 21:03
Сделал :)

@1000/012705 12705
001002/177564 177564
001004/012706 12706
001006/001000 1000
001010/012737 12737
001012/001026 1026
001014/000020 20
001016/012737 12737
001020/000340 340
001022/000022 22
001024/000004 4
001026/012737 12737
001030/001064 1064
001032/000004 4
001034/004767 4767
001036/000060 60
001040/005003 5003
001042/005004 5004
001044/012700 12700
001046/001356 1356
001050/004767 4767
001052/000020 20
001054/004767 4767
001056/000076 76
001060/000000 0
001062/000776 776
001064/052766 52766
001066/000001 1
001070/000002 2
001072/000002 2
001074/004767 4767
001076/000004 4
001100/012700 12700
001102/001356 1356
001104/105715 105715
001106/100376 100376
001110/112065 112065
001112/000002 2
001114/001373 1373
001116/000207 207
001120/012701 12701
001122/160000 160000
001124/012702 12702
001126/001416 1416
001130/005711 5711
001132/006112 6112
001134/062701 62701
001136/000002 2
001140/001001 1001
001142/000207 207
001144/032701 32701
001146/000037 37
001150/001367 1367
001152/005722 5722
001154/000765 765
001156/012701 12701
001160/160000 160000
001162/012702 12702
001164/001416 1416
001166/006112 6112
001170/103414 103414
001172/010104 10104
001174/005703 5703
001176/001001 1001
001200/010403 10403
001202/062701 62701
001204/000002 2
001206/001407 1407
001210/032701 32701
001212/000037 37
001214/001364 1364
001216/005722 5722
001220/000762 762
001222/012746 12746
001224/001202 1202
001226/010146 10146
001230/010246 10246
001232/010301 10301
001234/001003 1003
001236/012602 12602
001240/012601 12601
001242/000207 207
001244/012700 12700
001246/001362 1362
001250/004767 4767
001252/000036 36
001254/020304 20304
001256/001405 1405
001260/112720 112720
001262/000055 55
001264/010401 10401
001266/004767 4767
001270/000020 20
001272/105010 105010
001274/005003 5003
001276/005004 5004
001300/012700 12700
001302/001362 1362
001304/004767 4767
001306/177564 177564
001310/000752 752
001312/012702 12702
001314/000006 6
001316/005046 5046
001320/000405 405
001322/005016 5016
001324/006101 6101
001326/006116 6116
001330/006101 6101
001332/006116 6116
001334/006101 6101
001336/006116 6116
001340/062716 62716
001342/000060 60
001344/111620 111620
001346/005302 5302
001350/001364 1364
001352/005726 5726
001354/000207 207
001356/005015 5015
001360/000000 0
@1000G

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

001062
@



:v2_dizzy_roll:

form
15.07.2014, 21:04
Победа! :D
vectors не нужен значит - это на всякий случай было - чтобы поймать проблемы если есть

MiX
15.07.2014, 21:07
form, Так я не понял, если проблем нет, (хотя по мне они есть) то почему он дальше не стартует?

form
15.07.2014, 21:09
form, Так я не понял, если проблем нет, (хотя по мне они есть) то почему он дальше не стартует?

Кто именно не стартует и в чем это проявляется?

MiX
15.07.2014, 21:12
При отключённом терминале на экране монитора ничего нет и 3 красных светодиода.

form
15.07.2014, 21:14
При отключённом терминале на экране монитора ничего нет и 3 красных светодиода.

Ну так это уже надо разбирать конкретно проблему. Описание ошибок в индикаторе есть - от этого и исходить. IOSCAN ничего не даст кроме распечатки регистров. То, что он запускается говорит о том, что видимо проц и память хъотя бы начало работают и решистры нужные на шине вроде все есть...

Patron
15.07.2014, 21:36
Тестирование Эл.85 лучше обсуждать не в теме протокола HX.

MiX
16.07.2014, 00:06
Тестирование Эл.85 лучше обсуждать не в теме протокола HX.Согласен.

По теме.
Дошёл до надписи НХ 2.0 -Warm boot V1.3 177560 после этого продолжается некоторый обмен данными (видно по CPS) и всё. Может надо на адрес 17777560 данные отсылать. Могу дамп снять. Да и скинте пожалуйста файл PI.SYS.

И ещё некоторые исследования. При очередной загрузке выдал в конце 001006 @.
2 опыт. При сжатии писал НХ -W-Bad Pakcet. Надо будет вместо перемычки развести сигналы DTR,DSR. Или сжатие относится к RTS?

Patron
16.07.2014, 00:52
Дошёл до надписи НХ 2.0 -Warm boot V1.3 177560 после этого продолжается некоторый обмен данными (видно по CPS) и всё.С обычной (не переделанной) операционкой что-то может получиться, только если работать через монитор и клавиатуру Эл.85, а HX использовать исключительно как диск.

Вот системный диск, который можно попробовать на такой случай: Pro350_HX.DSK (http://emulator.pdp-11.org.ru/misc/Pro350_HX.DSK.zip)

MiX
16.07.2014, 00:59
Patron, Уже дошёл до НХ DSK/TTY multiplexer v3.1 2014

Patron
16.07.2014, 01:18
Уже дошёл до НХ DSK/TTY multiplexer v3.1 2014Всё остальное должно быть на мониторе Эл.85

Чтобы работать после загрузки через терминал PC - нужна специальная операционка, которую я ещё не сделал.

MiX
16.07.2014, 01:33
Понял.
Учитывая глючность машины мне надо будет с памятью разобраться так как ошибка 3 красных светодиода не даёт скорей всего и вывод на монитор.

Спасибо за помощь!

Patron
16.07.2014, 14:40
Вскрытие показало, что RT-11SJ никак не взаимодействует с Pro350, поэтому беспокойство насчёт вторичного загрузчика RT-11SP было напрасным.

RT-11SP имеет все шансы загрузиться на Pro350 и работать с терминалом и приводом HX через отладочный порт: Pro350_HX_SP.DSK (http://emulator.pdp-11.org.ru/misc/Pro350_HX_SP.DSK.zip)

MiX
17.07.2014, 17:34
ДА, ЗАГРУЗИЛСЯ!!!:v2_dizzy_roll::v2_dizzy_ch ampagne::v2_dizzy_punk:


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

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

RT-11SP (Y) V05.04 G (01)

.SE USR NOSWAP

.SE EXIT NOSWAP

.SE TT SCOPE

.LO SL

.SE SL ON

.DAY
Время Дата
17:23:56 17-Июл-2014, Четверг

.SH ALL

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 Processor
256KB of memory
FP11 Hardware Floating Point Unit
Extended Instruction Set (EIS)
Memory Management Unit
50 Cycle System Clock
NO Terminal Interrupts

No SYSGEN options enabled

Device Status CSR Vector(s)
------ ------ --- ---------
TT Installed 000000 000
SL 141076 000000 000
LD Installed 000000 000
HX Resident 177560 000
DZ Not installed 000000
HD Not installed 177720 000

TT
HX (Resident)
HX0 = DK , SY
SL (Loaded)
LD
20 free slots

Job Name Console Level State Low High Impure
--- ---- ------- ----- ----- --- ---- ------
0 RESORC 0 0 Run 000000 141024 N/A

No multi-terminal support

Address Module Words
------- ------ -----
160000 IOPAGE 4096.
156242 HX 431.
145406 RMON 2254.
141070 SL 1127.
131024 USR 2066.
001000 ..BG.. 22538.

No LD units mounted


.




P.S То что 256к не обращайте внимание, выпаял 4 банка памяти левой стороны.

Patron
17.07.2014, 18:21
ДА, ЗАГРУЗИЛСЯ!!!Можно попробовать добавить драйвер VM.SYS и проверить работу RAM-диска ( включая загрузку с VM ).

MiX
17.07.2014, 18:34
От АДОСа подойдёт? И вопрос, почему RT определяет "про" как 11/23?

Patron
17.07.2014, 18:46
От АДОСа подойдёт?Вряд ли, если только АДОС не одно из названий RT-11.

Предлагаю попробовать такой драйвер: VM.SYS (http://emulator.pdp-11.org.ru/misc/VM.SYS.zip)

MiX
17.07.2014, 18:54
и проверить работу RAM-диска ( включая загрузку с VM ).

Как проверить? Пишет в SH ALL "?RESORC-F-Input error VM .SYS"
Да, и вопрос про 11/23 остаётся открытым.

Patron
17.07.2014, 19:17
Значит, в Pro350 процессор 11/23.

Если VM.SYS установлен ( в списке команды SH DEV обозначен как Installed ) - надо сделать INIT VM: и можно копировать туда систему и загружаться.

form
17.07.2014, 19:17
вопрос про 11/23 остаётся открытым.

Потому что определение прошника видимо было выкинуто из загрузчика, а если убрать прошную специфику, то Professional 350 по сути и есть 11/23 :)

MiX
17.07.2014, 19:28
Однако МС1201.03 определял как 11/34 и это без сопроцессора.
Да и ещё Patron, ВREAK в телнете теперь и мне актуален ;)

---------- Post added at 19:28 ---------- Previous post was at 19:23 ----------

При инициализации пишет:
.INIT VM:
?DUP-F-Illegal device VM:

Patron
17.07.2014, 19:37
Значит, в списке команды SH DEV этот драйвер не обозначен как Installed.

Тут или драйвер виноват, или память, или операционка.

MiX
17.07.2014, 19:49
Напомню, что у меня память сейчас 256к.

form
17.07.2014, 19:51
Напомню, что у меня память сейчас 256к.

В SJ/SB/FB мониторах VM по умолчанию всю расширенную память использует, так, что должен инсталиться если все нормально.

MiX
17.07.2014, 20:04
form, Так должно быть 512к а у меня половина, или VM определяет сколько.
В общем скинь тест памяти пожалуйста.

form
17.07.2014, 20:05
form, Так должно быть 512к а у меня половина, или VM определяет сколько.
В общем скинь тест памяти пожалуйста.

Определяет.
У меня нет тестов для RT-11 - только XXDP целиком.

MiX
17.07.2014, 20:41
Откровенно говоря, глюк обнаружился в другом месте. При копировании распакованного VM.SYS в Т.С. в DSK размер файла VM.SYS 0 байт. При повторном копировании тоже самое.

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

При такой скорости вопрос - ответ мне полезней заняться распаиванием панелек под левую сторону платы памяти. Соответственно ПВК на это время будет нерабочим.

MiX
18.07.2014, 00:05
Получилось скопировать VM.SYS когда он находился в одной папке с DSK. В тот раз VM.SYS был на рабочем столе.

form
18.07.2014, 12:55
Ну теперь собственно пробовать. В SJ/SB/FB VM сразу должен быть готов к использванию. В XM при 256Kb не проинсталится - там по умолчанию база 248Kb выставлена.

MiX
18.07.2014, 13:09
form, Поздно, уже запаял панельки и вставил туда рушки. Теперь RT показывает 512к а VM.SYS получился в 898 блоков.

form
18.07.2014, 13:11
form, Поздно, уже запаял панельки и вставил туда рушки. Теперь RT показывает 512к а VM.SYS получился в 898 блоков.

Все правильно. 512-28=484Kb.
На него можно скопировать систему с HX и загрузить для скорости.
За вычетом home, boot и каталога где-то так и есть...

Patron
18.07.2014, 13:28
VM.SYS получился в 898 блоков.Можно сделать образ VM.DSK такого же размера, смонтировать его в HX1: и после загрузки с VM - сделать COPY/DEV VM:/END:nnn HX1:

Где nnn - номер первого блока свободного места.

Тогда после загрузки с HX можно будет делать :


.COPY/DEV HX1:/END:nnn VM:
.BOOT VM:

form
18.07.2014, 13:44
Где nnn - номер первого блока свободного места.

Даже номер последнего несвободного - зачем лишний блок копировать :D

Patron
18.07.2014, 14:06
Даже номер последнего несвободного - зачем лишний блок копироватьНомер первого свободного блока пишет команда DIR c ключом /FREE/BL, а номер последнего несвободного - надо уже вычислять по этим данным самостоятельно ( методом вычитания единицы ).

MiX
18.07.2014, 14:07
VM при выключении ПВК теряется. По этому при загрузке на скорости 9600 хоть в ОЗУ, хоть в ОЗУ в качестве VM выигрыша не вижу.

form
18.07.2014, 14:08
VM при выключении ПВК теряется. По этому при загрузке на скорости 9600 хоть в ОЗУ, хоть в ОЗУ в качестве VM выигрыша не вижу.

Обычно цель состоит не в загрузке, а в работе и тут выигрыш весьма заметен...

MiX
18.07.2014, 15:37
Обычно цель состоит не в загрузке, а в работе и тут выигрыш весьма заметен...

Посмотрим.

Хотелось бы к этому вопросу подойти радикально. Например при переводе ПВК в терминал сделать скорость не 9600 а 57600 благо там ПЗУ репрограммируемое.

---------- Post added at 15:37 ---------- Previous post was at 14:13 ----------


Можно сделать образ VM.DSK такого же размера, смонтировать его в HX1: и после загрузки с VM - сделать COPY/DEV VM:/END:nnn HX1:

Где nnn - номер первого блока свободного места.

Тогда после загрузки с HX можно будет делать :


.COPY/DEV HX1:/END:nnn VM:
.BOOT VM:


Пишет-
.BOOT VM:
Missing VM0:SWAP.SYS; Are you sure? Y
?DUP-F-Non-bootable device VM0:

Patron
18.07.2014, 16:43
Missing VM0:SWAP.SYS; Are you sure?Сделать загрузочный VM: можно так:



.INIT/NOQ VM:
.COPY SY:*.SYS VM:
.COPY SY:*.SAV VM:
.COPY SY:UCL.DAT VM:
.COPY SY:STARTS.COM VM:
.COPY/BOO VM:RT11SP VM:
.BOOT VM:

MiX
18.07.2014, 19:28
Пишет-
.BOOT VM:
SL V08.00 [SW] Сторожевых С.В. 1988

000006

Что обозначает ключ /NOQ ?

Да и ещё, я могу рассчитывать на BREAK в телнете?

---------- Post added at 19:28 ---------- Previous post was at 17:39 ----------

Сделал так.

.COPY/BOOT RT11SP.SYS VM:

.BOOT VM:
SL V08.00 [SW] Сторожевых С.В. 1988

RT-11SP (Y) V05.04 G (01)

.SE USR NOSWAP

.SE EXIT NOSWAP

.SE TT SCOPE

.LO SL

.SE SL ON

.DAY
?KMON-F-Invalid command

.

Patron
18.07.2014, 19:39
Что обозначает ключ /NOQ ?Означает: "Без запроса подтверждения" ( иначе задаст вопрос ).



я могу рассчитывать на BREAK в телнете?Не раньше, чем появится поддержка Telnet ( неизвестно когда ).

MiX
18.07.2014, 20:16
Так VM диском закончено?


Не раньше, чем появится поддержка Telnet ( неизвестно когда ).

Здесь (http://www.moxa.com/product/download_pcommlite_info.htm) есть эмулятор с библиотеками. Может поможет.

form
18.07.2014, 20:20
Так VM диском закончено?

Это уж на свое усмотрение :)
Вот здесь (http://zx-pk.ru/showpost.php?p=726988&postcount=173) небольшой тест на предмет пользы от VM, и это далек не медленный HX :)

MiX
18.07.2014, 20:22
form, Не программер я. Я могу только чисто по инструкции.

Кстати после BRK в VM командой Р обратно не возвращается.

MiX
10.09.2014, 18:27
Patron, Подключил к эм.VT52 эм.Ersatz-11, только вот не грузит VT52 эмулятор Ersatz-11. Для подключения создал гибридную конфигурацию СОМ4+НХСОМ. То есть в НХ конфиге добавил кнопки. Далее при нажатии BRK эм. Е11 выдаёт собачку но после нажатия ВООТ НХ ничего не происходит.

Patron
10.09.2014, 19:04
не грузит VT52 эмулятор Ersatz-11. после нажатия ВООТ НХ ничего не происходит.А что в системной консоли при этом пишет ?

MiX
10.09.2014, 19:15
А что в системной консоли при этом пишет ?
Лоадер и Сендер ожидают приглашения.

Patron
10.09.2014, 19:23
Лоадер и Сендер ожидают приглашения.А как конфиг выглядит ?

MiX
10.09.2014, 20:20
А как конфиг выглядит ?

Фрагмент конфига, дальше идут настройки кнопок. Полностью вставить текст сайт не позволяет.
Связку ComPort <==> HX специально закомментировал, так как изображение начинает двоится.

;
; pdp11 emulator default config file.
;
[modules]

Ядро = Main_module.em
CPU_module = CPU11_module.em
DSK_module = DSK_module.em
Port_module = Port_module.em
Terminal_module = Terminal_module.em

[objects]

HX_Log = Ядро:Console
HX = DSK_module:HX
VT52 = Terminal_module:Terminal

UKNCcomSender = Ядро:UKNCcomSender
ODT_Loader = Ядро:ODT_Loader
ComPort = Ядро:Terminal_ComPort_Adapter

ODT_Loader_Button = Ядро:SB_StatePushButton
ShowPortUse_Button = Ядро:SB_StatePushButton

MediaButton = Ядро:SB_StorageMediaButton

Pack_Button = Ядро:SB_StatePushButton


In_CTS = Ядро:SB_StateFlashButton
In_DSR = Ядро:SB_StateFlashButton
In_BRK = Ядро:SB_StateFlashButton
In_DCD = Ядро:SB_StateFlashButton
In_RNG = Ядро:SB_StateFlashButton

Out_RTS = Ядро:SB_StateFlashButton
Out_DTR = Ядро:SB_StateFlashButton
Out_BRK = Ядро:SB_StateFlashButton

[links]

ComPort <==> VT52
;ComPort <==> HX
HX [TTY] <==> VT52
HX [TTY] <==> ODT_Loader
HX [TTY] <==> UKNCcomSender

HX [Log] > HX_Log

Config + ODT_Loader_Button + ODT_Loader | UKNCcomSender

Config + ShowPortUse_Button + ComPort

Config + MediaButton + HX
Config + Pack_Button + HX

VT52 + ( In_CTS + ComPort ) | ( In_DSR + ComPort ) | ( In_BRK + ComPort )
VT52 + ( In_DCD + ComPort ) | ( In_RNG + ComPort )

VT52 + ( Out_RTS + ComPort ) | ( Out_DTR + ComPort ) | ( Out_BRK + ComPort )


; === INI SECTIONS ===

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

[HX.ini]
HX0 =Pro350_HX_SP2.DSK
HX1 =
HX2 =
HX3 =
HX4 =
HX5 =
HX6 =
HX7 =
InitialStateOf[PackData]=0
SaveChangesFor[PackData]=1



[HX_Log.ini]
TabTitle =""
InitialStateOf[StatusBar] = 0
SaveChangesFor[StatusBar] = 0
InitialStateOf[ControlBar] = 0
SaveChangesFor[ControlBar] = 0
InitialStateOf[Log]=0
SaveChangesFor[Log]=0
DumpMode=1
SeparateWindow_X0_px=0
SeparateWindow_Y0_px=0
SeparateWindow_DX_px=800
SeparateWindow_DY_px=600
InitialStateOf[SeparateWindow]=0
SaveChangesFor[SeparateWindow]=1
PrinterMode=0


[VT52.ini]
TabTitle=""
nFocusOnFirstOutput = 1
CURSOR_Y_START_% = 85

TerminalStatusBar_Part[CPS_Limit]= nPosition[2] | nPriority[6] | bHidden[1]

InitialStateOf[RusKeys] =1
SaveChangesFor[RusKeys] =0
InitialStateOf[GoldMode]=0
SaveChangesFor[GoldMode]=0
InitialStateOf[Log] =0
SaveChangesFor[Log] =0
InitialStateOf[Lc] =0
SaveChangesFor[Lc] =0
InitialStateOf[Bold]=0
SaveChangesFor[Bold]=0
InitialStateOf[RusLat]=0
SaveChangesFor[RusLat]=0
InitialStateOf[Ext]=0
SaveChangesFor[Ext]=0

FontSize =0
FontFace ="Courier New"
bFontAntialiasDisable = 1

InitialStateOf[StatusBar] = 1
SaveChangesFor[StatusBar] = 0
InitialStateOf[ControlBar] = 0
SaveChangesFor[ControlBar] = 0
InitialStateOf[TerminalStatusBar]= 1
SaveChangesFor[TerminalStatusBar]= 0
InitialStateOf[SlowMultiByte]=0
SaveChangesFor[SlowMultiByte]=0
Cursor_OFF_Latency_MS=30
SeparateWindow_X0_px=0
SeparateWindow_Y0_px=0
SeparateWindow_DX_px=800
SeparateWindow_DY_px=600
InitialStateOf[SeparateWindow]=0
SaveChangesFor[SeparateWindow]=1



[Config.ini]
InitialStateOf[StatusBar] = 1
SaveChangesFor[StatusBar] = 0
ExtendedStartLog = 0
InitialStateOf[ControlBar]= 0
SaveChangesFor[ControlBar]= 0
ActiveWindowHandle=
ActiveConfigID=
InitialStateOf[Log]=0
SaveChangesFor[Log]=0
RunEmulationInParentThread=0

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

[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_Button.ini]
SB_Part_Data=nPosition[-1] | nPriority[7] | bHidden[0]
TextFieldWidth_Px=0
TextFieldText=
ButtonPushMode=2
IsInverted=0
ButtonON_Text= Boot HX0
ButtonOFF_Text=Boot HX0
StateName=Load
ButtonWidth=120
ButtonHeight=18
ButtonFontSize=12
ButtonFontWeight=600



[Pack_Button.ini]
SB_Part_Data=nPosition[-2] | nPriority[0] | bHidden[0]
TextFieldWidth_Px=0
TextFieldText=
ButtonPushMode=2
IsInverted=0
ButtonON_Text=Use HX Compression
ButtonOFF_Text=Use HX Compression
StateName = PackData
ButtonWidth=134
ButtonHeight=18
ButtonFontSize=12
ButtonFontWeight=100

[ShowPortUse_Button.ini]
SB_Part_Data=nPosition[2] | nPriority[0] | bHidden[0]
TextFieldWidth_Px=0
TextFieldText=
ButtonPushMode=2
IsInverted=0
ButtonON_Text= Show Port CPS
ButtonOFF_Text=Show Port CPS
StateName=ShowPortUse
ButtonWidth=90
ButtonHeight=18
ButtonFontSize=12
ButtonFontWeight=100



[MediaButton.ini]
SB_Part_Data = nPosition[1] | nPriority[0] | bHidden[0]
FileButtonWidth_Px = 104
FileButtonWidth_AutoAdjust = 1
SelectedDrive =HX0

Patron
10.09.2014, 21:50
Связку ComPort <==> HX специально закомментировал, так как изображение начинает двоится.Потому байты и не идут никуда, кроме терминала.

Надо сделать наоборот:



;ComPort <==> VT52
ComPort <==> HX
HX [TTY] <==> VT52
HX [TTY] <==> ODT_Loader
HX [TTY] <==> UKNCcomSender


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

MiX
10.09.2014, 22:06
Нет, всё равно не идет.

Patron
10.09.2014, 22:14
всё равно не идет.И что на системной консоли пишет - лоадер так "@" на входе и не дождался ?

Если нет - можно на порт HX [TTY] повесить консоль в режиме дампа и посмотреть, какие байты оттуда выходят.

---------- Post added at 21:14 ---------- Previous post was at 21:12 ----------

Можно ещё попробовать подключиться к эмулятору ДВК. Если с ним загрузится - виноват Ersatz-11.

MiX
10.09.2014, 22:18
Вообще там не чистый промт а в виде "Е11>^@" но собака всё равно последняя.


И что на системной консоли пишет - лоадер так "@" на входе и не дождался ?
Да.


Если нет - можно на порт HX [TTY] повесить консоль в режиме дампа и посмотреть, какие байты оттуда выходят.

Чтоб ускорить процесс, какой код?

Patron
10.09.2014, 22:25
какой код?



[objects]

Dump = Ядро:Console


[links]

HX [TTY] > Dump


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


При таком варианте дамп будет не только выводиться на консоль, но и писаться в файл Dump.log

MiX
10.09.2014, 22:42
Дамп 015 105 061 061 076 136 100

На экране сначала появляется "Е11>" потом нажимаю BRK и появляется "Е11>^@"

Patron
10.09.2014, 23:01
появляется "Е11>^@"Тогда понятно в чём дело - настоящий процессор выдаёт одиночный символ @ в начале строки и поэтому лоадер требует, чтобы символ промпта был в строке первым и единственным.

Может, если понажимать <Enter> - удастся получить одиночный @ в начале строки..

MiX
10.09.2014, 23:11
Может, если понажимать <Enter> - удастся получить одиночный @ в начале строки..

Нет, идет перевод строки и "Е11>"

MiX
11.09.2014, 13:28
Patron, Попробовал с клавиатуры набрать после собаки 1000/ и Ентер на что эмулятор ответил ?What? Получается нет там ни какого пультового режима.

Теперь буду пробовать вариант Б. Пускай эмулятор будет загружаться со своего диска но надо чтоб он захватывал ещё и НХ диски.

Patron
11.09.2014, 16:31
Пускай эмулятор будет загружаться со своего диска но надо чтоб он захватывал ещё и НХ диски.Для этого надо после загрузки с его диска - настроить скопированный туда драйвер HX ( при помощи команды SET HX HXCSR= ...... ) на адрес того эмулиремого порта, который "смотрит наружу".

Команда SET HX LIST выводит текущие настройки.

MiX
11.09.2014, 16:38
Команда SH DEV показывает что НХ инсталлирован по адресу 177560, однако вектор по нулям. А как узнать адрес терминала?

Patron
11.09.2014, 17:19
Команда SH DEV показывает что НХ инсталлирован по адресу 177560В такой конфигурации E11 сможет работать только с внешним терминалом - эмулятором VT52 со встроенным сервером HX.

Для этого у E11 порт 177560 должен "смотреть наружу", т.е. быть сконфигурированным на работу с COM-портом Windows.

Если порт 177560 у E11 не подключен к COM-порту Windows, то надо сконфигурить в E11 дополнительный терминальный порт, подключить его к COM-порту Windows и настроить драйвер HX на его адрес.

MiX
12.09.2014, 16:16
УРА! Получилось! :v2_dizzy_punk:
Сделал так.
В конфиге Е11 можно устанавливать адрес и прерывание. (по умолчанию оно такое на младших машинах)

SET TT0: CSR=177560 VECTOR=060
Также можно сделать вывод параметра терминала.

SH TT0:
Будет выглядеть так.

TT0: COM3:
MODE=9600,N,8,1 UNLOCK
DL11E CSR=177560(D) VECTOR=060(D) PRIORITY=4
E11>
На старших машинах будет выглядеть так.

TT0: COM3:
MODE=9600,N,8,1 UNLOCK
DL11E CSR=17777560(D) VECTOR=060(D) PRIORITY=4
E11>

Также можно сделать вывод списка устройств. Но прописывать надо после записи монтирования дисков. (иначе не не всё покажет)

SH DEV

После загрузки команда DIR HX0: выдаёт каталог подключённого диска НХ .Теперь можно перегонять импортные образы в наши, и наоборот.

Второй сюрприз.
Попробовал команду ВООТ НХ0: и загрузился. Образ который был прикреплён PRO350_HX_SP2.DSK(другие не пробовал)

Спасибо!

hobot
12.09.2014, 17:02
Теперь можно перегонять импортные образы в наши,
Третий сюрприз - эмулятор ком порта может не работать на некоторых конфигурациях. А так - может проще (не для автора конечно), универсальней - постепенно добавлять новые форматы в поддержку плагином для TC ? Если оно вообще сильно нужно. И самое главное (для меня) никто не хочет "Пещеру" выковырять из полуПИДИПИполуПиСи )))

Patron
12.09.2014, 17:42
Теперь можно перегонять импортные образы в наши, и наоборот.Драйвер HX пока есть только для RT-11, а любые образы дисков RT-11 без проблем перегоняет DSK-плагин.

---------- Post added at 16:42 ---------- Previous post was at 16:02 ----------

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

MiX
12.09.2014, 18:09
Третий сюрприз - эмулятор ком порта может не работать на некоторых конфигурациях.

Вообще НХ эмуляция сделана в основном для настоящих машин, по этому работать должен с настоящем СОМ портом. Эмулятор сом0сом как вариант.

А так - может проще (не для автора конечно), универсальней - постепенно добавлять новые форматы в поддержку плагином для TC ?
Да я не против ТС, выше приведённый вариант это как временные "костыли".


Если оно вообще сильно нужно. И самое главное (для меня) никто не хочет "Пещеру" выковырять из полуПИДИПИполуПиСи )))
Это как? Ссылку сюда.


Драйвер HX пока есть только для RT-11, а любые образы дисков RT-11 без проблем перегоняет DSK-плагин.

Не всегда.
Вариант с НХ даёт конвертацию образа но не файловой системы.


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

Откровенно говоря, эксперименты начались для подбора образа RSTS-11 к эм. PDP11.

hobot
12.09.2014, 22:13
Это как? Ссылку сюда.

Игрушка "ПЕЩЕРА" тут явный оффтоп
платформа : Э-85, ОС ПРОС (версию не знаю)
очень страшные монстры и хитрые уровни ) И ещё более хитрыми запросами в ПРОС, настолько, что как меня тут заклевали профи - проще с нуля писать, чем порт. (печалька - хотя эмулятор Э-85 никто не отменял)



Вообще НХ эмуляция сделана в основном для настоящих машин
Только не подумай, что я не радуюсь успешному эксперименту, в любой теме
по PDP "УРА! ПОЛУЧИЛОСЬ" или "ЗАРАБОТАЛО!" и т.д. я двумя руками ЗА!!! (аплодисменты взрываются и плавно смолкают). ПКМ


образы магнитных лент плагин не поддерживает, поэтому если подцепить к E11 образ ленты - оттуда можно будет скопировать файлы на диск HX.

(новый взрыв плавно смолкающих аплодисментов)
:redface:

MiX
13.09.2014, 00:44
аплодисменты взрываются и плавно смолкают
Да всё это самому можно было сделать, причем очень давно. Сейчас уже CHARON присоединил. :)

MiX
13.09.2014, 13:10
Драйвер HX пока есть только для RT-11, а любые образы дисков RT-11 без проблем перегоняет DSK-плагин.

В эмуляторе Е11 есть ещё и русский стандарт HD диска. Там прямо так и сказано.http://s019.radikal.ru/i609/1409/b8/04d9855ef54d.png (http://www.radikal.ru)

Правда есть отличия в адресации где:

Ersatz-11 адресует -177110 вектор 234
PDP11 адресует -177720 без вектора

Но там прилагается драйверы HD.SYS,HDX.SYS и исходник HD.MAC.

Для того чтоб присоединить образ надо прописать в конфиге такую строчку:


mount HD0: HDSYS.DSK

Где образ взять HD диска, я думаю всем ясно. :)

hobot
14.09.2014, 00:01
Вообще НХ эмуляция сделана в основном для настоящих машин, по этому работать должен с настоящем СОМ портом.


При этом очень желательна работа эмулятора с реальным параллельным портом LPT.

http://zx-pk.ru/showthread.php?t=10273

MiX
14.09.2014, 18:10
Patron, Наконец то я вывел изображение на экран с Эл.85. Но там кроме как Эл.85 с открытой крышкой, коды, и дискета со знаком вопроса ничего не показывает.
Загрузил НХ с драйвером РI но картинка так и не поменялась. Команда SH DEV показывает РI not installed 000000 000. Что может быть не так?

Patron
14.09.2014, 18:55
Загрузил НХ с драйвером РI но картинка так и не поменялась. Команда SH DEV показывает РI not installed 000000 000. Что может быть не так?Драйвер PI работает с RT11FB.

MiX
14.09.2014, 19:06
При запуске FB монитора отключается терминал при этом появляется изображение загрузки с видеокарты. НХ диск не могу проверить так как не могу переключить на латинскую раскладку на МС7004.

Patron
14.09.2014, 21:27
При запуске FB монитора отключается терминал при этом появляется изображение загрузки с видеокарты. НХ диск не могу проверить так как не могу переключить на латинскую раскладку на МС7004.Если на экран Э-85 при этом выводится обычный ход загрузки с выполнением команд из стартового командного файла STARTF.COM - это означает, что всё работает, потому что STARTF.COM читается с HX уже загруженным FB монитором.

MiX
14.09.2014, 22:24
Получается так.
Загрузка через НХ проходит. В эм.VT52 доходит до строчки НХ DSK/TTY multiplexer v3.1 2014 дальше мигает курсор. На экране с видеокарты эл.85 появляется надпись SL V08.00 [SW] sTOROVEWYH s.w. 1988

RT11FB V05.03
?KMON-F-File not found DK:STARTF.COM

.

Что удивительно клавиатура МС7004 стала QWERTY и толком набрать что нибудь пока не могу. Первоначально подумал что русская раскладка так как совпала клавиша C с QWERTY когда хотел набрать команду SH.

Patron
14.09.2014, 23:10
Файл STARTF.COM можно сделать из копии STARTS.COM путём переименования, а русский драйвер PI.SYS с раскладкой JCUKEN взять ЗДЕСЬ (http://emulator.pdp-11.org.ru/misc/PI_Rus.zip).

MiX
14.09.2014, 23:50
Вылетает с этим PI @101276. А какой он версии?

Patron
15.09.2014, 00:03
А какой он версии?Он работал с RT11FB v5.1 - я добавил этот монитор ( и ещё несколько файлов с системного диска Э-85 ) в тот же архив (http://emulator.pdp-11.org.ru/misc/PI_Rus.zip).

MiX
15.09.2014, 00:43
С версией 5.1 при команде COPY/BOOT RT11FB HX0: пишет
?DUP-F-Conflicting SYSGEN options

У меня точно работает FB и PI v05.03 с QWERTY.

MiX
15.09.2014, 12:17
Ещё просьба, сделайте пожалуйста драйвер НХХ.SYS для монитора ХМ.

Patron
15.09.2014, 13:43
пишет ?DUP-F-Conflicting SYSGEN optionsДобавил в тот же архив (http://emulator.pdp-11.org.ru/misc/PI_Rus.zip) нужный вариант драйвера HX.




драйвер НХХ.SYS для монитора ХМНужно делать самостоятельно, в зависимости от необходимых параметров генерации, которые надо найти и изменить в исходном тексте драйвера ( HX.SYS_v3.1 (http://zx.pk.ru/attachment.php?attachmentid=45605) ).



.IIF NDF MMG$T, MMG$T =: 1 ; Генерить драйвер для монитора XM.
.IIF NDF ERL$G, ERL$G =: 0
.IIF NDF TIM$IT, TIM$IT =: 1 ; Генерить драйвер с битом поддержки таймаута.


После чего выполнить следующие команды и получить драйвер HXX.SYS :



MACRO HX
LINK/EXEC:HXX.SYS HX
DEL HX.OBJ

MiX
24.09.2014, 01:20
Patron, Случайно обнаружил что можно загружать RT11v05.07 через HX.
Помните я как то говорил что 7 версия не грузится через НХ, и Вы ещё исключили её из релизов. Так вот, при очередном эксперименте я подключился не на плату МС а на плату КЦГД (как подключатся я уже рассказывал) и образ был случайно выставлен HDSYS.DSK в НХ0 и загрузил его. Теперь я считаю что версия 05.07 может грузится через НХ протокол. Единственное надо разобраться почему через плату МС не идет а через КЦГД идет.

Patron
24.09.2014, 02:48
Случайно обнаружил что можно загружать RT11v05.07 через HX.Это было известно изначально. Система v5.7 удалена из комплекта HX только потому, что там RMON в два раза больше и поэтому грузится в два раза дольше.

MiX
25.09.2014, 13:33
Это было известно изначально. Система v5.7 удалена из комплекта HX только потому, что там RMON в два раза больше и поэтому грузится в два раза дольше. Если гнаться за скоростью, то КЦГД изначально работает на 57600 но и это не предел. Поставил кварц на 9216Кгц и ещё быстрее загрузился. Так что я думаю лучше свежую версию оставить, хотя преимущество между четвертой и седьмой пока не вижу.

MiX
09.12.2014, 01:06
Patron, Здравствуйте.
Ситуация такая, подключил плату Mentec M1 к консольному порту. В эмуляторе VT52 пытаюсь загрузить плату через НХ но эмулятор ничего не посылает.
На экране появляется "@", консоль эмулятора пишет что ожидает "@" и "026" и все.
При нажатии Ентер приглашение повторяется с новой строки. Цифры вводятся тоже.

Подскажите пожалуйста, где копать.
Спасибо.

Patron
09.12.2014, 02:30
На экране появляется "@", консоль эмулятора пишет что ожидает "@" и "026" и все.Нужно параллельно вывести те же байты на консоль в режиме дампа.

Загрузка скрипта стартует только после появления во входном потоке объекта типа ODT_Loader пары байтов "\012@" или "\015@" без последующего вывода байтов. Если между концом строки и промптом влезает что-то ещё ( например - нулевой байт ) или что-то появляется после промпта ( например - пробел ) - промпт текущим вариантом ODT_Loader опознан не будет.

MiX
09.12.2014, 03:13
Дамп такой

015 012 000 000 000 100 Но на терминале чистый промт.

---------- Post added at 03:13 ---------- Previous post was at 02:48 ----------

Попробовал изменить детектор промпта.

PromptChar="\015\012\000\000\000\100" Но консоль всё равно пишет что ждет "@".

Patron
09.12.2014, 13:09
консоль всё равно пишет что ждет "@".Надо переделывать ODT_Loader.

Пока можно просто скопировать содержимое odt-файла скрипта в буфер обмена и вставить в терминале ( после появления @ ), нажав <Shift><Insert>.

MiX
09.12.2014, 21:46
Интересно, а зачем 9 нулей между 012 и 100. Я думаю что это команда очистки экрана.

и вставить в терминале ( после появления @ ), нажав <Ctrl><Shift>. Не работает (ничего не вставляется). Попробовал вставить под клавишу F1 в terminal.ini. Скрипт вставился но пока работает, надо добавлять код 012 для открытия ячейки.

Patron
09.12.2014, 23:00
Не работает (ничего не вставляется).Моя ошибка - для вставки текста из буфера обмена надо нажимать <Sift><Insert>

Для проверки открыл блокнот, ввёл там строку "dir", скопировал её в буфер обмена ( нажав <Ctrl><Insert> ), потом перешёл в окно терминала и нажал <Shift><Insert> :

http://s7.hostingkartinok.com/uploads/images/2014/12/daf3bf334c26200a462d1d55e7348b2a.png

MiX
09.12.2014, 23:17
Patron, Со вставкой разобрался, но такой метод не катит. Скрипт вводится быстрее чем компьютер на него отвечает. В итоге G у меня оказывается в 10016 ячейке.

Patron
09.12.2014, 23:35
Скрипт вводится быстрее чем компьютер на него отвечает.В следующем релизе ODT_Loader будет игнорировать нулевые байты - должно помочь.

Patron
10.12.2014, 16:09
Попробовал вставить под клавишу F1 в terminal.iniВставку из буфера обмена и вставку из буфера назначенной клавиши терминал производит одинаковым способом. Если при вставке из буфера обмена скрипт вводится быстрее, чем компьютер на него отвечает, то при вставке из буфера назначенной клавиши должно быть так же.

Это так ?

...

Скорость вставки регулируется настройкой в ini-секции объекта типа Teminal в файле конфигурации:


InitialStateOf[SlowMultiByte] = 1

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

MiX
10.12.2014, 20:58
Patron, Дело в том что скрипт написан в восьмеричной системе а под клавишу надо писать в ANSI. Поэтому скрипт напрямую туда не пойдет.
Скрипт

10000/12706¬
ANSI

"\061\060\060\060\060\057\061\062\067\060\066\012"
Перевёл одну строчку и попробовал. Пока неполучается стабильно ввести.

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

Точнее это не ANSI а ASCII в восьмеричном коде.
Кстати говоря, может в эмулятор PDP11 запихать загрузчиков под клавиши которых нет в прошивке.
Например DW.

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


При значении 1 терминал отправляет многобайтовые последовательности со скоростью 66 байтов в секунду, а при значении 0 - с максимальной скоростью. ДА! помогло.
Теперь надо остальной скрипт перевести. :)

Patron
10.12.2014, 21:20
Дело в том что скрипт написан в восьмеричной системе а под клавишу надо писать в ANSI. Поэтому скрипт напрямую туда не пойдет.Надо только заменить символы '¬' на '\012', а "чистые концы строк" на '\015'.

Поэтому (например) скрипт:



1000/5¬
12706¬
10000¬
12701¬
176560¬
101371¬
5007
1000G

В виде ANSI-строки будет выглядеть так:


"1000/5\01212706\01210000\01212701\012176560\012101371\0 125007\0151000G"

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


ДА! помогло.Если помогло - должно и из буфера обмена нормально вставлять. Ведь и из буфера обмена, и из ANSI-строки - байты вставляются одним и тем же фрагментом кода.

MiX
10.12.2014, 21:42
Вот непонятно, если это ANSI то по моему VT52 работает только в ASCII (КОИ7) и дальше 7бита не прыгает. Или это внутренний ANSI для модуля terminal.ini.

---------- Post added at 21:42 ---------- Previous post was at 21:27 ----------


Если помогло - должно и из буфера обмена нормально вставлять. ДА! загрузился!:v2_dizzy_roll::v2_dizzy_vodk a2: :v2_thumb:

.SH ALL

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

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/73A Processor
4088KB of memory
Floating Point Microcode
Extended Instruction Set (EIS)
Memory Management Unit
Parity Memory
Cache Memory
50 Cycle System Clock

No SYSGEN options enabled

Device Status CSR Vector(s)
------ ------ --- ---------
HX Resident 177560 000
TT Installed 000000 000
SL 141104 000000 000
EM Installed 000000 010
LD Installed 000000 000

TT
HX (Resident)
HX0 = DK , SY
SL (Loaded)
EM
LD
17 free slots

Job Name Console Level State Low High Impure
--- ---- ------- ----- ----- --- ---- ------
0 RESORC 0 0 Run 000000 141032 N/A

No multi-terminal support

Address Module Words
------- ------ -----
160000 IOPAGE 4096.
156242 HX 431.
145414 RMON 2251.
141076 SL 1127.
131032 USR 2066.
001000 ..BG.. 22541.

No LD units mounted

А надо то было всего исправить ноль на единицу...
Спасибо!

Patron
10.12.2014, 21:43
Вот непонятно, если это ANSI то по моему VT52 работает только в ASCII (КОИ7) и дальше 7бита не прыгает. Или это внутренний ANSI для модуля terminal.ini.VT52 передаёт с клавиатуры коды ASCII.

Строки ANSI - формат представления данных, позволяющий вставлять в строку любые неотображаемые символы. Этот формат используется ini-файлах эмулятора для ввода значений текстовых параметров.

В ANSI-виде строка КОИ7 "Привет" выглядит как "\016pRIWET\017", а строка КОИ8 "Привет" выглядит как "\360\322\311\327\305\324"

Строка "1000/5\01212706\01210000\01212701\012176560\012101371\0 125007\0151000G" содержит только коды ASCII ( 8-й бит у всех байтов равен нулю ), поэтому нет проблем с её вставкой в качестве ввода с клавиатуры терминала.

hobot
11.12.2014, 14:48
MiX, можно уточнить, что загружали - я имею в виду какую железку вы мучаете? ДВК или Э85 или ещё что то, просто мне затруднительно за вашими HX экспериментами следить, но интересно. Вот последний опыт с 0 и 1 опишите пожалуйста ради меня кратко просто с самого начала (неудач) и до удачной загрузки,если не лень конечно, - в одном сообщении и простым языком - я бы пойму )

4088KB of memory ???

MiX
11.12.2014, 20:21
MiX, можно уточнить, что загружали - я имею в виду какую железку вы мучаете? Плата Mentec M1.



Вот последний опыт с 0 и 1 Опции установки.

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



опишите пожалуйста ради меня кратко

???Ёмкость ОЗУ.

form
23.12.2014, 12:19
Тут недавно трудящиеся просили добавить HX драйвер в SimH который у меня под OpenVMS крутится... Перекомпиливать его пока лень (а без этого HX не будет работать из-за наличия горячей клавиши SimH для останова эмуляции).

Зато возникла интересная мысль (самому реализоввывать лень, но расскажу как сделать). Можно добавить в драйвер HX поддержку RTEM-11.

Функционал который может потребоваться драйверу:
;
;ENAR$S - РАЗРЕШИТЬ ОБРАБОТКУ ПРЕРЫВАНИЙ
;
MOV #545,-(SP) ;ENAR$ DIC & DPB SIZE
EMT 377 ;

;
;DSAR$S - ЗАПРЕТИТЬ ОБРАБОТКУ ПРЕРЫВАНИЙ
;
MOV #543,-(SP) ;DSAR$ DIC & DPB SIZE
EMT 377 ;


Этого же эффекта можно добиться макрокомандами RT-11 .MTPS #0 и .MTPS #340 (в RTEM-11 мониторе эти макросы вызывают подпрограммы которые выполняют вышеописанные действия). За таймер беспокоиться при этом не нужно: прерывания от таймера отсутствуют как класс, системные вызовы касающиеся времени переадресуются напрямую в RSX, если в драйвере требуется обработка таймаутов - следует использовать стандартные вызовы .TIMIO/.CTIMIO (помним - драйвер при этом нельзя "переделать" командой SET для подстройки SYSGEN опций).

DPB для директивы ввода-вывода на терминале:

IO.RAL =: 1010 ;READ PASS-ALL
IO.WAL =: 410 ;WRITE PASS-ALL

;
;QIOW$ IO.RAL,1,20.,,,,<BUFF,BCNT>
;
QIOW: .BYTE 3,12. ;DIC, DPB SIZE
.WORD IO.RAL ;IO.RAL FUNCTION
.WORD 1 ;TI: LUN
.BYTE 20.,0 ;EFN, PRI
.WORD 0,0 ;ISB, AST
.WORD BUFF ;BUFFER ADDRESS
.WORD BCNT ;BYTE COUNT
.WORD 0,0,0,0 ;EXTRA PARAMETERS
Вызов функции ввода-вывода:
;
;DIR$ #QIOW
;
MOV #QIOW,-(SP) ;PUSH DPB ADDRESS
EMT 377 ;EXECUTE DIRECTIVE
Как вариант, можно все параметры директивы запихать в стек в обратном порядке (последнее слово - DIC & DPB SIZE) и вызвать EMT 377, но с внешним блоком проще...

RTEM-11 должен запускаться командой RTE /VS/-AB чтобы запретить горячую клавишу выхода.

Если не лень кому - можно реализовать :)

Да, терминал должен быть настроен командой SET /EBC=TI: (на CTAKAHе автоматом делается для телнетных сессий). Это можно сделать и программно, но лень сейчас - если будет у кого желание заняться, напишу как :)



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

Пример кода вывода на терминал:
.TY TEST.MAC
QIOW: .BYTE 3,12.
.WORD 410
.WORD 1
.BYTE 20.,0
.WORD 0,0
.WORD BUFF,BCNT
.WORD 0,0,0,0

START:: MOV #QIOW,-(SP)
EMT 377

EMT 350

BUFF: .ASCII <15><12>/TEST TEST TEST!!!/<15><12>
BCNT = .-BUFF

.END START


.EX TEST

TEST TEST TEST!!!

.

Patron
23.12.2014, 13:30
Можно добавить в драйвер HX поддержку RTEM-11Чтобы через порт системного терминала гонять двоичные данные параллельно с терминальным вводом-выводом..

А не получится как в случае с SIMH, когда поток байтов из порта системного терминала анализирует ещё кто-то ( кроме драйвера HX ) и напрасно реагирует на какие-то двоичные данные как на управляющие коды.

form
23.12.2014, 13:34
Чтобы через порт системного терминала гонять двоичные данные параллельно с терминальным вводом-выводом..

А не получится как в случае с SIMH, когда поток байтов из порта системного терминала анализирует ещё кто-то ( кроме драйвера HX ) и напрасно реагирует на какие-то двоичные данные как на управляющие коды.

Не получится: RTEM-11 аттачит терминал с перехватом незапланированного ввода, что не позволяет другим программам (и системе) работать с терминалом пока он не будет освобожден. По умолчанию RTEM-11 реагирует на клавишу CTRL/P и прерывает программу, но ключ /-AB в командной строке запрещает это. Внутри RT-11 же достаточно запретить прервания вызовом DSAR$S (или .MTPS #340) чтобы предотвратить драку с терминальным драйвером RT-11. А возможно и этого не потребуется - достаточно просто будет вызывать QIOW на заданное число байт (это будет запланированный ввод/вывод, следовательно в драйвер терминала RT-11 он не попадет)

MiX
02.06.2015, 18:54
Patron, Загрузил ТМОС через НХ на Эл.85.

HX 2.2 XXDP Cold boot..



ЗАГРУЖАЕТСЯ РАСШИРЕННЫЙ МОНИТОР



ТМОС-2. РАСШИРЕННЫЙ МОНИТОР
ЗАГРУЖЕН С HX0
124КСЛОВ ПАМЯТИ
МИКРО-ЭВМ
ПОВТОРНЫЙ СТАРТ: 152166
КРАТКОЕ ОПИСАНИЕ ТМОС-2 ВЫВОДИТСЯ ПО "H"(H/P)
Показал 124Кслов хотя у него реально 512Кслов. Скажите пожалуйста, какие тесты нужно загрузить для Эл.85 чтобы протестить ДП, да и весь комп желательно.

P.S. Да, и просьба. Добавьте пожалуйста в следующий выпуск релиза эм.VT52 образ ТМОС для Эл.85.

Спасибо.

form
02.06.2015, 19:38
P.S. Да, и просьба. Добавьте пожалуйста в следующий выпуск релиза эм.VT52 образ ТМОС для Эл.85.

По определению такого просто нет - DEC настолько не рассматривал PRO как самостоятельно живущий продукт, что все, что было нажито непосильным трудом было придумано для него (совсем немного) было отправлено в прямое путешествие на помойку и спереть этого и выдать за свое не удалось :)
Ничего специфичного выпущено не было. Остается только то, что логически подходит, а это и так было :)

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

Patron
02.06.2015, 20:20
Загрузил ТМОС через НХ на Эл.85Гениально!

Сам я не догадался, что XXDP - единственная система, которая может без переделок грузиться через отладочный порт Pro-350, потому что вообще не использует прерывания.


какие тесты нужно загрузить для Эл.85Здесь комплект образов DZ с ТМОС-2 для Эл.85: TMOS-2_DZ.zip (http://emulator.pdp-11.org.ru/XXDP/TMOS-2/TMOS-2_DZ.zip) - там полно тестов.


Добавьте пожалуйста в следующий выпуск релиза эм.VT52 образ ТМОС для Эл.85.Мне его проверять не на чем.

MiX
02.06.2015, 22:37
Мне его проверять не на чем.Как вариант, есть проект Xhomer (http://xhomer.isani.org/xhomer/) под Linux.
У anasana есть вариант под Windows, правда там нет отладочного порта но образ дискеты должен загрузить.

А то что грузится через НХ я уже проверил.

Vamos
08.07.2016, 14:38
Patron, в последней версии (предыдущие не проверял) не сохраняется настройка StopBits = ONESTOPBITS в Terminal_ComPort_Adapter.ini, после запуска НХ там TWOSTOPBITS

MiX
09.07.2016, 12:03
не сохраняется настройка StopBits = ONESTOPBITS
Надо писать "ONESTOPBIT" тогда будет сохранятся. Когда то сам на такое натыкался.

MiX
26.08.2017, 15:58
Patron, Здравствуйте.
Есть ли версия ТМОСа под под плату М2, где на борту ОЗУ 8к?

Patron
26.08.2017, 16:53
Есть ли версия ТМОСа под под плату М2, где на борту ОЗУ 8к?C поддержкой HX - вряд ли. На 8к даже простой XXDP+ с диска не грузится.

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

Надо написать программу конвертации перфолент в пультовые скрипты и загружать/запускать через терминал перфоленточные варианты тестов.

bigral
04.09.2017, 15:35
Надо написать программу конвертации перфолент в пультовые скрипты и загружать/запускать через терминал перфоленточные варианты тестов.

Есть некая железная проблема с этим, а именно довольно сложно передать по rs232c длинный блок без сбоев (речь идет об китайских usb->com чипах prolific). Может это я везучий такой, но у меня ошибки передачи довольно часто когда гружу первичный загружчик HX протокола (который загоняется через пультовый интерфейс при нажатии кнопки BOOT HX). FT работает заметно лучше. Даже не помню пробовал ли я использовать реальный ПЭЦЭ-шный компорт для этого (помню использовал его для эмулятора TU58 но это согласитесь другая история). Так что большая просьба: создать сильно урезанную версию HX, которая была бы довольно короткой, чтобы быть без ошибок загруженной через пульт и не занимать много места в памяти, при этом принимала пакеты с контрольной суммой чтобы обходить ошибки передачи, пускай все что умеет это грузить поток заданной длинны в заданное место в памяти.

Patron
04.09.2017, 16:15
Есть некая железная проблема с этим, а именно довольно сложно передать по rs232c длинный блок без сбоев (речь идет об китайских usb->com чипах prolific).При загрузке пультовых скриптов - в каждом блоке usb->com передаётся один байт, потом загрузчик скрипта ждёт эхо от пульта и проверяет, совпало ли эхо с переданным байтом. Поэтому сначала надо написать конвертор LDA-файлов в пультовые скрипты и попробовать, как сработает передача и запуск.

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