Просмотр полной версии : Эмулятор ДВК
Страницы :
1
2
3
4
5
6
7
[
8]
ну например набрать с 1000 адреса и 1000G
Сам спросил сам ответил.
именно так и не работает. Поэтому и спрашивал. Но за несколько Ваших ответов - так и не понял.
https://cloud.mail.ru/public/3v2z/3PX2JpQHnhttps://cloud.mail.ru/public/3v2z/3PX2JpQHn
HD (177720) disk driver v1.6 2017
SL V08.00 [SW] Сторожевых С.В. 1988
KZ V01.00 (C) ВЦ МИЭТ, НОЯБРЬ 1987
RT-11SB (Y) V05.07
.SET TT FORM
.SET TT SCOPE
.SET EDIT K52
.SET SL ON
.DAY
Время Дата
15:25:28 02-Дек-2020, Среда
.
.ASS HD6 KXX
.ASS HD1 DK
.
@ 143736
@1000/004417 5001
00001002/000001 5002
00001004/001000 60200
00001006/000400 77202
00001010/000000 77103
00001012/047161 0
@1000G
@ 001000
@P
@ 001002
@P
@ 001004
@P
@ 001006
@
"по шагам" - понятно, а как запустить "на прогон"? Это ведь тестик быстродействия и надо засечь время выполнения.
спасибо - начало получаться. Но тест идет слишком долго - надо переделать программку.
программка "эхо", не работает в эмуляторе. Что не так ?
1000/105737
1002/177560
1004/100375
1006/113701
1010/177562
1012/105737
1014/177564
1016/100375
1020/110137
1022/177566
1024/137
Что не так ?
Последняя команда незавершена - JMP @#ничего
А вообще можно сократить:
105737 177560 100375 105737 177564 100375 113737 177562 177566 766
добавил в свою программку в конце 1000, запустил - висит(почему-то). Набрал Вашу - работает. Спасибо.
А вообще можно сократить:
Набрал Вашу - работает. Спасибо.
набил в отладке UKNCBTL )
1000 ИСП - и вперёд ;-)
ЛAТ
@ 1000
001000/ 000000 105737
001002/ 000000 177560
001004/ 000000 100375
001006/ 000000 105737
001010/ 000000 177564
001012/ 000000 100375
001014/ 000000 113737
001016/ 000056 177562
001020/ 000000 177566
001022/ 000000 766
SDFSDFSDFSDFDSFSDFS
я именно про это и написал, вопрос был - почему не работает первая (после добавления адреса начала).
извините, это я напутал, все работает. Спасибо за помощь.
Выложил образ RSX-11M-PLUS V4.6 (https://pdp-11.online/~form/files/pdp-11/dvk/emul/) на эмуляторском HD.
Система включает все изменения, перечисленные здесь (https://zx-pk.ru/threads/28134-kontroller-psevdodiska-na-sd-karte-dlya-dvk-uknts-pdp-11-original-ethernet.html?p=1113574&viewfull=1#post1113574).
Для эмулятора ДВК на данный момент сделано следующее:
добавлена поддержка HD (драйвер DH) с возможностью загрузки/сохранения
добавлена поддержка крэш-драйвера DH
добавлена поддержка автоконфигурации DH
при обнаружении ВМ3 процессора SAV определяет его как 11/23+ независимо от наличия SWR (что позволяет использовать 4088Kb памяти и не наступать на возможные косяки с UNIBUS mapping)
HRC присваивает тип HD11 дискам, подключенным к HD
SYSGEN спрашивает параметры HD если нужно
Для работы требуется прописать в секции HD.INI конфигурационного файла параметр HD_InterfaceType = 3.
Также в секции Booter.ini должна быть отключена горячая загрузка.
Еще обновление RSX-11M-PLUS.
Теперь полная поддержка с автоконфигурацией и crash-драйвером.
Можно "выключить питание", закрыть эмулятор, потом когда нужно опять запустить и "восстановить питание".
Но к сожалению процесс не автоматизирован: чтобы можно было "восстановить питание" требуется в конфиге отключать автозагрузку. Если всегда выключать кнопкой Power прежде чем закрыть эмулятор, то в принципе можно обойтись и без автозагрузки в конфиге :)
http://pdp-11.online/~form/files/pdp-11/dvk/emul/rsxdvk.png
Когда так много терминалов, это уже немёк на DZ :)
Когда так много терминалов, это уже немёк на DZ
Ну отчего же :) Пара четырёх-портовок плюс консольный порт :) Ну и, в принципе, можно ещё и DHV :)
Когда так много терминалов, это уже немёк на DZ
У меня на 11/83 первая карточка терминальная (не считая той что на проце) была DLVJ1 - 4 порта обычных DLV.
Потом появился 4-портовый DZQ, и уже после 8-портовый DHV :)
Здесь сделал вид что DLVJ1 стоит, а "родной" с адресацией не по правилам 176560/360 (его как раз автоконфиг не найдет пока все адреса до него не будут заполнены) зарезервировал под DECnet.
- - - Добавлено - - -
Я еще SWR+DR прицепил чтобы красивостями полюбоваться, а потом вспомнил что это RT-11 в явном виде в DR картинку выводит, а RSX полагается на то, что стоя на команде WAIT унибусный пульт будет показывать последние пересланные данные. Нужно пару команд добавить в SYSXT.MAC чтобы посмотреть как огоньки здесь бегабт :)
Обновление дистрибутива RSX-11M-PLUS V4.6 (http://pdp-11.online/~form/files/pdp-11/dvk/emul/).
В драйверах DA и DH более строго проверяется код функции.
Кроме того во время ожидания "бегающие лампочки" в явном виде показываются через регистр 177570 (если он есть). Базовая система не пересобиралась - в ней лампочки не бегают.
- - - Добавлено - - -
Проведен эксперимент по связыванию эмулятора ДВК по DECnet с SimH через TCP соединение.
Эксперимент удался.
Соединение стабильное, разрывов не наблюдается.
В файле конфигурации SimH v4 нужно настроить порт с ограничением скорости:
set dli enable lines=1
att dli0 2023;notelnet;nomessage,speed=9600
set dlo0 8b
CityAceE
04.06.2021, 08:08
Сообщение от пользователя, который не пожелал регистрироваться на форуме:
Добрый вечер.
Просто не вижу смысла в "клубных" заморочках ради нескольких сообщений.
Вот, например, скачал у вас эмулятор ДВК, просто потому что оказался на вашем сайте:
https://zx-pk.ru/threads/18351-emulyator-dvk.html
Запустил свою программу ТОР (в приложении) - она там еле шевелится, а в оригинале бегает с разной скоростью.
Видимо, не работает функция T1=SECNDS(0.), которая, насколько я помню, считывает текущее количество секунд из таймера и, таким образом, задаёт случайную задержку.
Программа TTSET не устанавливает режимы терминала и т.д.
Но разбираться что там не так и что-то выяснять уже нет ни времени, ни желания.
С уважением, Николай Дергунов
Программа TTSET не устанавливает режимы терминала и т.д.
По тому, что программа выдаёт в справке, видно, что она рассчитана на КЦГД. КЦГД в эмуляторе Патрона нет.
Коллеги, что-то у меня не получается включить эмуляцию перфолент. Взял файл родной default.cfg, скопировал его в ptape.cfg, в нем, вроде-бы, PC прописан и в секции [objects], и есть секция [PC.ini], и изба фигвам - 177550/ - Bus Error. Точно помню, гонял я эмуляцию перфолент, но с каким конфигом - не помню. Сильно подозреваю, что в секции [links]тоже должно быть что-то, относящееся к PC, но там, кроме MediaButton, PC нет. Отсюда вопрос: что делать?
AFZ, По перфолентам- здесь. (https://zx-pk.ru/threads/18351-emulyator-dvk.html?p=801290&viewfull=1#post801290)
Это я видел, но понять из этого что-либо у меня не получилось. Но все же я разобрался. Оказывается, я неправильно запускал эмулятор - я пытался запустить его из командной строки с параметром в виде cfg-файла, он его принимал, но как-то криво. Если же запустить его, как и положено с ярлычка Windows, а потом из меню "Файл" скормить ему новый конфиг, все съедается нормально и работает. Более того, он где-то запоминает этот конфиг и в следующий раз с этого же ярлычка он уже запустится с новым конфигом.
Ссылки на эмуляторы (как свежий так и предыдущие) не работают. Есть какие-либо другие рабочие?
Ссылки на эмуляторы (как свежий так и предыдущие) не работают. Есть какие-либо другие рабочие?
Похоже нововведения браузеров не все одинаково полезны.
Если скопировать ссылку и вставить в отдельном окне - работает.
Вот например http://emulator.pdp-11.org.ru/DVK/distr/DVK_Emulator_24.09.20_14-32.rar.
Думаю проблема решится если я добавлю имя в сертификат TLS для данного сайта.
Чуть позже сделаю.
- - - Добавлено - - -
Перевыпустил сертификат, перенес сайт под TLS, но ссылки на http: не работают - это видимо политика браузеров новая - не разрешить http ссылки из https страницы и наоборот.
Если сделать https ссылку (https://emulator.pdp-11.online/DVK/distr/DVK_Emulator_24.09.20_14-32.rar) - все работает.
Возможно где-то есть настройки браузера по теме, но лень копаться.
Нужно поменять ссылки в теме с http на https.
Если скопировать ссылку и вставить в отдельном окне - работает.
https://emulator.pdp-11.org.ru/DVK/ -- Сообщение: Сайт на реконструкции.
https://emulator.pdp-11.org.ru/DVK/di...9.20_14-32.rar -- Сообщение: Not found
nslookup emulator.pdp-11.org.ru
Address: 8.8.8.8
Не заслуживающий доверия ответ:
Address: 178.205.143.174
Aliases: emulator.pdp-11.org.ru
Сообщение: Not found
Потому что скопирована не ссылка, а текст который вывел сайт "https://emulator.pdp-11.org.ru/DVK/di...9.20_14-32.rar", а настоящая ссылка копируется правой кнопкой мыши и выбором Copy link address (или как его там).
Я же привел рабочую ссылку выше https://emulator.pdp-11.online/DVK/distr/DVK_Emulator_24.09.20_14-32.rar - ее не нужно копировать - она нормально откроется поскольку https.
Если у кого еще есть сайты на pdp-11.org.ru/pdp-11.online, и TLS не подключен - свистните - добавлю.
form, почему-то у меня не открываются ссылки :(
почему-то у меня не открываются ссылки
Сейчас открыл эту ссылку: emulator.pdp-11.org.ru/DVK/distr/ (https://emulator.pdp-11.org.ru/DVK/distr/) - все файлы скачиваются.
Современные бровсеры не любят http ссылок с https страниц, поэтому если ссылка где-то вверху написана как http, нужно просто заменить на https.
Домен emulator.pdp-11.org.ru (и emulator.pdp-11.online - синоним) добавлен в сертификат, сертификат регулярно перевыпускается автоматом.
Можно также вручную скопировать в адресуню строку http ссылку - так сработает, но сервер в итоге переотправит на https.
Сейчас открыл эту ссылку: emulator.pdp-11.org.ru/DVK/distr/ (https://emulator.pdp-11.org.ru/DVK/distr/) - все файлы скачиваются.
Теперь у меня тоже работает.
Здравствуйте! Пытаюсь составить конфиг для вашего эмулятора ДВК, что-то пока не очень выходит. Не сможете помочь?
Идея такая - точно как конфиг ДВК-3, только не встроенный терминал, а вывод на IP или COM порт.
Каналы передачи данных в эмуляторе могут разветвляться/объединяться без ограничений, поэтому можно оставить терминал как есть и просто подключить к тем же входному и выходному каналам ещё и IP/COM порт. Если хочется лишить себя возможности вводить байты с локальной клавиатуры - можно подключить локальный терминал только к выходному каналу, чтобы "параллельно" видеть, что именно сервер отправляет в порт. Также к любым каналам можно "параллельно" подключать консоль в одном из режимов "дампа" и получать (например) полный дамп байтов, приходящих в роли "данных клавиатуры" во входной канал из IP/COM порта.
Делается это в три этапа.
1. На первом этапе нужно создать интересующий объект, добавив строку создания объекта в секцию конфига [objects].
Для тренировки - создадим консоль, которая будет потом в режиме дампа показывать всё, что мы набираем на клавиатуре локального терминала.
[objects]
Con2 = Ядро:Console
Con2 - это имя экземпляра объекта, которое должно быть уникальным. Поэтому, если в дальнейшем нам пондобятся в этом конфиге ещё консоли - надо будет придумать для них другие уникальные имена (например: Con3, Con4 и т.д.).
2. На втором этапе нужно задать настройки объекта в секции конфига с именем этого объекта.
Как только мы первый раз откроем в эмуляторе конфиг, создающий заказанный нами новый экземпляр консоли - этот экземпляр сам при создании разместит в конфиге секцию со своим именем, куда сам запишет все свои настраиваемые параметры со значениями по-умолчанию. Но никто не мешает при добавлении нового объекта в конфиг сразу добавить и секцию настроек этого объекта.
[Con2.ini]
TabTitle = "Byte Dump"
InitialStateOf[StatusBar] = 0
SaveChangesFor[StatusBar] = 0
InitialStateOf[ControlBar] = 0
SaveChangesFor[ControlBar] = 0
InitialStateOf[Log]=0
SaveChangesFor[Log]=0
DumpMode=3
SeparateWindow_X0_px=0
SeparateWindow_Y0_px=0
SeparateWindow_DX_px=800
SeparateWindow_DY_px=600
InitialStateOf[SeparateWindow]=0
SaveChangesFor[SeparateWindow]=1
PrinterMode=0
Old_Logs_Mode=0
Подробнее про режимы дампа консоли можно посмотреть ЗДЕСЬ (https://zx-pk.ru/threads/18351-emulyator-dvk.html?p=562746&viewfull=1#post562746).
3. На третьем этапе нужно подключить новый объект к другим объектам эмулятора, добавив строку (или строки) подключения в секцию конфига [links].
Для получения дампа ввода с локального терминала, создаваемого в конфиге ДВК-3.cfg - добавления в конфиг будут следующими:
[links]
VT52 > Con2
Если теперь загрузить конфиг в эмуляторе и после начала эмуляции нажать один раз ввод, то содержимое окна локального терминала будет таким:
https://emulator.pdp-11.org.ru/pics/DVK3_1.png
А содержимое окна добавленной нами консоли будет таким:
https://emulator.pdp-11.org.ru/pics/DVK3_2.png
Отредактированный конфиг: ДВК-3+.cfg.zip (https://emulator.pdp-11.org.ru/misc/ДВК-3+.cfg.zip)
Теперь создадим объект для работы с COM-портом и подключим его ко входному и выходному каналам терминального порта эмулируемой ДВК.
1. Создаём объект ComPort.
[objects]
ComPort = Ядро:Terminal_ComPort_Adapter
2. Задаём настройки COM-порта.
[ComPort.ini]
PortName="COM5"
InitialStateOf[ShowPortUse]=1
SaveChangesFor[ShowPortUse]=1
InitialStateOf[StopReading]=0
SaveChangesFor[StopReading]=0
MinimalBreakTime_MKS=3000
Остальные настройки COM-порта находятся в файле Terminal_ComPort_Adapter.ini и любая из них может быть переназначена прямо в секции настроек объекта в конфиге.
3. Подключаем COM-порт к эмулируемому порту терминала.
[links]
TerminalPort <=> ComPort
Теперь COM-порт подключен полностью параллельно локальному терминалу.
Переключим консоль с дампом на ввод из COM-порта:
[links]
ComPort > Con2
Отредактированный конфиг: ДВК-3++.cfg.zip (https://emulator.pdp-11.org.ru/misc/ДВК-3++.cfg.zip) (в том же архиве есть конфиг COM_4.cfg для "проверки связи" через виртуальную пару портов COM5-COM4, который нужно загрузить в отдельном эмуляторе терминала).
https://emulator.pdp-11.org.ru/pics/DVK3_3.png
Видно, что эмулятор превратился в сервер и слушает порт COM5.
То же самое можно сделать и для IP-портов.
Вариант конфигов сервера и клиента для связи через порт 8023: ДВК-3+++.cfg.zip (https://emulator.pdp-11.org.ru/misc/ДВК-3+++.cfg.zip)
Patron, Огромнейшее СПАСИБО за столь ёмкий и подробный ответ!!!!
А можете добавить функцию передачи бинарного файла в консоль без ожидания @ отдельной кнопкой
А можете добавить функцию передачи бинарного файла в консоль без ожидания @ отдельной кнопкой
Это уже обсуждалось, должен быть на другой стороне функционал, который его примет, а его нет
У процессора м2 вшит этот функционал набираем 177560L и все можно скармливать absloader следо программу в lda формате
На процессоре 1801вм* нажимает L с опущенным пультом и меняем последнюю ячейку ОЗУ 157776 на 177560 поднимаем пульт и нажимаем P
У процессора м2 вшит этот функционал набираем 177560L и все можно скармливать absloader следо программу в lda формате
На процессоре 1801вм* нажимает L с опущенным пультом и меняем последнюю ячейку ОЗУ 157776 на 177560 поднимаем пульт и нажимаем P
Очень интересно, я про такое не знал.
Для проверки - сделал вариант перфоввода, который не на шину садится, а отправляет двоичное содержимое выбранного файла в байтовый канал. Всё заработало, но вылезла небольшая проблема - перфоленточный загрузчик берёт из LDA-файла информацию о длине данных и загружает с ленты ровно столько данных, сколько там указано, поэтому в конце перфолент дековцы взяли моду набивать дополнительную информацию, которая при создании образов перфолент попадает в эти образы. Поэтому, чтобы образы перфолент годились для "слепой загрузки через порт терминала" - их нужно подрезать.
Например, если через порт терминала загружать комплектный образ перфоленточного Бейсика - получается так:
@L 157744
@157776/177550 177560
@P 157500
@P
PDP-11 BASIC, VERSION 007A
*O B$$BB$$BB$$BL\
А если отрезать у образа последний блок - получается так:
@L 157744
@157776/177550 177560
@P 157500
@P
PDP-11 BASIC, VERSION 007A
*O
И когда после старта Бейсика нажимаем <Enter> - у родного образа Бейсик думает, что мы хотим выбрать опции:
@L 157744
@157776/177550 177560
@P 157500
@P
PDP-11 BASIC, VERSION 007A
*O B$$BB$$BB$$BL\
DO YOU NEED THE EXTENDED FUNCTIONS?
HIGH-SPEED READER/PUNCH?
SET UP THE EXTERNAL FUNCTION?
MEMORY?
READY
А у подрезанного образа - результат получается как при загрузке ленты через родной перфоввод:
@L 157744
@157776/177550 177560
@P 157500
@P
PDP-11 BASIC, VERSION 007A
*O
READY
перфоленточный загрузчик берёт из LDA-файла информацию о длине данных и загружает с ленты ровно столько данных, сколько там указано
Не скажу за вышеуказанный загрузчик (но подозреваю, что ведёт себя так же), но,..
Уточнения
Вводная часть
Формат абсолютного загрузчика (тот самый LDA) - это некоторое количество записей. Структура записи - слово-заголовок (фиксированно - 1, а по байтово - 0 и 1), слово-счетчик байт, слово-адрес загрузки, байты (без проблем может быть нечетное количество), байт контрольной суммы. В счетчик входят - заголовок, сам счётчик и адрес загрузки, но не входит контрольная сумма - то есть количество байт данных - это счётчик-6.
Но есть нюансы.
Если счётчик равен шести - это запись о стартовом адресе (может быть нечётным - традиционно - 1, тогда будет останов, с выходом в пульт, если он есть).
Если счётчик равен пяти (по документации, реально я таких файлов пока не видел и вроде как стандартный absloader это не поймёт) - адрес будет в один байт и там будут содержаться биты 16 и 17 (вроде, в битах 0 и 1) адреса - для загрузки больше 64 кб (понятно, пойдёт в расширенную) или (просто) в расширенную память.
Про absloader
Absloader написан так, что он грузит данные, пока не дойдет до записи с длиной 6 байт, после чего переходит (или не переходит, если адрес нечётный) по адресу из этой записи, а остаток ленты, соотвественно - absloader-ом просто игнорируется.
Из замеченного - перед заголовком или после байта контрольной суммы может идти сколько угодно нулей (главное, что бы был считан хотя бы один нулевой байт) - они просто игнорируется, пока не попадём на байт, равный 1.
И я встречал варианты LDA файлов, которые разные по длине, но если очистить вот от этих лишних нулей - будут один в один. Поэтому в DisAsm-11 неожиданно (он не планировался, но остался от исследований) получился функционал - он создаёт "очищенный" вариант LDA файла, в котором нет этих нулей и - нет хвоста файла за стартовой записью.
Ну и DisAsm-11 не обрабатывает запись с длиной 5 - пока не понятно - чего с ней и как - в доках очень краткий абзац на эту тему. Попадётся или кто пришлёт - тогда и посмотрим - чего там :)
- - - Добавлено - - -
Вдогонку. Посмотрел по исходника - уточнение - DisAsm-11 создаёт "очишенный" LDA - если что то удалось почистить - то есть или встретились "лишние" нули или за стартовой записью что-то было :)
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_04.09.22_00-03 (https://emulator.pdp-11.org.ru/DVK/distr/DVK_Emulator_04.09.22_00-03.rar)
Изменения:
1. В модуль Main_module.em добавлен объект BinSender, позволяющий отправить двоичное содержимое любого файла размером до 128 Кб в байтовый канал (в терминальный порт эмулятора, в IP-порт или COM-порт). Если установить для состояния Load этого объекта начальное значение 1 - отправка файла будет начинаться сразу после выбора образа файла в меню кнопки подключения образов.
[BinSender.ini]
InitialStateOf[Load] = 1
Это позволяет не использовать отдельную интерфейсную кнопку для отправки подключенного файла, хотя создать и использовать такую дополнительную кнопку при желании можно.
После начала отправки файла - прервать отправку или узнать о состоянии отправки невозможно, поэтому при отправке крупных образов перфолент по медленным каналам - нужно набраться терпения и понимать, что происходит.
2. Пример использования объекта BinSender добавлен в файл конфигурации default.cfg. Добавлен файл конфигурации ДВК-1_MX40+PC.cfg, позволяющий потренироваться в запуске перфолент на ДВК-1 как через штатный перфоввод, так и через порт терминала.
3. Образы перфолент в каталоге Paper Tapes\ заменены на совместимые с загрузкой через порт терминала.
После начала отправки файла - прервать отправку или узнать о состоянии отправки невозможно, поэтому при отправке крупных образов перфолент по медленным каналам - нужно набраться терпения и понимать, что происходит.
Если добавить в настройки BinSender > Dump для просмотра, разве не поможет?
так и через порт терминала.
Для этого нужен загрузчик типа DD.
Если добавить в настройки BinSender > Dump для просмотра, разве не поможет?
У адаптеров IP- и COM-портов в эмуляторе безразмерные буфера, куда они "мгновенно проглатывают" любые наборы байтов от объектов эмулятора из откуда уже по прерываниям передают через порты.
Для этого нужен загрузчик типа DD.
Имелось в виду - запустить на ДВК-1 или ДВК-2 любую программу из образа перфоленты.
Например, запуск перфоленточного Бейсика на ДВК-1 через порт терминала выглядит так:
1. Набрать в пульте (при выключенном таймере) команду "177560L" :
https://emulator.pdp-11.org.ru/pics/BIN-1.png
2. Выбрать в меню подключения образов для устройства BIN образ "Paper Tapes\LSI-11-AbsLoader.bin" :
https://emulator.pdp-11.org.ru/pics/BIN-2.png
3. Нажать на клавиатуре клавишу <P> :
https://emulator.pdp-11.org.ru/pics/BIN-3.png
4. Выбрать в меню подключения образов для устройства BIN образ "Paper Tapes\DEC-11-AJPB-PB.bin", после чего через 10 секунд запустится загруженный из образа перфоленты Бейсик :
https://emulator.pdp-11.org.ru/pics/BIN-4.png
==========
Нужно отметить, что при запуске перфолент через устройство PC - порядок действий должен быть другим. Надо сначала выбирать образ ленты для устройства PC и только после этого вводить команды с клавиатуры. Т.е. сначала подключить "Paper Tapes\LSI-11-AbsLoader.bin" к PC, потом набрать с клавиатуры "177560L", затем после появления приглашения пульта - сначала подключить к PC образ "Paper Tapes\DEC-11-AJPB-PB.bin" и только потом нажать клавишу <P>.
2. Выбрать в меню подключения образов для устройства BIN образ "Paper Tapes\LSI-11-AbsLoader.bin" :
Выбираю.
@177560L 157500
@
157502/024646
157504/010705
157506/062705 м
халт инструцтион
ю
157510/000112 м
халт инструцтион
юб
¤Е
юб
¤%
юм
халт инструцтион
юю
000112/000000
000114/177777 ю
177777/
бус еррор
юб
¤
ю7м
халт инструцтион
юм
халт инструцтион
И всё, дальше не реагирует.
И всё, дальше не реагирует.
Когда я готовил предыдущее сообщение - у меня почти так же получилось, но примерно через 15 секунд раздумий я понял, что пропустил пункт 3 - ПОСЛЕ появления промпта пульта @ и ДО выбора образа перфоленты с Бейсиком - нужно нажать на клавиатуре "P".
Когда я готовил предыдущее сообщение - у меня почти так же получилось, но примерно через 15 секунд раздумий я понял, что пропустил пункт 3 - ПОСЛЕ появления промпта пульта @ и ДО выбора образа перфоленты с Бейсиком - нужно нажать на клавиатуре "P".
К чему это сообщение? Я не доходил до пункта 3.
Я не доходил до пункта 3.
Когда на экране появился адрес останова 157500 и промпт пульта @ - это означает, что весь код абсолютного загрузчика считан из порта терминала в память подпрограммой выполнения команды L пульта. Когда я грузил через порт терминала необрезанный образ перфоленты - следом продолжали сыпаться передаваемые в порт терминала не относящиеся к делу завершающие байты из образа ленты. Но когда я обрезал образ ленты загрузчика до 406 байт, после выхода команды L в пульт - дополнительного мусора уже не приходило.
Мы видим, что команда пульта L штатно загрузила все байты абсолютного загрузчика и штатно вышла в пульт. Если после этого ничего не сыпется в порт терминала - как вообще может что-то происходить, ведь для этого на вход пульта из порта терминала должны поступить ещё какие-то байты..
Когда на экране появился адрес останова 157500 и промпт пульта @ - это означает, что весь код абсолютного загрузчика считан из порта терминала в память подпрограммой выполнения команды L
Тогда зачем абсолютный загрузчик загружать повторно? У меня выходит на адрес останова сразу после ввода 177560L.
- - - Добавлено - - -
и штатно вышла в пульт.
Не совсем, нет перевода строки.
@177560L 157500
@
- - - Добавлено - - -
Это относится к кофигурации ДВК-2, в кофигурации ДВК-1 удалось загрузить Бейсик.
Это относится к кофигурации ДВК-2, в кофигурации ДВК-1 удалось загрузить Бейсик.
Для ДВК-2 надо сначала при нажатой кнопке "Пульт" нажать L, потом изменить содержимое памяти прошивки, затем продолжить выполнение прошивки командой P и лишь потом перейти к пункту 2 "методички загрузки перфоленты" :
@L 157744
@157776/177550 177560
@P 157500
@P
PDP-11 BASIC, VERSION 007A
*O
затем продолжить выполнение прошивки командой P и лишь потом перейти к пункту 2 "методички загрузки перфоленты" :
Перед P отжать кнопку "Пульт".
Да работает.
Но для реальной ситуации это годится только где есть контроллер перфоввода. Без него на команду L будет сообщение DEVICE,S NOT AVAILABLE. Как вариант 1801ВП1-033 можно перевести на адрес 177550 и вектор 70.
Или с отжатым пультом нажать L потом в верхнем адресе ОЗУ 157776 поменять значение на 177560 и нажать Р загрузка будет через порт терминала
Или с отжатым пультом нажать L потом в верхнем адресе ОЗУ 157776 поменять значение на 177560 и нажать Р загрузка будет через порт терминала
Думаю - это потому так, что в эмулируемой конфигурации не только присутствует на шине порт устройства PC, но к нему изначально подключен образ ленты абсолютного загрузчика. Поэтому если при эмуляции ДВК-2 в такой конфигурации просто нажать L - прошивка загрузит уже подключенный образ с кодом абсолютного загрузчика через штатный перфоввод.
Но для реальной ситуации это годится только где есть контроллер перфоввода. Без него на команду L будет сообщение DEVICE,S NOT AVAILABLE.
Действительно, если на шине ДВК-2 не отвечает адрес 177550 - заставить прошивку грузить перфоленту через порт терминала не выйдет:
@L DEVICE'S NOT AVAILABLE
@157776/154472
Но если повесить на единственный адрес шины 177550 доступное по чтению фиктивное устройство эмулятора CPUCSR - команда L перестаёт ругаться и можно патчить память и грузить перфоленту:
[objects]
CPUCSR = CPU_module:CPUCSR
[links]
bus & CPUCSR
[CPUCSR.ini]
CPUCSR_Address = 0177550
@L 157744
@157776/177550 177560
@P 157500
@P
PDP-11 BASIC, VERSION 007A
*O
Поэтому если при эмуляции ДВК-2 в такой конфигурации просто нажать L - прошивка загрузит уже подключенный образ с кодом абсолютного загрузчика через штатный перфоввод.
Именно так и произошло, потому при запуске эмулятора втихаря подключается образ ленты не смотря на то что в предыдущий раз образа не было.
Я закомментировал в настройках PC0 = Paper Tapes\LSI-11-AbsLoader.bin
Но если повесить на единственный адрес шины 177550 доступное по чтению фиктивное устройство эмулятора CPUCSR - команда L перестаёт ругаться и можно патчить память и грузить перфоленту:
Это излишне. В реале я переключил SA1.7 и SA1.8 и получил адрес перфоввода и перфоратора на МС1201.02
Например, запуск перфоленточного Бейсика на ДВК-1 через порт терминала выглядит так:
Для альтернативной прошивки 055alt такой метод годится.
Патрон здравствуйте.
Но если повесить на единственный адрес шины 177550 доступное по чтению фиктивное устройство эмулятора CPUCSR
Я бы попросил сделать регистр 177546 с отключением сетевого таймера, как это делает плата СМ1. Такая возможность давала бы удаленно отключать таймер если это необходимо. Например для загрузки перфоленты.
Спасибо.
***
В реале получается так:
Включаем ДВК в составе которого плата СМ1.
Включаем кнопку таймер.
Далее-
@T4
*** ТЕСТ ТЕРМИНАЛА ***
ВВЕДИТЕ СЛЕДУЮЩИЕ СИМВОЛЫ:
1 2 3 4 J C U K
ПРОВЕРКА ОКОНЧЕНА
@177546/000000 100
@T4
*** ТЕСТ ТЕРМИНАЛА ***
ВВЕДИТЕ СЛЕДУЮЩИЕ СИМВОЛЫ:
1 2 3 4 J C U K
1 2 3 4 000404
@177546/000000 0
@T4
*** ТЕСТ ТЕРМИНАЛА ***
ВВЕДИТЕ СЛЕДУЮЩИЕ СИМВОЛЫ:
1 2 3 4 J C U K
ПРОВЕРКА ОКОНЧЕНА
Одна особенность платы СМ1 (а точнее платы М6) в том что плате М6 для запуска необходим таймер. Даже если инвертировать функцию регистра, т.е. при включении по умолчанию таймер будет разрешён, то при запрете (запись в регистр) обратно будет не вернуть, процессор М6 остановится.
Что касается эмулятора то процессорным платам не требуется наличие таймера для запуска. Однако приоритет кнопки Таймер думаю определить так:
Запуск эмулятора видимо придется сделать с записью в регистр 177546. Далее если кнопка Таймер включена горит зелёным цветом. При этом если очистить регистр 177546 (запрет таймера) то кнопка остается нажатой но загорается жёлтым цветом и меняется название кнопки "Таймер откл.". Если кнопку отжать и нажать заново то загорается зелёным и происходит теневая запись в регистр 177546. В реале конечно такого нет, но этот вариант как компромисс между нажатой кнопкой и регистром.
Или сделать кнопку не фиксируемой. Просто меняет цвет и статус, повторное нажатие даёт зелёный и запись в регистр.
Разумеется это только для той конфигурации эмулятора где есть BDV11.
Одна особенность платы СМ1 (а точнее платы М6) в том что плате М6 для запуска необходим таймер.
Возможно, при использовании СМ1 (BDV11), но самому М6 таймер вроде как по барабану - я его запускал и грузил без таймера
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_16.10.22_18-03 (https://emulator.pdp-11.org.ru/DVK/distr/DVK_Emulator_16.10.22_18-03.rar)
Изменения:
1. Объекту MS7004_Converter добавлен параметр LK201_Mode со значением по-умолчанию 0. Пример - в файле конфигурации MS7004_Converter.cfg. Для подключения клавиатуры LK201 - значение параметра нужно изменить на 1:
[MS7004_Converter.ini]
LK201_Mode = 1
Релиз эмулятора обновлён. Исправлена ошибка - при замене таблицы скан-кодов МС7004 для LK201 была пропущена буква "L".
Мне кажется, не совсем удачное поведение эмулятора, если привязывать HD к абсолютному пути, но без имени устройства, то есть вида \Dir1\Dir2 (как и \Dir1\Dir2\). Эмулятор добавляет в начало каталог, где располагается pdp11.exe (вроде) и получается фигня. Лучше или просто использовать путь как есть или добавлять только имя устройства, где располагается pdp11.exe или имя устройства от текущего (при запуске pdp11.exe) каталога
- - - Добавлено - - -
И вот в этом куске кода из драйвера HD пятой версии ошибка:
10$:
.IF EQ MMG$T
Mov (R2)+, 2(R3) ; Load data word from user buffer
.IFF
Call @$GTBYT ; Get even byte
Mov (SP)+, (PC)+
Word: .Byte 0
Byte1: .Byte 0
Call @$GTBYT ; Get odd byte
MovB (SP)+, Byte1
Mov Word, 2(R3) ; Send word to device
.ENDC
Судя по всему, надо так:
.ENABL LSB
10$:
.IF EQ MMG$T
Mov (R2)+, 2(R3) ; Load data word from user buffer
.IFF
Call @$GTBYT ; Get even byte
Mov (SP)+, (PC)+
Word: .Byte 0
Byte1: .Byte 0
Call @$GTBYT ; Get odd byte
MovB (SP)+, Byte1
Mov Word, 2(R3) ; Send word to device
.ENDC
.DSABL LSB
Мне кажется, не совсем удачное поведение эмулятора, если привязывать HD к абсолютному пути, но без имени устройства, то есть вида \Dir1\Dir2 (как и \Dir1\Dir2\). Эмулятор добавляет в начало каталог, где располагается pdp11.exe (вроде) и получается фигня.Согласен.
И вот в этом куске кода из драйвера HD пятой версии ошибка
В драйвере для контроллера HD v4 - такая же ошибка. В драйверах для контроллеров v1, v2 и v3 ошибки нет.
Согласен.
Если получится поправить - будет супер :) Заранее спасибо!
В драйвере для контроллера HD v4 - такая же ошибка.
Там не смотрел :) Да и, как оказалось по результатам своих проверок, V5 мне не подошла, остался на V2, а там при сборке ошибки не вылезло - то есть да, ошибки нет
- - - Добавлено - - -
или имя устройства от текущего (при запуске pdp11.exe) каталога
Мне кажется, вот этот вариант будет оптимальным - достаточно часто запускаю pdp11 по абсолютному пути с другого диска
- - - Добавлено - - -
Кстати, путь вида ..\dir\file проходит без проблем, но тут точно добавляется имя диска, где расположен pdp11.exe.
И тут тоже мне видится, что более правильным будет добавление диска с текущего пути.
Тогда в эмуляторе нужно сделать переменную WorkPath, в которой хранить абсолютный путь к рабочей папке, из которй был запущен эмулятор с абсолютным путём из другого места. И уже к ней добавлять всякие относительные пути типа \Dir1\Dir2 или "..\Dir1\Dir2"
И уже к ней добавлять всякие относительные пути типа \Dir1\Dir2
Такой вариант - нет, здесь надо добавлять только букву дисковода.
- - - Добавлено - - -
Вопрос возник из такого сценария - у меня два диска, на одном - рабочее, на втором - копия, куда я периодически сбрасываю с рабочего. Но иногда запускаю и с копийного. И вот что бы не править абсолютный путь... Оставить только \Dir1\Dir2 - без буквы. И обломался..
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_22.08.23_16-43 (https://emulator.pdp-11.org.ru/DVK/distr/DVK_Emulator_22.08.23_16-43.rar)
Изменения:
1. Исправлена ошибка в исходниках драйверов контроллеров HD v4 и HD v5. Исправленные варианты находятся в каталогах "HD Sources\v4.1\" и "HD Sources\v5.1\".
2. Теперь, если любой записанный в файле конфигурации путь начинается с символа "\" - при подключении ресурса в начало пути будет добавлена буква локального диска или адрес сетевого ресурса, откуда загружен конфиг.
Например, если подключение устройств HD в конфиге описано так:
[HD.ini]
HD0 = HDSYS.DSK
HD1 = WorkDir\
HD2 = \FTP\
HD3 =
HD4 =
HD5 =
HD6 =
HD7 =
То при загрузке такого конфига из любого каталога на устройстве "G:" - к приводу HD2 будет подключена папка "G:\FTP\", а при загрузке этого же конфига из любого каталога сетевого диска с адресом "\\E2180\g" - к приводу HD2 будет подключена папка "\\E2180\g\FTP\".
СУПЕР!!!! СПАСИБО БОЛЬШОЕ!!
А можете расширить допустимую зону ОЗУ до 173776?
А можете расширить допустимую зону ОЗУ до 173776?
Сейчас для ДВК-1 и ДВК-2 поддерживается максимальный размер ОЗУ 60 Кб, т.е. до адреса 167776. С адреса 173000 начинается ПЗУ загрузчика, поэтому дальше адреса 172776 ОЗУ не расширить. Можно добавить настройки "RAM_Size_Kb = 61" (с верхним адресом 171776) и "RAM_Size_Kb = 62" (с верхним адресом 172776), но есть ли в этом практический смысл?
Я просто изучаю одну замудреную систему где на шине с 170000 до 173776 висит окно шины другой pdp-11 машины (адаптер мержпроцессорный) хотелось бы чтобы я мог эмулировать это окно для анализа кода программы
Я просто изучаю одну замудреную систему где на шине с 170000 до 173776 висит окно шины другой pdp-11 машины (адаптер мержпроцессорный) хотелось бы чтобы я мог эмулировать это окно для анализа кода программы
Тогда лучше использовать отдельное устройство с таким диапазоном адресов на шине.
В прилагаемом архиве: BusRegion_module_v1.rar (https://emulator.pdp-11.org.ru//misc/BusRegion_module_v1.rar) находится модуль BusRegion_module.em, позволяющий создавать при эмуляции объекты типа BusRegion, эмулирующие на шине области ОЗУ любого размера, начиная с любого адреса.
Пример использования - в файле конфигурации: DisAsm - VM2 - BusRegion.cfg. Для правильной загрузки данного конфига - файл конфигурации и файл модуля BusRegion_module.em должны находиться в основном каталоге эмулятора.
SuperMax
13.04.2024, 14:42
возможно баг
версию пробовал 0.97k
также взял сборку
DVK_Emulator_22.08.23_16-43 (0.97p)
при выборе в меню любого конфига эмулятор закрывается
винда-10ка 64 бита
у меня любой конфиг нормально открывается в версии DVK_Emulator_22.08.23_16-43 (0.97p)
также использую виндовс 10 professional х64
0.97p, 0.97o на Windows 2022 - никаких проблем
Patron, скажите пожалуйста, не заброшен ли ваш эмулятор ?
прошло уже больше года а новых выпусков нет.
не хотелось бы чтоб данный проект исчез.
прошло уже больше года, а новых выпусков нет.
не хотелось бы чтоб данный проект исчез.
В смысле не "исчез", а "заглох". Конечно, не хотелось бы.
Недавно я даже обновил toolchain с VS2005 на VS2010. Оказалось, что VS2010 даёт самый быстрый (на моих компах) код - на 10% быстрее VS2012 и VS2013, на 15% быстрее VS2015 и на 20% быстрее VS2017 и VS2019.
Но если начинать что-то программировать - логичнее сначала добавить в DSK-плагин поддержку образов всех оставшихся операционок PDP-11 (RSX, RSTS/E, DEMOS, LSX, Unix v1-v7, ULTRIX, System III, System V, BSD v1-v4).
Недавно я даже обновил toolchain с VS2005 на VS2010. Оказалось, что VS2010 даёт самый быстрый (на моих компах) код - на 10% быстрее VS2012 и VS2013, на 15% быстрее VS2015 и на 20% быстрее VS2017 и VS2019.А на сколько %% медленнее чем VS2008 и VS2005?
А на сколько %% медленнее чем VS2008 и VS2005?
VS2008 мне лень было проверять, а результат компиляции VS2005 работает на моих компах примерно на 5% медленнее, чем у VS2010.
Получается примерно такое распределение результатов компиляции по скорости работы:
VS2010 - 100%
VS2005 - 95%
VS2012 - 90%
VS2013 - 90%
VS2015 - 85%
VS2017 - 80%
VS2019 - 80%
Получается примерно такое распределение результатов компиляции по скорости работы:Получается одно из 2-х:
или все ваши компы - уровня 2010-го;
или после 2010-го - компиляторы VS не улучшаются, а деградируют.
;)
или после 2010-го - компиляторы VS не улучшаются, а деградируют.
Можно проверить.
Вот ссылки на эмулятор RT-11, откомпилированный разными версиями VS:
rt11_vs2019 (https://emulator.pdp-11.org.ru/misc/rt11_vs2019.zip)
rt11_vs2015 (https://emulator.pdp-11.org.ru/misc/rt11_vs2015.zip)
rt11_vs2012 (https://emulator.pdp-11.org.ru/misc/rt11_vs2012.zip)
rt11_vs2010 (https://emulator.pdp-11.org.ru/misc/rt11_vs2010.zip)
Можно сделать текстовый файл с именем dhry.com, содержащий:
DHRY
DHRY
DHRY
DHRY
DHRY
Скопировать в каталог с этим файлом exe-файлы эмулятора из архивов и запустить их все по очереди командами типа:
rt11_vs2019.exe @dhry >dhry_2019.txt
rt11_vs2015.exe @dhry >dhry_2015.txt
rt11_vs2012.exe @dhry >dhry_2012.txt
rt11_vs2010.exe @dhry >dhry_2010.txt
После каждого запуска появится пустое окно консоли Windows, которое повисит минуту, пока эмулятор выполняет тесты DHRY, а потом окно консоли закроется и в каталоге появится файл с результатами теста.
shattered
04.10.2024, 18:41
Получается одно из 2-х:
или все ваши компы - уровня 2010-го;
или после 2010-го - компиляторы VS не улучшаются, а деградируют.
любопытно, какие оптимизации включены/выключены
любопытно, какие оптимизации включены/выключены
У всего солюшена:
Use Link Time Code Generation
У проекта эмулятора команд:
Full Optimization (/Ox)
Any Suitable (/Ob2)
No
Favor fast code (/Ot)
Yes (/Oy)
No
Yes (/GL)
У проекта библиотеки:
Maximize Speed (/O2)
Any Suitable (/Ob2)
Yes (/Oi)
Favor fast code (/Ot)
Yes (/Oy)
No
No
Если у библиотеки изменить последний пункт оптимизации на "Yes (/GL)" - программа собирается без проблем, но сразу после запуска молча завершается.
shattered
05.10.2024, 13:30
дальше путь в профайлер, видимо?
может быть, оптимизатор стал генерить неудачный код для моделей процессоров, которые у вас есть
может быть, оптимизатор стал генерить неудачный код для моделей процессоров, которые у вас есть
Можно проверить.
Вот ссылки на эмулятор RT-11, откомпилированный разными версиями VS:
rt11_vs2019 (https://emulator.pdp-11.org.ru/misc/rt11_vs2019.zip)
rt11_vs2015 (https://emulator.pdp-11.org.ru/misc/rt11_vs2015.zip)
rt11_vs2012 (https://emulator.pdp-11.org.ru/misc/rt11_vs2012.zip)
rt11_vs2010 (https://emulator.pdp-11.org.ru/misc/rt11_vs2010.zip)
Можно сделать текстовый файл с именем dhry.com, содержащий:
DHRY
DHRY
DHRY
DHRY
DHRY
Скопировать в каталог с этим файлом exe-файлы эмулятора из архивов и запустить их все по очереди командами типа:
rt11_vs2019.exe @dhry >dhry_2019.txt
rt11_vs2015.exe @dhry >dhry_2015.txt
rt11_vs2012.exe @dhry >dhry_2012.txt
rt11_vs2010.exe @dhry >dhry_2010.txt
После каждого запуска появится пустое окно консоли Windows, которое повисит минуту, пока эмулятор выполняет тесты DHRY, а потом окно консоли закроется и в каталоге появится файл с результатами теста.
to be continued ?
Пока желающих не нашлось.
Прогнал серию тестов быстродействия (https://zx-pk.ru/threads/18351-emulyator-dvk.html?p=1204637&viewfull=1#post1204637) на процессоре i3 8100T.
Самый быстрый (с большим отрывом от конкурентов) код по-прежнему оказался у результата компиляции VS2010.
Коллеги, извините за некропостинг, прочитал большую часть из 184 страничек этой темы и устал :)
Объясните пожалуйста, как правильно настроить кнопку NUMLOCK чтобы она работала как GOLD в K52 ?
Я по всякому менял параметры, относящиеся к NUMLOCK, добился странной ситуации, что индикатор
на клавиатуре PC хаотично мигает пока запущен эмулятор...
Подскажите доку ?
kibertorm
22.12.2025, 07:58
Пытаюсь запустить игру КОТ на PDP-11 в SIMH
Использую SIMH с поддержкой ДВК:
https://github.com/shattered/simh/tree/simh-dvk
(на оригинальном такая же ошибка)
;v1:
set CPU 11/23+
set CPU 256K
---
;v2:
set LPT disable
set DZ disable
set cpu 11/23 256k cis idle
---
SET RL ENABLE
ATTACH RL0 rl0.dsk
SET RK ENABLE
ATTACH RK games.dsk
BOOT RL0
Образы дисков:
http://astio.ciotoni.net/tetris/rl0.dsk
http://astio.ciotoni.net/tetris/games.dsk
Загружаюсь в RT-11, дальше пытаюсь запустить игру так:
.run rk:cat.sav
Получаю ошибку:
?MON-F-Trap to 4 015406
как правильно запустить игру?
По адресу 15400 идет обращение в регистру 177716. Насколько я помню - это регистр есть в УКНЦ (что-то связанное со звуком), так что игра расчитана на запуск на УК-НЦ.
как правильно запустить игру?
Эта игра предназначена для БК-0011М с ОС БК-11.
Объясните пожалуйста, как правильно настроить кнопку NUMLOCK чтобы она работала как GOLD в K52 ? Для этого в конфиге в секции [VT52.ini] нужно добавить параметр Use_NumLock_as_PF1=1 :
[VT52.ini]
TabTitle=""
Use_NumLock_as_PF1 = 1
nFocusOnFirstOutput = 1
CURSOR_Y_START_% = 85
ANSI_STR_FOR_KEY[F12] = "f12 "
Если теперь запустить BASIC.SAV и после появления приглашения READY нажать <NumLock>, то результат будет такой:
.BASIC
BASIC-11/RT-11 V02-03Y
OPTIONAL FUNCTIONS (ALL, NONE, OR INDIVIDUAL)?
READY
$P
Подскажите доку ?
Настройки клавиатуры (https://zx-pk.ru/threads/18351-emulyator-dvk.html?p=476600&viewfull=1#post476600).
Patron, Спасибо за ответ. Поставил Use_NumLock_as_PF1 = 1, остальные настройки из дистрибутива не трогал.
Еще такой вопрос:
Запускаю эмулятор, горит индикатор CAPS LOCK.
В этот момент включен верхний регистр заглавные буквы, при нажатом SHIFT (правым) вводятся маленькие буквы.
НО! Не набирается например ";"
При отпускании SHIFT дальше вводятся заглавные буквы.
Теперь запускаю K52 и поведение меняется.
Левый и правый SHIFT при одиночном нажатии работают подобно переключателю CAPS LOCK, левый SHIFT- верхний регистр,
правый SHIFT - нижний регистр, меняется индикация на клавиатуре.
При нажатии SHIFT в K52 одновременно с буквой - поведение другое: временно менятся регистр, состояние не фиксируется,
индикатор CAPS LOCK не изменяется.
Обычно пишу на асме большими буквами, для коментов надо иногда вводить ";"
Но никак не приноровиться к поведению клавиатуры, переключение регистров непредсказуемое :(
Не набирается например ";"
Такое поведение даёт установленная в комплекте поставки настройка драйвера SL.
В следующем примере нажимается клавиша <;> сначала без <Shift>, а потом с <Shift>.
.::
?KMON-F-Invalid command
.SE SL OFF
.;:
?KMON-F-Invalid command
.SE SL ON
.SE SL LET
Assignments:
Key Mode Value
------ ------ -----
` auto < Dir/Fu/Bl/Vol
; :
---------------------
Free bytes: 280.
Let>
В режиме SET SL LET можно задавать и отменять подстановки символов при нажатии клавиш.
.::
?KMON-F-Invalid command
.SE SL LET
Assignments:
Key Mode Value
------ ------ -----
` auto < Dir/Fu/Bl/Vol
; :
---------------------
Free bytes: 280.
Let> ;/D
Let> /L
Assignments:
Key Mode Value
------ ------ -----
` auto < Dir/Fu/Bl/Vol
---------------------
Free bytes: 283.
Let> ^C
.;:
?KMON-F-Invalid command
.
Теперь запускаю K52 и поведение меняется.
Левый и правый SHIFT при одиночном нажатии работают подобно переключателю CAPS LOCK, левый SHIFT- верхний регистр,
правый SHIFT - нижний регистр, меняется индикация на клавиатуре.
При нажатии SHIFT в K52 одновременно с буквой - поведение другое: временно менятся регистр, состояние не фиксируется,
индикатор CAPS LOCK не изменяется.
Поведение соответствует описанию (https://zx-pk.ru/threads/18351-emulyator-dvk.html?p=476600&viewfull=1#post476600) (см. пункт "В режиме KeyboardControlling = 1")
Но никак не приноровиться к поведению клавиатуры, переключение регистров непредсказуемое
Можно отключить все функции перехвата клавиатуры, кроме клавиши <NumLock>, добавив в настройки терминала строку KeyboardControlling = 0 :
[VT52.ini]
TabTitle=""
Use_NumLock_as_PF1 = 1
KeyboardControlling = 0
nFocusOnFirstOutput = 1
CURSOR_Y_START_% = 85
ANSI_STR_FOR_KEY[F12] = "f12 "
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot