![]() |
1-257,256,256,263,263,263
2-300,305,313 на 4 уходит в автоповтор |
Quote:
Если открыть файл Terminal.ini - можно узнать, какие коды назначены на изменяемые клавиши: Code:
ANSI_STR_FOR_KEY[F1] = "Help me !!! "Чтобы вместо строки "F12 " отправить при нажатии на клавишу F12 код сброса - нужно изменить назначение кодов для клавиши F12. Можно сделать это прямо в файле Terminal.ini, а можно - в разделе [VT52.ini] используемого файла конфигурации: Code:
ANSI_STR_FOR_KEY[F12] = "\375" |
Quote:
|
Quote:
Можно назначить на какие-нибудь F-клавиши коды включения/выключения светодиода LAT и проверить, как это работает: Code:
ANSI_STR_FOR_KEY[F3] = "\021\220" ; Включить LAT |
Quote:
|
Quote:
Если ( например ) есть реальная ДВК, реальный терминал 15ИЭ-00-013 без клавиатуры и реальная клавиатура МС 7004, то на PC с тремя реальными COM-портами можно сделать даже так, чтобы к одному реальному терминальному порту реальной ДВК подключить одновременно - реальный терминал 15ИЭ-00-013 на вывод и реальную клавиатуру МС 7004 ( через конвертер ) на ввод. |
Quote:
|
Quote:
Модульный API позволяет иметь в одном каталоге любое количество эмуляторов одновременно. Держать разные эмуляторы в разных каталогах хорошо тогда, когда ( например ) используются одноимённые файлы DSK-образов с разным содержимым. Одновременно запущенным эмуляторам тоже лучше работать с разными файлами образов, если при работе в образах планируется что-то изменять. Если запрошенный ini-файл отсутствует - он создаётся со значениями по умолчанию. Слитие всех ini-файлов в один будет полностью эквивалентно простому удалению всех остальных ini-файлов и на работу эмулятора существенно повлиять не должно. |
Quote:
|
Quote:
По сути, "эмулятор" - это текстовый cfg-файл, а exe-загрузчик - это просто интерпретатор загружаемой cfg-программы. Можно написать конфиг, который будет загружать несколько других конфигов - тогда в закладках главного окна будет то, что было бы в главном окне эмулятора при загрузке каждого из этих конфигов как основного. Ну, и не забудем, что любую закладку ( кроме системной консоли корневого конфига ) можно освободить в отдельное окно - тогда каждый загруженный конфиг будет в отдельном окне, но все они будут в одном общем процессе. |
Quote:
|
Тестовая сборка "эмулятора ДВК": DVK_Emulator_12.01.14_18-32
Изменения: 1. В модуль Terminal_module.em добавлен объект MS7004_Converter, предназначенный для конвертации сканкодов клавиатуры МС 7004 к ASCII-коды клавиатуры обычного терминала PDP-11. 2. Добавлен файл конфигурации MS7004_Converter.cfg, содержащий пример использования объекта MS7004_Converter для работы эмулятора ДВК с реальной клавиатурой МС 7004, подключенной к порту COM1. Имя COM-порта Windows, к которому подключена клавиатура - задаётся параметром PortName раздела [MS7004_ComPort.ini]: Code:
[MS7004_ComPort.ini]... При запуске эмулятора с подключенной к COM-порту клавиатурой или при подключении ( включении питания ) клавиатуры при работающем эмуляторе - конвертер должен автоматичеки опознавать наличие клавиатуры, выводить сообщение о подключении клавитауры на системную консоль и устанавливать на клавиатуре лампочки ЛАТ и КОМПОЗ в соответствии с текущим состоянием РУС/ЛАТ и режимом дополнительной клавиатуры. Помимо терминальных кодов - режим дополнительной клавиатуры должен также изменяться клавишей <КМП>. Клавиша <ФКС> должна работать в точности как <CapsLock>. Клавиши над блоком стрелок должны генерить коды Ruslo3, пустая клавиша рядом с забоем должна генерить ПС. ---------- Post added at 18:39 ---------- Previous post was at 18:32 ---------- При передаче портом терминала кода Bell - клавиатура должна пищать. |
Quote:
Quote:
Quote:
Quote:
Quote:
|
Quote:
Quote:
Code:
.EDIK SY:STRTSB.COM/IQuote:
Quote:
---------- Post added at 19:27 ---------- Previous post was at 19:27 ---------- Пищать клавиатура должна одновременно с терминалом. Если, например - нажать забой в крайней левой позиции командной строки KMON. |
Quote:
Quote:
Quote:
Quote:
Quote:
|
Quote:
Quote:
Как вообще с вводом <Ctrl> кодов - <Ctrl><C> работает ? При нажатии <КМП> загорается лампочка КОМПОЗ ? А кнопка <ФКС> работает в точности как клавиша <CapsLock> на PC ? А что насчёт автоповтора.. Если в редакторе зажать букву или стрелку - работает ? ---------- Post added at 20:51 ---------- Previous post was at 20:45 ---------- При нажатом <ВР> изменяется регистр вводимых символов ? ---------- Post added at 20:56 ---------- Previous post was at 20:51 ---------- Код LAT ( 017 ) напрочь убивает вывод символов в RT-11, поэтому ( как теперь вспомнил ) использовать клавишу <RUS/LAT> на реальной МС 7004 было невозможно. Возможно, есть смысл превратить клавишу RUS/LAT в клавишу RUS, чтобы она всегда генерила только код 016 .. ---------- Post added at 21:13 ---------- Previous post was at 20:56 ---------- При работе с КЦГД кнопка <СТОП КАДР> поочерёдно шлёт коды Ctrl/S / Ctrl/Q для приостановки/продолжения вывода на экран. Можно добавить такую функцию в конвертер, отражая текущий статус задержки вывода на терминал при помощи лампочки СТОП КАДР. Кнопку <УСТ РЕЖИМА> можно задействовать для запрещения/разрешения писка клавиатуры при выводе кода 007. |
Quote:
Quote:
Quote:
Quote:
Quote:
|
Quote:
Quote:
А если вывести в командной строке кучу пробелов и зажимать стрелки <Влево> / <Вправо>, то курсор ездит туда-сюда ? |
Quote:
Quote:
Quote:
|
Quote:
Для проверки можно выключить SL и понажимать разные Ctrl-символы, которые ничего не делают - на экране должно получиться вроде такого: Code:
.SE SL OFF |
Quote:
Quote:
|
Quote:
Чтобы проверить работу Ctrl/C на клавиатуре МС 7004 - нужно зажать клавишу <СУ> и нажать клавишу <Ц/C>. |
Quote:
Quote:
Патрон спасибо тебе за конвертер, я :v2_dizzy_sleep2: |
Quote:
Надо будет сделать индикацию режима Ctrl/S на лампочке СТОП КАДР, чтобы легче было обнаруживать такие ошибки. Quote:
|
Quote:
Всё сначала и так каждый раз! Patron, вы предлагали сделать мне свой конфиг, но какой смысл если еxe в него актуальных обновлений не вписывает? То есть 10 строк в файла конфигурации каждой новой сборки приходится заного каждый раз писать! Но это конечно не сопоставимо с написанием кода эмулятора и устройств, так что всё равно спасибо! ) (огромное спасибо!) Есть ещё вопрос по шрифтам, но я не знаю как корректно сформулировать. Суть в том, что на БУКЕ у меня откуда то (видимо с какой-то программой) появился в системе шрифт с правильным нулём и более того этот шрифт позволяет делать окно рабочее на вкладке VT52 огромным (удобно читаемым). Но на десктопе у меня этого шрифта нет ( Шрифт по умолчанию, который масштабируется на весь экран там нолики не правильные (раздражает просто!), а там где правильные нолики в эмуляторе нельзя выбрать достаточно крупно, что бы окно было большим. Как победить? ---------- Post added at 03:32 ---------- Previous post was at 03:30 ---------- Quote:
|
MiX, среди прочих хелп-текстов нашёл кратенькую шпору такую
Code:
СТАНДАРТНЫЕ КЛАВИШИ УПРАВЛЕНИЯ С ТЕРМИНАЛАСкрытый текстКстати говоря, по поводу УПР\S УПР\Q сильно выручала\выручает когда например на УК-НЦ прогоняешь исходник транслятором PASCAL.SAV, в той части где символом ¬ помечены ошибки, можно приостановить вывод листинга, попытаться понять\запомнить место ошибки и продолжить вывод листинга на экран. И ещё я точно помню\знаю, что у меня в 90-х на УК-НЦшке был PASCAL.SAV, который в шапке писал, что он 8-битный и пищал на каждый символ ¬ при условии трансляции с выводом на терминал конечно-же ) Поэтому УПР\S удобно было жать по писку. (!)Да УПР = СУ = левый Ctrl - вроде так? поправьте если ошибся я (!) [свернуть] |
Quote:
Это всё равно, что требовать от новой версии Бэйсика, чтобы при загрузке написанной пользователем программы - в неё автоматически добавлялись новые операторы, появившиеся в этой новой версии Бэйсика. |
Patron, это я понял и смирился, в конце концов проще обновить целиком и быстренько пробежаться с заготовленной шпорой по привычным настройкам, вот со шрифтами момент, но тут конечно то же не совсем к вам вопрос, а общесистемный наверное.
Да! Тестовую версию пока на сайт не заливал там предыдущая. Первая в НГ которая была. То есть без конвертера клавиатуры. |
Patron, наверное hobot хочет чтобы было как в языке Си, в файле конфига была строка типа #include userconfig а пользователь мог менять свои настройки в файле userconfig.cfg . Ведь предыдущие параматры и объекты не должны меняться, добавляются только новые. Или я что-то не понял.
|
Quote:
Например цвет содержится в файле terminal.ini Про шрифты информация в разделе [vt52] внутри default.cfg там же где-то и размер ОЗУ и dsk и настройка загрузки. Вот в принципе, остальное он автоматом сохраняет после первого запуска (ну размер окон и шрифтов). Но в целом я согласен хоть каждый день всё от руки заного писать, главное что-бы проект обновлялся ! ) |
Quote:
При всей кажущейся простоте - полноценная автоматизация "слияния конфигов" весьма непроста, а неполноценная приведёт к появлению неработоспособных конфигов, найти "неисправность" в которых гораздо сложнее, чем сразу сделать всё вручную. |
Тестовая сборка "эмулятора ДВК": DVK_Emulator_13.01.14_19-19
Изменения: 1. Теперь при подключении к конвертеру MS7004_Converter клавиатура МС 7004 должна пищать. 2. Теперь клавиша <РУС/ЛАТ> генерит только коды RUS ( 016 ). 3. Теперь индикатор СТОП КАДР отражает состояние блокировки вывода RT-11 управляющими кодами Ctrl/S и Ctrl/Q, а клавиша <СТОП КАДР> посылает коды Ctrl/Q при включённом индикаторе СТОП КАДР и коды Ctrl/S при выключенном. Индикатор СТОП КАДР также выключается при любом выводе на терминал, происходящем спустя более 350 мс после его включения. 4. В объект MS7004_Converter добавлены базовые параметры, задающие ANSI-строки, отправляемые конвертером в терминальный порт ДВК при нажатии соответствующих клавиш на клавиатуре МС 7004. Значения по умолчанию для данных параметров находятся в файле MS7004_Converter.ini: Code:
[Main] |
1.Работает.
2.Работает. 3.Работает,только- Quote:
|
Quote:
Можно на ДВК выйти в [Пульт] и нажать на МС 7004 <СТОП КАДР> - лампочка загорится, но вывод не заблокируется. Как только что-то будет выведено на экран спустя более 350 мс ( можно просто нажать ВК ) - лампочка погаснет. Кроме того, в RT-11 v05.04 ( и младше ) - двойное нажатие Ctrl/C снимает блокировку вывода. |
Quote:
Quote:
|
Quote:
Мое мнение, что нужно попробовать, будут проблемы - всегда можно отказаться. |
Quote:
Сравнивать текстовые файлы гораздо удобнее с использованием регулярных выражений ( я для этого использую Perl ), только при написании "объединителя" не надо забывать, что логическая структура конфига мало связана с "физической" - строки в двух объединяемых файлах cfg или ini могут располагаться в разном порядке, но иметь один смысл. |
Скрытый текстVamos, Patron, извиняюсь, я даже боюсь в эту дискуссию встревать, но читаю и упоминание "сторонняя утилита", "логическая структура", "физическая" - это пока ещё весьма отдалённо, но уже начинает напоминать реестр ) И программу по его редактированию и проверки ) Patron, вот знаете что бы 100% хотелось бы избежать! Привязки обновления к сети, или обновления прямо из эмулятора по кнопке из сети. По крайней мере возможность обновления через скачивание просто нового архива и исправление ручками (и зачем я вообще начал жаловаться? то есть я не жаловался, а просто описал ситуацию). У меня вот только одно предложение, можно ли продумать так, что бы все настройки были в одном файле - а не раскиданы по куче, а уже из него конфиги типа "по умолчанию", "хобот_персональный", "стакан" и др. брали то что им надо и запускался бы pdp11.exe? И ещё, например некоторые установки по умолчанию можно бы сразу переменить: 1 - давайте сразу 60кб ОЗУ - это же эмулятор зачем отказывать себе в лишней памяти если тут ничего и паять то не надо? 2 - сглаживание экранных шрифтов отключение (по умолчанию = 0) - может лучше врубить? ведь мерцание раздражает и его всё равно приходится вырубать каждый раз 3 - можно всё таки один какой-то масштабируемый шрифт прикрутить с правильным 0 4 - можно с закладки MY вот сами дисководики всё таки прикрутить куда то что бы всегда были на виду (и мерцающую кнопочку!) по умолчанию!!! 5 - а далее учитывая уже все наработки название каждого конфиг. файла, который из общего как-бы составлен будет сам за себя говорить. Если это HX-сервер - так это он, если ДВК - то машинка ДВК. Загрузку можно сделать так - то устройство с которого система загружалась последний раз автоматом пишется для следующего запуска в текущем конфиге, если вдруг устройство демонтировано (отсутствует)... ух как всё сложно то и вариантов много. А ведь, Patron, вы надеюсь, планируете и дальше какие-то железячки эмулировать (ну то есть хотя бы в теории есть шанс модульной эмуляции дорасти до конфигурации КВАНТА ? ) [свернуть] ............. добавил ......................... Во! Что если эмулятор всегда будет просто стартовать и автоматом выдавать окно для выбора стартового конфига??? ) (ИМХО:может так же отказаться от кириллицы в названиях внутри папки эмулятора - во избежании...) |
Quote:
И наверное пора сделать файл справки по параметрам конфигурации, искать эту информацию по форуму не очень удобно. |
Quote:
Quote:
а параметры объектов описаны в описаниях релизов: DVK_Emulator_30.12.13_17-00 DVK_Emulator_19.12.13_00-19 DVK_Emulator_07.05.13_16-37 DVK_Emulator_23.04.13_12-22 DVK_Emulator_04.04.13_12-37 DVK_Emulator_18.02.13_19-37 DVK_Emulator_13.02.13_23-42 DVK_Emulator_17.01.13_15-39 DVK_Emulator_04.01.13_18-24 DVK_Emulator_27.12.12_18-37 DVK_Emulator_25.11.12_13-30 DVK_Emulator_20.11.12_17-44 DVK_Emulator_05.11.12_16-19 DVK_Emulator_20.10.12_18-53 DVK_Emulator_27.09.12_17-15 DVK_Emulator_15.03.12_15-10 DVK_Emulator_04.03.12_18-07 |
| All times are GMT +4. The time now is 02:41. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.