Эмулятор очень строго выравнивает прерывания ввода в виртуальном времени - они происходят в полном соответствии с установленной в конфиге скоростью порта и числом битов в посылке.
Вид для печати
Если при установке скорости эмуляции Max - передача по XL пойдёт без ошибок, а простое копирование терминального вывода из порта на экран - с ошибками - значит именно одновременная работа по прерываниям с двумя портами вызывает проблему.
Здесь всё просто - индикация скорости эмуляции MIPS в самой левой позиции строки статуса - это точное число инструкций процессора, выполненных за последнюю секунду.
Если, например, там 5.000 - то это значит, что за последнюю секунду было выполнено 5'000'000 инструкций, т.е. по 5'000'000*10/9600 на каждое прерывание ввода.
Но это если работа идёт только с одним портом.
---------- Post added at 17:58 ---------- Previous post was at 17:53 ----------
Код:[objects]
ComPort = Ядро:Terminal_ComPort_Adapter
[links]
;; TerminalPort2 <==> IP_Adapter
TerminalPort2 <==> ComPort
[ComPort.ini]
PortName = COM2
InitialStateOf[ShowPortUse]=0
SaveChangesFor[ShowPortUse]=0
InitialStateOf[StopReading]=0
SaveChangesFor[StopReading]=0
MinimalBreakTime_MKS = 3000
Мда, на хреновом USB порте как и ожидалось вообще все плохо :)
В том числе из других эмуляторов.
Оно и не удивительно - если в терминале набрать DIR в RT-11, пол экрана мгновенно заполняется выводом :)
---------- Post added at 22:09 ---------- Previous post was at 22:06 ----------
Сейчас в RSX перегружусь - посмотрю как там - там вывод по крайней мере плавно идет.
Хе.
При подключении к RSX через кривой порт все идеально.
Никаких потерь, скорость эмулятора выставлена в True.
Но в M+ символы дозируются терминальным драйвером.
В экранных программах все-таки есть потери.