Важная информация

User Tag List

Страница 2 из 100 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 992

Тема: Эмулятор терминала типа VT52

  1. #11
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос на засыпку - есть возможность послать BREAK в COM порт?
    Фича весьма нужная если использовать для реальной машины.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  2. #12
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Вопрос на засыпку - есть возможность послать BREAK в COM порт? Фича весьма нужная если использовать для реальной машины.
    Хорошая новость, что протокол ByteStream в модульном API поддерживает команды BreakOn и BreakOff, а объект Terminal выдаёт их в выходной поток байтов при нажатии и отпускании клавиши [Pause/Break] соответственно.

    Плохая новсть, что объект Terminal_ComPort_Adapter никак на эти команды не реагирует.

    В принципе, получив из потока байтов команду BreakOn - адаптер COM-порта может вызывать функцию Win32API SetCommBreak для "своего" порта, а получив BreakOff - вызывать ClearCommBreak, но это будет работать только в одну сторону - на передачу.

    Чтобы два объекта Terminal_ComPort_Adapter, подключенные к разным COM-портам и соединённые потоком байтов, могли ретранслировать сигнал BREAK из одного COM-порта в другой - нужна более серьёзная доработка.

    Отсюда вопрос - как мы это протестируем?

    У меня нет возможности проверить работу объекта Terminal_ComPort_Adapter с реальными портами, поэтому я пока даже не знаю, работает ли он вообще.

  3. #13
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    но это будет работать только в одну сторону - на передачу
    Так на передачу и надо - нужно уметь посылать BREAK машине, сидящей на COM порту. А принимать BREAK оттуда незачем - разьве что эмулировать полоску выключения питания как на CM7209

    ---------- Post added at 02:52 ---------- Previous post was at 02:51 ----------

    Кстати на прием BREAK должен определяться тупо как frame error

    ---------- Post added at 03:00 ---------- Previous post was at 02:52 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Отсюда вопрос - как мы это протестируем
    А проверить легко по назначению - подключу как TT0: к 11/83 и пошлю туда бряк

    SecureCRT отлично умеет это делать.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  4. #14
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновилась текущая сборка эмулятора терминала типа VT52: VT52_14.11.12_16-04.

    Изменения:

    1. Теперь при нажатии клавиши <Print Screen> в окне терминала - в буфер обмена помещается не только текстовый, но и графический скриншот.

    2. Теперь объект Terminal_ComPort_Adapter передаёт команды BreakOn и BreakOff из потока байтов в "свой" COM-порт.

    3. В файл Terminal.ini добавлены цветовые схемы для симуляции мониторов 15ИЭ-00-013, МС 6105 и VT220.

    Код:
    ;
    ; Default Screen Colors
    ;
    
    TerminalTextColor_RGB       = 0,0,0
    FrameBackgroundColor_RGB    = 178,178,178
    TerminalBackgroundColor_RGB = 170,204,221
    
    
    ;
    ; Green Screen Colors ( 15IE-00-013 )
    ;
    ; TerminalTextColor_RGB       = 3,255,21
    ; FrameBackgroundColor_RGB    = 178,178,178
    ; TerminalBackgroundColor_RGB = 64,81,57
    ;
    
    
    ;
    ; Blue Screen Colors ( MS 6105 )
    ;
    ; TerminalTextColor_RGB       = 150,200,240
    ; FrameBackgroundColor_RGB    = 172,170,160
    ; TerminalBackgroundColor_RGB = 50,60,55
    ;
    
    
    ;
    ; Gold Screen Colors ( VT220 )
    ;
    ; TerminalTextColor_RGB       = 230,210,120
    ; FrameBackgroundColor_RGB    = 145,140,135
    ; TerminalBackgroundColor_RGB = 48,44,58
    ;
    Для изменения цветовой схемы - нужно закомментировать настройки текущей цветовой схемы ( добавив символы ';' в начале строк ) и раскомментировать ( убрав символы ';' в начале строк ) настройки интересующей цветовой схемы.
    Последний раз редактировалось Patron; 23.09.2014 в 13:15.

  5. #15
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    передаёт команды BreakOn и BreakOff из потока байтов в "свой" COM-порт.
    Пашет.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	break.jpg 
