а КАК он определит что они относятся к графике?
можно хоть из R прочитать и закинуть стеком на экран
это невозможно определить
- - - Добавлено - - -
там по идеи именно эмуляция 8 процов (судя по описанию)
Вид для печати
с какой целью? если только получения лучшей графики, то есть менее затратные варианты
софт писать под это никто не будет
ну и как, например, ты перспективный блиттер сюда прикрутишь?
в то же самое окошко на прибитую гвоздями zx-раскладку, битплановый? :v2_sick:
Ну, ты мою позицию знаешь - точность клона это не всегда полезно и хорошо. Вообще, блок, нужный только для раскраски старого софта БЕЗ исходников и правки бинарника, я бы сделал максимально простым и "лёгким", раз навсегда зафиксировал и больше не развивал (кроме устранения недочётов). Главное, чтобы он не мешал добавке перспективных новых возможностей, управляемых из нового софта, и чтоб они легко его дополняли. То есть ускоритель сможет рисовать в любой момент по старой картинке, а старый код в спектрумовском стиле - по картинке, отрисованной ускорителем.
Вообще, было бы меньше бурлений, если бы давно были разработаны и использовались графические драйвера.
Нужен стандартный API для графического драйвера. Например, сидит в памяти по определённому адресу процедура, у которой есть набор функций. Вывод спрайта с заменой, по OR, по AND, по XOR. А так же, вывод с маской. Спрайты имеют стандартный формат, состоящий из знакомест, каждое знакоместо похоже на символ из шрифта - 8 байт, образуют знакоместо 8х8 пикселей, за ними опционально идут атрибуты, тоже 8 байт, по одному на каждый байт пикселей (как в мультиколоре), за ними опционально 8 байт маски.
Драйвер принимает параметры использовать ли атрибуты, использовать ли маску.
Теперь самый шик - стандартный драйвер, работающий со стандартным экраном просто копирует эти спрайты и первый байт атрибута как обычно. Навороченный движок может на той же игре совершенно без изменений кода игры отображает уже мультиколор 8х4, например и без клешинга атрибутов, если вывод по маске.
При использовании чудо-видеокарты наподобие метеора к ней автор один раз пишет драйверок и та же самая игра может совсем без изменений кода выводить мультиколор 8х1. Более того, спокойно могут быть поддержаны видеокарты с аппаратными спрайтами, с аппаратными блитерами, более того, с повышенным разрешением. Драйвер может уже сам масштабировать выводимые спрайты, по прежнему ориентируясь на координаты 0-255 и 0-191, просто они будут теперь восприниматься, как процент от общего разрешения.
При таком подходе старые игры надо будет адаптировать только один раз и они дальше будут работоспособны на любом устройстве с подобным драйвером.