Сделал построчную отрисовку картинки и оказалось, что флаг 2 (обратный ход кадровой развертки) активен, когда обратного хода нет. Вот так выглядит "вид маркера 2":
http://img-fotki.yandex.ru/get/5625/...5f2_XL.png.jpg
Вид для печати
Сделал построчную отрисовку картинки и оказалось, что флаг 2 (обратный ход кадровой развертки) активен, когда обратного хода нет. Вот так выглядит "вид маркера 2":
http://img-fotki.yandex.ru/get/5625/...5f2_XL.png.jpg
Чтобы эмулятор 15ИЭ-00-013 можно было запускать с подключением к IP и COM портам - его можно адаптировать для модульного API.
В двух архивах ( stub_module.zip и stub_module.vcproj.zip ) находится один и тот же проект эмуляции абстрактной архитектуры - с процессором, клавиатурой, монитором и последовательными портами, который должно быть не трудно превратить в эмулятор терминала 15ИЭ-00-013.
В архиве stub_module.vcproj.zip находится готовый проект VisualStudio 2005, позволяющий компилировать модуль эмуляции stub_module.em сразу в каталог Emulator.
Запуск модуля на эмуляцию производится запуском эмулятора em.exe в каталоге Emulator.
Эмулируемая конфигурация описана в файле конфигурации stub.cfg в каталоге Emulator.
...
В архиве stub_module.zip находятся исходные файлы, перед объединением которых в новый проект - в их названиях и содержании можно ( и нужно ) устроить глобальное переименование всех вхождений stub на интересующее название модуля ( например, IE15 ).
...
Пока я планирую воспользоваться тем, что дает MESS (а именно -- некое bitbanger device, которое на хосте можно поключить к pseudo-tty).
А еще разумно будет описать наши находки в этой теме так, чтобы можно было написать другой эмулятор :-)
Зачем писать другой эмулятор, раз уже есть этот.
Ведь процессор 15ИЭ не начнёт работать по-другому, зачем же эмулировать его дважды. Когда этот эмулятор процессора 15ИЭ заработает в полном объёме - я добавлю его код в stub_module и получится вариант для модульного API.
У модульного API масса преимуществ. Например - можно отключать реакцию Windows на любые клавиши. Это позволяет использовать клавишу [NumLock] для ввода тех кодов, которые генерит эта клавиша на клавиатуре 15ИЭ, не переключая при этом лампочку NumLock.
Писать эмулятор не обязательно, но дополнить документацию все же стоит. Восстанавливать ее потом по исходникам не слишком разумно.
Прикрутил bitbanger и теперь можно худо-бедно общаться с внешним миром (на высоких скоростях пока все плохо -- overrun). На картинке -- выдача chargen (TCP порт 19):
http://img-fotki.yandex.ru/get/4120/...733_XL.png.jpg
В общем, в ТО хватает дыр (или мне не хватает знания цифровой электроники :-)
Мелкие вопросы по ходу дела:
- состояние служебной строки при старте сбрасывается в 0. Можно ли его задать перемычками или еще чем-то?
- существует модель .01, с монитором 6105 -- известно ли, чем еще отличается?
- существует клавиатура в пластиковом корпусе -- тот же вопрос.
Сделал ввод с линии так, как описано в ТО (регистр для готовых данных + промежуточный буфер) и теперь терминал выдерживет поток chargen на скорости 9600. Теперь нужно делать клавиатуру, иначе играть никак невозможно :-)
http://img-fotki.yandex.ru/get/4120/...9e1_XL.png.jpg