Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Эмуляторы отечественных компьютеров (http://zx-pk.ru/forumdisplay.php?f=61)
-   -   Эмулятор терминала типа VT52 (http://zx-pk.ru/showthread.php?t=20092)

Patron 1st March 2013 18:55

Очень любопытно..

Как же RT-11 ухитряется терять байты в эмуляторе, причём в зависимости от скорости эмуляции, когда все эти байты уже приняты в эмулятор DL-порта и в принципе не могут потеряться ДО ЧТЕНИЯ из порта.

Если написать самодельную программку чтения/записи байтов через порт 176500 - она должна выводить всё без потерь.

form 1st March 2013 18:57

Quote:

Originally Posted by Patron (Post 581040)
в принципе не могут потеряться ДО ЧТЕНИЯ из порта.

Так из порта они системой читаются, но если буфер чтения забит - символ просто отбрасывается.

Patron 1st March 2013 19:00

Quote:

Originally Posted by form (Post 581036)
оно у меня внаружу выставлено сейчас на 85.118.227.58. Система нужна FB (или другая с таймером), драйвер XL с параметрами второго терминального порта и VTCOM.REL (запускать можно как SAV если ни разу до этого не запускался как FRUN/SRUN).

Для проверки того, что все байты честно доходят из IP до эмулируемого DL-порта - нужно для начала написать простейший "эмулятор терминала" для RT-11, который будет просто копировать байты с клавиатуры в порт, а из порта - на экран.

form 1st March 2013 19:02

Quote:

Originally Posted by Patron (Post 581042)
Для проверки того, что все байты честно доходят из IP до эмулируемого DL-порта - нужно для начала написать простейший "эмулятор терминала" для RT-11, который будет просто копировать байты с клавиатуры в порт, а из порта - на экран.

VTCOM собственно это и делает, но использует систему и драйвер XL.
Сейчас напишу просто чистый терминал без участия системы.

Patron 1st March 2013 19:05

Quote:

Originally Posted by form (Post 581041)
Так из порта они системой читаются, но если буфер чтения забит - символ просто отбрасывается.

Т.е. если программа не успевает забирать байты из буфера ввода RT-11 - он забъётся по прерываниям до отказа.

Тогда можно попробовать два решения:

1. Повысить скорость эмуляции - программа будет забирать байты быстрее.

2. Снизить эмулируемую скорость порта - эмулятор порта будет реже выставлять в порту готовность для отдачи очередного байта из принятого TCP-пакета.

Что если так сделать:
Code:

[TerminalPort2.ini]
BaseIO_Address    = 0176500
BaseVectorsAddress = 0300
DL11W_TerminalPort_ComponentDisabled = 0
DL11W_LineClock_ComponentDisabled    = 1
DL11W_LineClock_Hz = 50
DL11W_TerminalPort_BitsPerByte = 10
DL11W_TerminalPort_BaudRate = 4800
DL11W_TerminalPort_CPS_Limit = 0


form 1st March 2013 19:16

Скорость не помогла.
Написал терминал который по опросу без прерываний передает взад-вперед - в нем ничего не теряется.

Patron 1st March 2013 19:36

Quote:

Originally Posted by form (Post 581050)
Скорость не помогла.

Т.е. если поставить скорость эмуляции Max - байты всё равно теряются ?

Quote:

Originally Posted by form (Post 581050)
Написал терминал который по опросу без прерываний передает взад-вперед - в нем ничего не теряется.

Оно и понятно - эмулятор терять байты не может.

Но если прерывание ввода происходит каждый раз, когда порт выставляет готовность - байты (начиная с какой-то скорости процессора) обязательно должны теряться.

Нужно пропатчить дековские мониторы так, чтобы они снимали разрешение прерывания в порту ввода, если входной буфер заполнен. При работе через порты без квитирования это ничего не изменит - байты продолжат теряться, но при работе через порты с квитированием ( такие как в УКНЦ и эмуляторе ДВК ) - полегчает радикально.

form 1st March 2013 19:40

Quote:

Originally Posted by Patron (Post 581060)
Нужно пропатчить дековские мониторы так, чтобы они снимали разрешение прерывания в порту ввода, если входной буфер заполнен.

Это чревато проблемами особенно если монитор FB/XM.
Но в данном случае потери идут не от клавиатуры, а от драйвера XL.
XL по идее можно пропатчить, но лучше найти решение универсальное.
От живого DL11 к пример ничего не теряется.

---------- Post added at 21:40 ---------- Previous post was at 21:39 ----------

Еще возможны проблемы если не выдерживается нужное количество инструкций перед возникновением прерывания - DEC любит завязываться на аппаратные возможности :)

Patron 1st March 2013 19:41

И ещё один момент - не могут ли как-то влиять приоритеты прерываний двух DL-портов.

Может, в эмуляторе ДВК есть какая-то проблема с приоритетами прерываний, которая проявляется при одновременной работе RT-11 по прерываниям сразу через два DL-порта..

form 1st March 2013 19:42

Quote:

Originally Posted by Patron (Post 581063)
И ещё один момент - не могут ли как-то влиять приоритеты прерываний двух DL-портов.

Может, в эмуляторе ДВК есть какая-то проблема с приоритетами прерываний, которая проявляется при одновременной работе RT-11 по прерываниям сразу через два DL-порта..

Черт его знает.


All times are GMT +4. The time now is 02:42.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.