Так у него спросить наверно можно (если помнит)
https://zx-pk.ru/members/5864-olegh.html
Так у него спросить наверно можно (если помнит)
https://zx-pk.ru/members/5864-olegh.html
А зачем спрашивать? Есть DESS, взял и посмотрел.
- - - Добавлено - - -
Посмотрел. Проблема в том, что там расположен упаковщик с адреса 0550. А у меня при старте SP=01000, да и вызов п/п идёт, портится код в Гоблинах. Поправим.
- - - Добавлено - - -
Исправленная версия, нормально загружается упакованный код.
Обновлённая версия UkncComSender.
В данной версии поддерживается файл настроек UkncComSender.ini, расположенный в том же каталоге, где и исполнимый модуль.
Командная строка для запуска: UkncComSender COM_порт Имя_файла [Скорость]. В качестве первого параметра используется имя COM-порта, с которым программа будет работать, например COM1. Второй параметр - имя загружаемого файла. Если размер файла меньше или равен 512 байт, т.е. состоит из одного блока, то такой файл загружается без изменений. В другом случае из нулевого блока файла загружается только информация в смещении 0500-0776, т.к. для загрузки файла сперва загружается загрузчик, затем этот загрузчик загружает файл, начиная с первого блока. Третий параметр задаёт скорость обмена в бодах, может отсутствовать, по умолчанию 9600.
По умолчанию в программе используется такой блок DCB для настройки COM-порта:
dcb.BaudRate = dwBaudRate;
dcb.ByteSize = 8;
dcb.fBinary = 1;
dcb.fParity = FALSE;
dcb.fOutxCtsFlow = FALSE;
dcb.fOutxDsrFlow = FALSE;
dcb.fDtrControl = DTR_CONTROL_ENABLE;
dcb.fDsrSensitivity = FALSE;
dcb.fTXContinueOnXoff = FALSE;
dcb.fOutX = dcb.fInX = FALSE;
dcb.fErrorChar = FALSE;
dcb.fNull = FALSE;
dcb.fRtsControl = RTS_CONTROL_ENABLE;
dcb.fAbortOnError = FALSE;
dcb.Parity = NOPARITY;
dcb.StopBits = TWOSTOPBITS;
Настройки программы можно изменить через файл UkncComSender.ini. В текущей версии поддерживаются следующие параметры:
Секция [Main].
В этой секции параметр Sleep, задающий паузу в миллисекундах перед сбросом содержимого COM-порта и его закрытием в программе. Будет полезен в случае использования USB-переходников. Пример:
Sleep = 3000
Задаются пауза в 3000 мс (3 сек).
Секция [DCB].
В этой секции задаются параметры блока DCB, которые вы хотите изменить. В текущей версии поддерживаются следующие параметры:
BaudRate - задаёт скорость передачи в бодах. Он является более приоритетным перед параметром, который задаётся в командной строке.
fDtrControl - задаёт управление линией DTR. Может принимать значения DTR_CONTROL_ENABLE, DTR_CONTROL_DISABLE, DTR_CONTROL_HANDSHAKE.
fRtsControl - задаёт управление линией RTS. Может принимать значения RTS_CONTROL_ENABLE, RTS_CONTROL_DISABLE, RTS_CONTROL_HANDSHAKE.
fOutxDsrFlow - разрешает или запрещает слежение за линией DSR. Может принимать значения TRUE или FALSE.
fOutxCtsFlow - разрешает или запрещает слежение за линией CTS. Может принимать значения TRUE или FALSE.
StopBits - задаёт количество стоп-битов. Может принимать значения ONESTOPBIT или TWOSTOPBITS.
При изменении какого либо параметра в секции DCB, он выводится на экран. Если вывод отсутствует, то значит вы ошиблись в наборе нужного параметра. Текущие значения Sleep и BaudRate выводятся всегда.
Пример файла UkncComSender.ini:
[Main]
Sleep = 2000
[DCB]
BaudRate = 9600
fDtrControl = DTR_CONTROL_ENABLE
fRtsControl = RTS_CONTROL_HANDSHAKE
fOutxDsrFlow = FALSE
fOutxCtsFlow = TRUE
StopBits = TWOSTOPBITS
nzeemin (03.07.2023)
Вот этого я точно делать не буду. По спецификации RT-11 из нулевого блока загружается всё со смещения 0500. В диапазоне 0-0476 грузится в соответствии с таблицей защиты $LOWMA. К тому же это изменено в версии 5.2, там для загрузки диапазона 0500-0776 нужно установить бит 8 в JSW. Ну и при такой загрузке будут стёрты все вектора прерывания, в т.ч. заглушка на таймер, а в УКНЦ он по умолчанию включён. Это придётся как минимум ставить заглушку на таймер, и у меня при запуске устанавливается клавиатура в режим прерываний с п/п заглушки, которая считывает регистр 0177562. Была одна игрушка, которая не использовала сервисов RT-11, а просто меняла вектор 060 на себя.
Дело хозяйское, но кто сказал, что .SAV - это обязательно .SAV или что грузить можно только .SAV?
И насчёт .SAV - LINK то позволяет писать в блок 0 что угодно и где угодно - я так образы всяких ПЗУ делаю.
И прерывания таймера - тоже мешать не будут, даже если их и не запрещать - всего лишь в процессе загрузки контролировать запись в 100 и 102
Но ещё раз - дело хозяйское.
Последний раз редактировалось Hunta; 02.07.2023 в 18:22.
Ну вот и закончилась моя эпопея! Если кто помнит, я всё пытался использовать в качестве посредника для передачи файлов из Windows на УКНЦ конвертер Ethernet to RS232. В виду того, что главный компьютер и УКНЦ у меня стоят в разных комнатах.
начало
Далее - описание моих мучений и шампанских танцев, так и не давших никакого результата.
Теперь я купил МОХУ - MOXA NPort 5110. Естественно, б/у на Авито, на порядок дешевле, чем на официальном сайте. И всё заработало с первого раза! УКНЦ грузится через С2 на скорости 57600, при автономной загрузке видит сетевые диски. Файлы копируются. Ура!
Так что, освобождаю место на полке, занятое ноутбуком-посредником (старый ноут с СОМ-портом), Моху куда-нибудь спрячу в уголок. У неё питание 12 - 48 В, так что, не надо покупать блок питания - можно использовать БП от любого ноута.
- - - Добавлено - - -
Что-то с версией HX_Server.exe 0,97j нестабильно работает. Загрузился по сети, перезагрузился с ЖД, на диски HX*: зайти не могу. И с сети после этого УКНЦ не грузится, приходится перезапускать НХ-сервер. 0,92 нормально работает, но он мне NumLock гасит. Но это и через ноут так же было.
Последний раз редактировалось Arix; 12.09.2023 в 20:53.
max232cpe (11.09.2023)
В каталоге эмулятора есть файл Terminal.ini, в котором (помимо прочего) есть настройки работы терминала с клавиатурой:
Если установить NumLockControlling = 0 - терминал не будет управлять состоянием NumLock.Код:KeyboardControlling = 1 NumLockControlling = 1 NumpadSwapping = 1 Use_NumLock_as_PF1 = 0
Ещё как управляет! Оказывается, я с этим уже мучался.
https://zx-pk.ru/threads/20683-proto...om/page29.html
А с ним вышеуказанные глюки.
Может, есть ещё версии, выше 0,92, но ниже 0,97?
Все версии эмулятора доступны для скачивания по адресу: https://emulator.pdp-11.org.ru/DVK/distr/
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)