Ошибка была довольно зловещая. При копировании структуры - один из членов не копировался, но при ненулевом значении использовался как указатель :)
...
В приложении - исправленная версия.
Вид для печати
Ошибка была довольно зловещая. При копировании структуры - один из членов не копировался, но при ненулевом значении использовался как указатель :)
...
В приложении - исправленная версия.
Обсуждаемый эмулятор пишется как "наглядная иллюстрация" разрабатываемого мною модульного API эмуляции.
Отсюда следующие проблемы:
1. API "поток видео" - далеко не самая важная часть модульного API.
2. Нет смысла эмулировать источники потока видео ( т.е. видеоконтроллеры ), пока не написан "универсальный монитор видео".
Если в любом конфигурационном файле эмулятора подставить консоль в качестве приёмника байтового потока (вместо универсального терминала), то сразу станет понятно, почему перед написанием эмулятора последовательного порта DL11 - был написан эмулятор универсального терминала :)
Кстати, если при этом не отключать от потока байтов терминал - можно запускать игрушки и наблюдать на консоли "дамп потока байтов".
3. При эмуляции КГД нужно одновременно эмулировать источник "тексто-графического" видеосигнала ( например - КСМ ).
4. Для эмуляции КЦГД нужно эмулировать шину 1801ВМ2 ( т.е.плату МС1201.02 ).
ссылка на последнюю исправленную версию эмулятора ДВК ( с тетрисом и убранным из дефолта hd1) в архиве софта - отсюда!
При закрытой "монолитной" эмуляции проблем вообще не слишком много.
Но если речь заходит про модульную эмуляцию с обменом потоками данных через открытые интерфейсы, когда модуль эмуляции КГД принимает "поток видео" от другого модуля ( например, от эмулятора КСМ ), добавляет туда свою картинку и передаёт по "потоку видео" на эмулятор устройства отображения - то нужно для начала хотя бы написать API потока видео :)))