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

User Tag List

Страница 9 из 100 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя
Показано с 81 по 90 из 992

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

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Т.е. диск ( или DSK-образ ) так загрузить нельзя.
    Что BSTRAP будет патчить в 0-м блоке загружаемого образа..
    Почему это нельзя?
    Собственно именно образ и грузится в обычном RTEM. Даже еще хитрее - комбинируется из двух образов рабочий.

    Причем тут нулевой блок?
    BSTRAP патчит сам монитор который он уже загрузил в память.

    К примеру есть в системе код:

    Код:
    SPL7:	MOV	#340,@#PS
    	RETURN
    А мы работаем в другой системе, ни о каком PS речи не идет, зато можно запретить AST прерывания. BSTRAP патчит этот кусок кода по таблице и меняет его на

    Код:
    SPL7:	DSAR$S
    	RETURN
    К слову, и без всякого ртема загрузчик такие патчи накладывает - к примеру для LSI-11 меняет команды запичи-чтения PSW

    Также можно пропатчить точки драйвера терминала (что RTEM также делает) чтобы получить над ними контроль. Для HX собственно достаточно именно этого и ничего больше.
    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. #82
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Также можно пропатчить точки драйвера терминала (что RTEM также делает) чтобы получить над ними контроль. Для HX собственно достаточно именно этого и ничего больше.
    А зачем вообще что-то патчить для HX..

    Можно написать версию HX.SYS которая будет читать/писать байты не через порт, а через системные вызовы. Правда, такая версия будет быстро работать только на быстрых машинах - на ДВК-1 потеря скорости составит > 25%.

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    А зачем вообще что-то патчить для HX..

    Можно написать версию HX.SYS которая будет читать/писать байты не через порт, а через системные вызовы. Правда, такая версия будет быстро работать только на быстрых машинах - на ДВК-1 потеря скорости составит > 25%.
    Это сведется по сути к тому же самому, что и сейчас: сестема будет много времени проводить внутри драйвера и имеет все шансы вообще зависнуть нам навечно. А RT-11 бывает не только однозадачным
    И по прежнему не решается возможный конфликт когда мы вычитываем не свои данные к примеру, а потом нам остается либо их выкинуть либо городить огромный огород много сложнее двух-трех хуков в систему.

    Кстати в 5.6 и 5.7 терминальные хуки в принципе предусмотрены без вмешательства в исходники, но в старых системах такого не было.

    Интересна также ситуация когда делается .READC который превращается в .READW с последующим прерыванием - для SJ это вообще смерть как правило. Надо потестить для интереса.
    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. #84
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    не решается возможный конфликт когда мы вычитываем не свои данные
    Когда драйвер HX принимает данные от мультиплексора, то это всегда именно то, что ему нужно. Другое дело, что контрольная сумма принятых данных может не совпасть - тогда драйвер сообщит об ошибке чтения.

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Когда драйвер HX принимает данные от мультиплексора, то это всегда именно то, что ему нужно. Другое дело, что контрольная сумма принятых данных может не совпасть - тогда драйвер сообщит об ошибке чтения.
    Проблема не в этом.
    Проблема в том, что сейчас фактически попав в драйвер запрос блокирует вообще все, в том числе в ситуации когда программа обязана продолжать выполнение, а вместо этого она довисит до конца, а потом возможно обрушится вместе с системой.

    Кстати простой тест сделал - COP HX1:file HX0: и пока оно копируется потыкал в клавиши. Результат - output i/o error
    Это так сказать безболезненный случай.

    ---------- Post added at 02:59 ---------- Previous post was at 02:46 ----------

    ...и снова возвращаясь к терминалам. Сделай возможность игнорирования "<ESC>[?2l" - то есть <ESC>[ может включить HOLD SCREEN, но если следом идут ?2l - отключить обратно.

    Это добавит совместимости с софтом который пробует принудительно заVT52ить терминал.

    ---------- Post added at 03:05 ---------- Previous post was at 02:59 ----------

    А-а, кстати RSTS/E который мне сейчас выдал этот самый <ESC>[?2l попросту прав. У тебя терминал отвечает как <ESC>/Z, соответственно RSTS/E справедливо считает, что это VT100 и на <ESC>[ не обидится

    Для пробы на CM7209 сделал SET TERM/INQ - честно определил тип и не засветил 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

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Проблема в том, что сейчас фактически попав в драйвер запрос блокирует вообще все, в том числе в ситуации когда программа обязана продолжать выполнение, а вместо этого она довисит до конца, а потом возможно обрушится вместе с системой.
    Прерывания (кроме экрана и клавиатуры) не запрещены, поэтому непонятно, почему запрос блокирует ВООБЩЕ всё.. В многозадачной системе прерывание от таймера вызовет переключение и если порт поддерживает RTS/CTS - HX ничего не потеряет.

    Типа, предлагается переключать прерывания экрана и клавиатуры на HX, не запрещая их ?
    Последний раз редактировалось Patron; 20.11.2012 в 00:21.

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Прерывания (кроме экрана и клавиатуры) не запрещены, поэтому непонятно, почему запрос блокирует ВООБЩЕ всё..
    I/O запрос поступает в драйвер и на этом труба - выполняется он долго, а управление не отдает пока не закончится. Соответственно прога которая отправила запрос и расчитывает продолжить выполнение реально стоит колом на этом месте, а потом могут возникнуть непонятки с тем, что I/O запрос завершился раньше чем закончилась постановка его в очередь

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

    Цитата Сообщение от Patron Посмотреть сообщение
    Типа, предлагается переключать прерывания экрана и клавиатуры на HX, не запрещая их ?
    В идеале прерывания вообще не запрещаем и работаем по прерываниям, а на уровне точек прерываний уже разруливаем что куда. Ввод-вывод дробим на мелкие блочки, чтобы иметь возможность между ними просунуть высокоприоритетную информацию (терминальный ввод-вывод), ну и не ломать асинхронный ввод-вывод, превращая мощную достаточно систему в MS-DOS когда он дискету читает

    Правда все это скорее для общего развития так как изначально наколько я понимаю HX задумывался как некий workaround для машины где ничего нет и нужно подняться с нуля, а в этом случае можно и потерпеть мелкие неудобства.
    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

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    терминал отвечает как <ESC>/Z, соответственно RSTS/E справедливо считает, что это VT100
    Это ответ 15ИЭ.

    Нужно открыть файл Terminal.ini и изменить значение:

    Код:
    TerminalID_ANSI_STR = "\033/Z"

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    TerminalID_ANSI_STR
    Кстати к ANSI это не имеет отношения. В ANSI запрос типа терминала есть только в двух вариантах:

    • <CSI>c
    • <ESC>[c


    А ответ - длинная пачка свойств с тем же c в конце.
    А <ESC>Z - это для совместимости оставлено
    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. #90
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Во, теперь не HOLDится.

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

Название:	inq.jpg 
Просмотров:	481 
Размер:	52.7 Кб 
ID:	38364  
    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

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

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

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

Эту тему просматривают: 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

Ваши права

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