Просмотров:	339 
Размер:	83.8 Кб 
ID:	38276  
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  6. #16
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попутно мысль слегка добавить функциональности VT52 (может правда оно есть - слишком долго копаться) - реализовать VT52шный HOLD SCREEN с возможностью отключения.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    реализовать VT52шный HOLD SCREEN
    При последовательных нажатиях на клавишу <Scroll Lock> - терминал отправляет в выходной поток символы Xon и Xoff, синхронизируясь с отправкой этих же символов с клавиатуры.

    Если после включения режима Xoff на терминал поступят байты из входного потока - режим Xoff автоматически сбросится ( RT11 v5.4 отменяет режим Xoff при двойном нажатии <Ctrl><C> ).

    Можно дополнительно сделать так, чтобы при нажатии <Shift><Scroll Lock> в режиме Xoff - терминал посылал Xon, ожидал одного из событий: 1) приём N строк; 2) истечение NN секунд - и снова посылал Xoff.

    ---------- Post added at 16:36 ---------- Previous post was at 16:32 ----------

    Хотя, если за отведённое время нужное количество строк не пришло - какой смысл опять посылать Xoff - ведь это значит, что "обильный" вывод данных уже завершён.

  9. #18
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    При последовательных нажатиях на клавишу <Scroll Lock> - терминал отправляет в выходной поток символы Xon и Xoff, синхронизируясь с отправкой этих же символов с клавиатуры.

    Если после включения режима Xoff на терминал поступят байты из входного потока - режим Xoff автоматически сбросится ( RT11 v5.4 отменяет режим Xoff при двойном нажатии <Ctrl><C> ).

    Можно дополнительно сделать так, чтобы при нажатии <Shift><Scroll Lock> в режиме Xoff - терминал посылал Xon, ожидал одного из событий: 1) приём N строк; 2) истечение NN секунд - и снова посылал Xoff.

    ---------- Post added at 16:36 ---------- Previous post was at 16:32 ----------

    Хотя, если за отведённое время нужное количество строк не пришло - какой смысл опять посылать Xoff - ведь это значит, что "бурный" вывод данных уже завершён.
    Это не совсем то. Тут так или иначе подразумевается ручное вмешательство для задействования режима тогда как обычный HOLD включается програмно (например командой системы или прграммой которая режим использует), после чего пользователь по желанию может листать построчно или поэкранно.

    ---------- Post added at 20:48 ---------- Previous post was at 20:38 ----------

    Пример работы HOLD SCREEN. Качество съемки хреновое, но суть понятна

    Скрытый текст



    ---------- Post added at 20:55 ---------- Previous post was at 20:48 ----------

    Вобщем должно быть так: при поступлении <ESC>[ на экран включается режим HOLD. Как только курсор пытается сделать LF в последней строке экрана, посылается XOFF и экран застывает на этой строке (<LF> не отрабатывается).

    При нажатии на клавишу <ROLL> (ScrollLock к примеру) печатается тот самый <LF> и одна строка, также все замирает после следующего <LF>. При нажатии на Shift+<ROLL> печатается один экран, после чего останавливается.

    При выводе на экран <ESC>\ режим отключается.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  10. #19
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Это не совсем то.
    Уловил.

    Я сейчас адаптирую движок объекта Terminal для эмуляции некого подобия КСМ, а КСМ поддерживает Esc-коды <Esc><[> и <Esc><\>, поэтому их поддержка появится и в терминале.

    После получения <Esc><[> терминал установит специальное состояние Hold и будет принимать данные до тех пор, пока не потребуется скроллинг - в этот момент терминал симулирует нажатие пользователем клавиши <Scroll Lock> и перейдёт в режим Xoff.

    В режиме Hold + Xoff реакция терминала на одиночное нажатие <Scroll Lock> будет другой - режим Xon будет устанавливаться только для одной следующей строки.

    Реакция на <Shift><Scroll Lock> в режиме Hold + Xoff будет отличаться отсутствием таймаута на приём страницы текста.

  11. #20
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Баловство с VT52 заставило вчера подключить CM7209 к 11/83, сегодня решил поностальгировать... Все-таки никакие VT220 не заменят старого доброго...
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	gad.jpg 
Просмотров:	364 
Размер:	52.6 Кб 
ID:	38277  
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

Страница 2 из 100 ПерваяПервая 123456 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. [Аукционъ] Клавиатура от терминала ЕС-7927
    от BYTEMAN в разделе Барахолка (архив)
    Ответов: 18
    Последнее: 15.05.2012, 14:50
  2. Срочно ищу монитор от терминала 15ИЭ-00-013 (от ДВК-2)
    от dk_spb в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 10.02.2012, 10:19
  3. Куплю клавиатуру КМ-035 для терминала СМ 7238
    от Kronshou в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 13.09.2010, 23:33
  4. C64 или C128 в качестве терминала под Linux
    от Vinnny в разделе Commodore 16/64/128
    Ответов: 6
    Последнее: 14.12.2007, 16:39
  5. Подгрузка pc-файла типа "codes" в эмулятор
    от maximk в разделе Эмуляторы
    Ответов: 15
    Последнее: 13.11.2006, 15:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •