Nesser, вкратце о формировании, довольно упрощённо, но всё же.
Изображение формируется из включенных сейчас слоёв. всего есть 5 слоёв, к которым принадлежат слои бордера, графики; а так же два слоя тайлов и три - спрайтов, вперемешку. спрайтам можно устанавливать "высоту" - отображать их под слоем тайлов, или над ним, первым или вторым. Так как 0й цвет для тайлов и спрайтов является прозрачностью, система учитывая это всё собирает текущую линию для показа.
ещё есть координаты положений на экране этих слоёв, и координаты спрайтов на экране.
дабы включить отображение тайлов - нужно установить один бит в порте, да задать графику для тайлов (один тайл - 8х8 точек), и сформировать номера в тайловой памяти (а это просто один из банков памяти, в котором указаны - какие тайлы и как отображаются. например - перевёрнутые по оси Х и У, и с нужной палитрой)
а что-бы показать спрайт - нужно указать на его банк с графикой в порте, графика точно такая же как и для тайлов; потом нужно сформировать описатель спрайта - какого размера, нужно ли его переворачивать, какой номер палитры для него, и отправить эту дату в спрайтовую память системы.
подготовка к отображению может показаться громоздкой, но обработку данных и отображение мы получаем уже практически бесплатно - меняешь Х и У для спрайта, отправил в память - спрайт уже сдвинулся.
кроме того, ты можешь заюзать нужное тебе количество экранов для отображения графического слоя, или большой набор тайловых карт, в которых уже всё задано при старте.
опять же, скроллинг графического экрана или одного из тайловых слоёв - это просто запись нового значения в порт, указывая нужную позицию для вывода. как по Х так и по У
+ имеем 256 цветов, 5 бит на цвет, и 16 палитр для режимов 16цветов, или же одну для режима 256
+ текстовый режим
+ к этому есть ДМА для переброски данных, которая не занимает процессор. указал чо куда слать, указал как выравнивать данные или накладывать их поверх старых - и начинай себе считать процессором, дма в это время уже шлёт с бешенной скоростью
вот эта штука - это 4 слоя - графика, 2 тайла и спрайты. проц при прокрутке занят на 2%.
... да много чего реализовано. очень много дем в некоторых эффектах используют 14мгц процессора лишь на 10% - для плеера, указания пересылки дма, да небольших выводов в порты, всё.
опять же, сложный расчётный эффект выполняется на 14 мгц, причём используя встроенный 512 байтный кеш, который многократно ускоряет выполнение небольших участков кода.
к тому же, при необходимости ты можешь задать нужное количество прерываний, указав им место на экране для прихода, и там их обрабатывать. например, одно прерывание приходит в начале экрана, а второе - сразу за нижней строкой экрана.
либо же прерывание будет приходить каждую строку экрана...
в общем, TS-CONF - это глобальная и обширная надстройка над пентагоном.
и пусть по началу это выглядит довольно угрожающе, погрузившись в то как система работает - вдруг понимаешь её философию и видишь огромный спектр её применения, сразу лезут идеи, начинаешь их пробовать, и открывается огромный спектр возможностей!
![]()






, погрузившись в то как система работает - вдруг понимаешь её философию и видишь огромный спектр её применения, сразу лезут идеи, начинаешь их пробовать, и открывается огромный спектр возможностей!
Ответить с цитированием