извините что влез в вашу беседу. но почему бы разработчику не посмотреть то уже было сделано? а именно описание VIC-II на C64? там есть и прерывание по определенной линии растра и 8 аппаратных спрайтов и тд. всегда можно взять готовое и улучшить
извините что влез в вашу беседу. но почему бы разработчику не посмотреть то уже было сделано? а именно описание VIC-II на C64? там есть и прерывание по определенной линии растра и 8 аппаратных спрайтов и тд. всегда можно взять готовое и улучшить
C64C+1541II
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Я тоже считаю, что лучше ограничиться выходом SCART, ну может VGA. А YPbPr легко сделать ?
Мне в концепциях предложили увеличить количество слоев экрана и сделать аппаратные спрайты и скроллинг всего экрана.
Это навело меня на более эффективный и удобный способ построения экрана. Можно сделать, наоборот, всего один слой, но два экрана как ZX128. На одном экране будем строить изображение игровой ситуации. А второй экран в это время отображает текущее состояние игры. По прерыванию экраны меняются местами с помощью соответствующей команды.
Для реализации графики всего на одном слое достаточно реализовать аппаратное копирование спрайтов с учетом прозрачного цвета. Если цвет точки спрайта при копировании не прозрачный - записать на экран этот цвет. Если же данная точка в спрайте прозрачная - ничего не делать и переходить к копированию следующей.
Тогда мы просто путем копирования создаем фон, на него поочередно копируем все остальные спрайты, начиная с дальнего. Таким образом передние объекты будут правильно загораживать дальних. И это призойдет само сабой без манипуляции слоями.
Это позволит создавать даже игры типа DOOM2 с объектами на разных планах используя всего один слой и не задумываясь, как нам накладывать загораживающие друг друга объекты.
Последний раз редактировалось zx-kit; 16.06.2013 в 10:55.
"L-256"
Последний раз редактировалось Valen; 16.06.2013 в 14:56.
V6Z80P - Back for Good
Блин, люди, вы всё таки не забывайте что вы Спектрум улучшаете. А то вы сейчас монстра создадите, который и близко о Спектруме напоминать не будет. Крутых безликих компов и так навалом, стоит ли плодить еще один безликий? Сумеете ли вы сочетать крутую производительность в графике со Спектрумовской индивидуальностью?
В 90-х годах была идея подключать спектрум к Денди через слот вместо катриджа и использовать Деньдю как графическую карту и тема эта вызвала жуткий холивар и в конце концов захирела. Смотрите не наступите на те же грабли.
>и в конце концов захирела
Да щязз, см. AMD HUMA/HSA - писк сезона =)
Немного о компрессии спрайтов.
После прочтения про рисование тайлов к играм (http://gas13.ru/v3/tutorials/ru_sywt...g_greats_1.php) сделал вывод, что не следует гнаться за цветастостью и использовать более 4 оттенков в одном спрайте для фона. Тогда на цвет каждой точки достаточно двух битов вместо восьми. Упакованный спрайт для фона травы, земли, стен и т.п. размером 16 х 16 точек будет содержать не 256 байтов, а только 64. Плюс 4 байта на таблицу цветов для этого спрайта. Итого экономим 256 - 68 = 188 байтов. Ужимаем почти в 3.8 раза.
Если взять спрайт размером 8 х 8 точек с двумя цветами в спрайте, то при стандартных цветах ZX SPECTRUM на это уйдет 9 байтов.
Сжатые спрайты перед записью в буфер видеокарты распаковываем в представление 256 цветов на точку.
Таким образом, для начала можно использовать стандартные цвета без увеличения объема памяти игры. А если в игре кроме этого были еще и заранее сдвинутые спрайты для ускорения скроллинга экрана, то занимаемая игрой память будет еще меньше.
Пока разрабатывается и изготавливается железо полезно было бы прикинуть, на чем можно было бы протестировать собранную видеокарту и какая программа подойдет для рисования спрайтов с данной палитрой цветов (256 оттенков как в MSX2).
Последний раз редактировалось zx-kit; 18.06.2013 в 17:12.
"L-256"
Значит компрессор должен считать количество оттенков в спрайте и использовать соответствующий способ компрессии для каждого спрайта. 7 оттенков (от 5 до 16) укладывается в 4 бита. Компрессия будет примерно в 1.5-2 раза. Для универсальной распаковки в 256 цветов блок каждого упакованного спрайта должен содержать параметры: количество N оттенков в спрайте, таблица оттенков (N байтов), затем соответствующее способу компрессии количество байтов данных.
Последний раз редактировалось zx-kit; 18.06.2013 в 17:27.
"L-256"
Зачем?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)