Цитата Сообщение от Lethargeek Посмотреть сообщение
о четыре одноцветных дырявых слоя мне "с головой"
Давайте возьмем 250 слоев с масками, это меньше чем 3 мегабайта памяти.. Я не вижу тут никакой принципиально-неразрешимой трагедии.

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

Цитата Сообщение от Lethargeek Посмотреть сообщение
Они тупо затирают кусок экрана сохранённым в буфере куском фона
И получаем монохромное изображение под затертым спрайтом. Или вы собираетесь угадывать, откуда процедура взяла байт для сохранения в буфере, а потом для чего прочитала байт из буфера и соответствующим образом перетаскивать параллельно пиксельные атрибуты в памяти видеокарты(а-ля Спек256)?

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

Цитата Сообщение от Lethargeek Посмотреть сообщение
Это обещать несложно, а сделать сложно (уж сложнее мелкой правки графпроцедур)
Да что там сложного-то? Можно даже аппаратно сделать, чтобы последний записанный слой автоматически становился самым верхним. Это будет полностью имитировать последовательное наложение объектов. Хотя, на самом деле такое и не нужно. Достаточно одного байта для хранения номера текущего слоя. В начале цикла обнуляем его, а в процессе отрисовки объектов инкрементируем. Всё. Объекты будут укладываться в слои точно в порядке отрисовки, как вы и хотели.