jerri, то есть первый буфер который 768 байт содержит байт в котором запакованы данные об индексе тайла во втором буфере и признак действия с тайлом (стереть, нарисовать). Индекс от 0 до 31.
А в момент отрисовки ты по всему первому буферу в 768 байт пробегаешь или как то хитрее например пропускаешь пустые строки?

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

BlaireCas, подход интересный, но требует очень много памяти. Нужно подумать

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

Stl75, мне нравится этот подход так как он позволяет рисовать спрайт целым куском во многих случаях. Это сильно уменьшает накладные расходы, но я тоже не могу придумать оптимальный алгоритм для отрисовки пересекающихся областей. То есть нужно считать колижен всех объектов которые рисуются на экране. Но возможно это как-то можно будет использовать и для игровой логики тоже, тогда это будет более оправданно.

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

Если найти быстрый способ определения задевает ли спрайт кого-то ещё или нет, то можно скрестить этот метод с тайловым выводом. То есть рисовать спрайт сразу на экране если он не задевает никого, и рисовать спрайт тайловым методом если задевает.