Можно ссылочку на скриншоты и игру?
---------- Post added at 14:27 ---------- Previous post was at 14:12 ----------
И кстати, раз уж зашла речь о NES, то там окошко для графики всего 8кб. И ничего - шикарные игры.
Вид для печати
Screw, всё верно написал. О убогости мендежера памяти Спектрум-128 я писал ещё в 1998г, что делали всё по пьяни))) Не имея хотя бы 2-х окон для проецирования страниц толковое ничего не написать. Если для скорости мы сдвигаем спрайты в ОЗУ, они много занимают, если страницы прилеплены намертво - жесткое ограничение на кол-во спрайтов и т.д. и т.п. Т.е. увеличение общего кол-ва страниц дело мало меняет. И на профи, жаль, что не сделали 4 окна, или хотя бы 2. Весьма бы многое упростилось.
---------- Post added at 16:45 ---------- Previous post was at 16:44 ----------
Из-за того, что аппаратный спрайтовый процессор. Ничего не надо печатать поверх фона и не надо его потом восстанавливать. Аналогичная вещь на платформе c CPU Z80 - MSX-2, MSX2+. Игры на порядок лучше чем в дендике.
Конечно он писал не о том, ты ж о NES заговорил. Там игры хороши именно из-за аппаратной графики, не более того. Движок софтверный там по сути один, игры отличаются спрайтами и музыкой. Что то совсем иное там сделать очень сложно (но можно). А на спектруме мы имеем одни минусы, одно окно это раз, спрайтвого процессора нет это два.
---------- Post added at 16:53 ---------- Previous post was at 16:52 ----------
Следовательно, если бы проца не было бы - были бы тормоза аналогично спектруму и шикарных игр там не было бы. Неужели непонятно?
Я прекрасно понимаю о чем он говорит. Знаю о положении дел давно. Ещё в середине 90-х мечтал о 4-х оконном менеджере, но АТМ мне не нравился. Слишком был дорог, капризен и было мало софта под расширенный режим. Всё о что писал топикстартер мне знакомо и понятно, я поддерживаю высказывания. Про NES была всего одна фраза
Он сказал что с двумя окнами уже можно делать вещи. Оно и понятно, у 8086 проца так же имеется минимальный набор сегментных регистров, SX и DX. Что бы организовывать копирование из одной области памяти в другую (не пересекающиеся).
На профи, в МикроДОС, а вернее в CBIOS, автор для обмена данными со страницами ОЗУ сделал буфер на 129 байт и две процедуры, писать в буфер и читать из него. Иначе сделать просто нельзя, когда у нас только одно окно. Имея 2 окна такой проблемы не будет.
Отправил приватом.
У меня и того меньше. Символов 8х8 пикселей всего ~500 штук. То есть порядка 5кб с атрибутами. Но для скорости я их группирую и прескроллирую в рантайме для каждой локации. И уже требуется 32кб. А ещё спрайты.
У меня весь экран перерисовывается целиком. Стирать не надо. Проблемы в:
1) наложении тайлов и спрайтов. В NES это делает аппаратно, я софтверно. Когда есть теневой экран - всё несложно. А когда его нет начинается гемморой.
2) Скорость отрисовки.
Тогда нужен аппаратный LDIR что бы побыстрее кидать данные в экран. Стеком тут делать чрезвычайно сложно, даже бессмысленно, а по 16 тактов у LDI это очень долго. Надо 4-х плоскостной экран, 2 плоскости под фон, 2 под спрайты. Или ещё что нить, в таком роде.
А 2 экрана юзают чаще всего что бы спрайты не пропадали, что бы не мерцало. Если делать переключение, что фон на одном спрайты на другом это изврат.
Такое ашшушение что кто-то гамблинг переделывает под спек. ;)
Откуда-ж его взять на спектруме ? :)
Стек ещё и серъёзные ограничения на дизайн уровней накладывает. Рассматривал, но отказался.
У меня на байт тратится 24 такта. Для 25fps вполне достаточно, а быстрее не сделать.
Чур меня, чур. Взрыающие глаза гигаскрины счетаю блевотиной. У меня два экрана юзаются исключительно как double-buffering.