Там ничего сложного по-сути, выход одного VDP, смешивается с выходом второго, через суперимпозер. Управляются они отдельно (можно дать команду одному, и пока он ее выполняет, заняться вторым). Видеопамять у них, естественно раздельная. Все что рисует первый VDP, отображается в буфере второго, внутри нулевого цвета. Вот и вся кухня(при этом спрайты первого VDP, так же находятся в нижнем слое, относительно всех слоев первого VDP.
Говоря о функционале, там нечего пилить. Все функции блита пишутся тривиально, вместе со всей логикой. Поиск цвета, точка и получение цвета по адресу - банальщина. Линия - чистый DDA (хотя довольно кривой, ввиду того, что они не осилили свап вычислений, и требуют установки бита мажоритарности отношений сторон DX/DY, хотя это решается алгоритмически очень просто, могу привести алгоритм на бейсике, который почти повторяет аппаратную линию). Опять же, бросаясь в огород Ямах - линия настолько кривая, что даже рисуя одну и ту же линию с разных направлений, получаем расхождение! И еще, DDA можно рисовать В ДВА РАЗА БЫСТРЕЕ, если рисовать линию сразу с двух концов к центру (в два раза меньше вычислений!).Сообщение от OrionExt
Остаются спрайты и знакогенератор, тут тоже особых сложностей не вижу, если не рассматривать тайминги и обратноход.





(при этом спрайты первого VDP, так же находятся в нижнем слое, относительно всех слоев первого VDP.
Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
