Цитата Сообщение от Lethargeek Посмотреть сообщение
1) требует больших аппаратных ресурсов
Не требует. Вряд ли единицы мегабайт RAM можно считать большим аппаратным ресурсом.
Цитата Сообщение от Lethargeek Посмотреть сообщение
требует больших трудозатрат при модернизации старых игр
Как раз наоборот, трудозатраты минимальны, графика и процедуры остаются родными.
Цитата Сообщение от Lethargeek Посмотреть сообщение
принципиально выдаёт картинку худшего качества
Что значит худшего качества? Картинка, в рамках поставленной задачи, может быть одна - как в Спектруме, только без клэшинга.
Цитата Сообщение от Lethargeek Посмотреть сообщение
неудобна для приделывания к ней полезных расширений типа блиттера
Польза от расширений, софт для которых будет написан "потом" - имхо, сомнительна.


Цитата Сообщение от Lethargeek Посмотреть сообщение
"Масса" - эта скока? Парочку примеров хотя бы?
Ну уже упоминавшийся RamboIII, да остальные игрухи от Andrew Deakin - Athena, RenegadeIII, Adams Family etc. тоже сделаны на этом принципе. Да и все, что имеет статический фон, тоже выгодно делать таким образом. Экономия памяти и процессора. Памяти под буфер нужно не на весь экран, а только по размеру спрайта. А разворачивать фон из тайл-мапа, даже по размеру объекта - процессор просто не успевает.

Цитата Сообщение от Lethargeek Посмотреть сообщение
Буфера! Если буфер есть, то спрайты туда рисуют. А уж буфер после переносится на экран.
Это что получается, надо взять фон, перенести его в буфер, нарисовать сверху спрайт и то, что получилось перенести в экран? Но зачем эти лишние движения, если фон уже на экране, а все, что надо это сохранить кусочек фона в буфере и нарисовать спрайт?

Цитата Сообщение от Lethargeek Посмотреть сообщение
Ну при чем тут "положение спрайта"?? Нужно только знать адреса, где может храниться графика. Даже безразлично, в какой раскладке.
Вы упорно не замечаете простой вопрос: "как стереть спрайт не перерисовывая всё?" Если вы будете спрашивать, "Зачем это нужно?" - стразу ответ: существующие игры так делают.

Вот смотрите есть процедура вывода курсора мыши. Она работает до смешного просто. В буфер запоминается фон из того места экрана, где будет выводиться спрайт стрелочки. Затем рисуется стрелочка, с наложением на фон. В следующем цикле из буфера в экран возвращается сохраненное изображение, стирая курсор мыши, и цикл рисования повторяется в другом месте.
Теперь у нас есть экранные слои. Что надо поменять в данном алгоритме? Всего две вещи. Перед процедурой устанавливаем активным слой 1. Дальше, таже самая процедура читает нули из экрана (потому, что стандартное изображение находится в 0м слое, а в 1м слое кроме изображения курсора мыши у нас никогда ничего не бывает) , как и раньше, сохраняет эти нули, думая, что это фон, в тот же самый буфер, и рисует спрайт стрелки, точно так же, как и раньше, даже не подозревая, что он попадет не на фоновое изображение, а в пустой слой №1. Всё, устанавливаем активным 0й слой и возвращаемся в основную программу. Спрайт стрелки будет виден над основным изображением, без всякого клэшинга. Теперь, чтобы спрятать курсор мыши, устанавливаем активным 1й слой и вызываем старую процедуру стирания. Она как и раньше перенесет в экран из буфера нули, думая, что это сохраненный фон, тем самым сотрет изображение стрелки. Делаем активным слой 0, возвращаем управление основному коду.
Как видите, все изменения - только в переключении слоев до и после отрисовки. Все остальное остается неизменным.

Хотелось теперь услышать от вас, как вы собираетесь адаптировать этот же алгоритм мышиного курсора под свою систему.

- - - Добавлено - - -

Цитата Сообщение от bigral Посмотреть сообщение
предлагается поверх каждого квадрата навесить еще несколько слоев похожих квадратов в которых нету PAPER (а значит и FLASH).
Точно. Слой - это обычный спектрумовский экран с прозрачным PAPER. Таких экранов несколько, они находятся друг над дружкой, поэтому для них предпочтительнее термин "слой". Нижние "просвечивают" через прозрачный PAPER верхних. Текущий доступный для процессора экран(слой) переключается значением в порт. Переключение в стандартной области $4000-5AFF. Переключение на отображение не влияет никак, только на доступный для чтения/записи экран(слой). Самый нижний, нулевой слой - стандартный экран (т.е. с непрозрачным PAPER и с FLASH) Вот такая упрощенная схема.


Цитата Сообщение от bigral Посмотреть сообщение
Возникает вопрос, если ранее программа заносила 9 байт то теперь будет заносить еще по 9 на каждый новый слой?
Нет количество байт для программы не меняется. То, что рисовалось на одном стандартном экране, теперь разносится по слоям, но общий объем выводимой графики не меняется (за исключением мелких нюансов).

- - - Добавлено - - -

Цитата Сообщение от null_device Посмотреть сообщение
В таком виде, для отображения не слишком многоцветной картинки в пределах одного знакоместа - можно использовать несколько "дополнительных" экранов.
Задача не в том, чтобы нарисовать 16 цветную картинку. Согласен, для этого 16 слоев не самый лучший способ.
Задача - устранить клэшинг в существующих программах с минимальными усилиями и без перерисовки графики.
Почему так часто упоминаются спрайты? Так, если фон еще как-то можно распределить с учетом знакомест, то со спрайтами дело совсем плохо. Поэтому основной упор в деле борьбы с клэшингом и делается на спрайты.