Сообщение от
Lethargeek
Мы когда-то обсуждали узким коллективом очень давно, на какую внешнюю видеокарту было бы проще переделывать старые игрушки. Схема приблизительно такова - перехват на шине записи в экранную область Спека и соотв-но запись в память видеокарты до восьми пикселей (многобитных, но для совместимости на два цвета атрибуты будут влиять; после резета эти два и привязаны к 0 и 1 спектрумовской записи в растр). Далее, вывод спрайта в большинстве игрушек такой примерно: чтение (побайтно) с экрана, чтение маски, чтение спрайта, AND с маской, OR со спрайтом, запись в экран. Это всё достаточно заменить на: чтение маски, запись маски, чтение спрайта, запись спрайта. И при входе в процедуру включить режим, при котором при каждой чётной записи в экран единицы - прозрачный цвет, а нули - цвет маски (допустим, чёрный); а для каждой нечётной записи нули - прозрачный цвет, единицы - цвет спрайта. Потом выключить (для оставленных без изменений процедур печати фона, текста, стирания). Это если минимально хотим вмешаться, только чтобы клэшинг убрать. Правда, на старом спековском экране спрайты будут затирать фон (что неважно, если вывод только через новую видеокарту предполагается, а можно сделать, чтоб игра и на обычном Спеке шла без отличий, а через видеокарту - уже без клэшинга, лишь слегка замедлится процедура из-за лишней записи фона с маской).