спасибо. Завтра буду смотреть.
Насчет еще более быстрого вывода сцены думал.
Можно подумать над тем, чтобы хранить в спрайтах не координаты знакоместа, а сразу адрес вывода на экране первого байта знакоместа. Тогда не нужно каждый раз его высчитывать. Правда, в этих же двух байтах я храню параметр - краевое это знакоместо спрайта или нет, и если краевое, то какое - правое или левое. Можно как-то это продумать, чтобы вместе с адресом хранить (можно не адрес, а хотя бы смещение от какого-то адреса, например, начала экрана, тогда два бита будут по-прежнему свободны для краевых параметров).
Еще думал, хранить "слои" экрана - у меня 7 уровней вглубь, следовательно, 7 слоев для перспективы 90 градусов и 7 слоев для перспективы 45 градусов. Причем не весь экран, а только четверть, т.к. остальные 3/4 можно получать отзеркаливанием. В слое хранятся для каждого знакоместа байты изображения каждого элемента (15 элементов - стены, колонны, бассейны, трупы, фазы врагов и т.д.). Т.е. спрайты вообще не нужны, а всё хранится в этих слоях, которые быстро можно вывести. Но всё это занимает в памяти очень много места, пока не придумал, как сократить размер.





