ZXInno_0.1
Про бочки на полу там же на картинке, и сразу далее мы обсуждаем.
Готовая(запечёная) графика, сразу с клешингом.
...на колу мочало, начиная сначала![]()
а повышенная частота памяти, чтобы в кадре их успеть прочитать - это не больший аппаратный ресурс?
или неведомая схема "внутреннего z-буфера" - это не больший аппаратный ресурс?
Только для нескольких удобных для схемы случаев. Причём в их удобстве надо убедиться, копаясь в логике.
Цветов меньше, фон и спрайты только двухцветные.
Кем, как именно? Если как:
- то лично я уже с постановкой не соглашусь (даже не касаясь пока что не доказанной "минимальности")
Мне вот хочется плавной регулируемости усилий (и результатов, соответствующих усилиям).
Без клэшинга - уже значит не "как на Спектруме". Если речь об обязательной двухцветности объектов - то с какой стати?
Не "потом", а польза блиттера несомненна и в деле ускорения старых игр.
Это мы еще посмотрим, насколько точно.
Нет, невыгодно. "Таким образом" получаем процессорное время в КАЖДОМ игровом кадре на КАЖДЫЙ спрайт = SaveBack + PutSprite + RestoreBack. Если же "чистый" фон заранее единожды создан в буфере, получается только PutSprite + RestoreBack (с незаметной ОДНОКРАТНОЙ задержкой только при переходе в новый экран). Что экономичнее для процессора?
По максимальному общему размеру максимального числа спрайтов, способных оказаться на экране одновременно.
Причём в случае разного размера и формы спрайтов и код сложнее, и возможно, памяти нужно больше.
И с чего бы вдруг процу-то не успевать? При не совсем уж мелких объектах расход времени на поиск нужных тайлов будет меньше времени SaveBack. Расход памяти также будет скорее меньше - не нужны буфера для фона под каждым спрайтом.
Хехехе, но ведь "существующие игры так делают"В основном потому, что (даже без прокрутки фона) не успевают обновить все спрайты и прочие объекты игрового логического кадра за тв-кадр (и даже за несколько тв-кадров). Вот и приходится сначала сначала рисовать в буфер, а потом перебрасывать весь буфер на экран синхронно с лучом, чтобы ничего не мерцало. Также в буфере может адресация быть другой, не совпадающей с экранной спектрумовской раскладкой.
Ответ был таков же, как и вопрос, но кое-кто, похоже, его не понял
Сферическая процедура в вакууме. На практике может оказаться совсем не так. Ну да ладно, можно и такой пример обсудить.
...даже не подозревая, что прерывание нагадило в слой №1 с непредсказуемыми последствиями или вместо нужных данных прочло нули
А я вообще не буду адаптировать алгоритм и старый код совсем никак не буду менять))) Адаптировать следует конфигурацию (не путать с прошивкой) видеодевайса к этому коду. Достаточно сообщить видеокарте основные ключевые точки графпроцедур, типо: здесь читается полоска фона, здесь маска спрайта, а здесь обратная запись байта фона с кусочком спрайта. Фактически сообщаем смысл сигналов системной шины при выполнении процессором команды с этого адреса. Реализовать возможно по-разному, например, как массив кодов внутренних (немногочисленных и простых) команд видеокарты, осуществляющих аналогичные операции над полосками полноцветных пикселей и внутренним аналогом атрибутов. Основную часть массива заполнить "нопами", а команды загрузить перед игрой спецпроцедурой-конфигуратором (можно даже до загрузки самой игры).
Вот на что ресурсы ПЛИС потратить имеет смысл, вместо имитации пачки Спектрумов!
- - - Добавлено - - -
Атрибутные эффекты?.. но это мелочь, основные недостатки zx-poly и подобных решений - нерациональность и неудобство расширения-улучшения.
"Абсолютно для всего" (ну, разве что, кроме слишком хитро самоизменяющегося кода) подойдёт подход, только что описанный мной чуть выше ^
Скрытый текст
(вообще, кстати, применимый при любой структуре внешней видеопамяти, в том числе при б-гомерзкой многослойной...только зачем?)
[свернуть]
Прихожу без разрешения, сею смерть и разрушение...
Зачем? ну зачем переделывать старые добрые игры на ZX, их не хватает в цвете на других платформах? откуда они портированы, Вы по сути делаете 4 шага назад и 0 вперед.
Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)
забачно, zx-poly и "ему подобные решения" единственные кто сохраняет обратную совместимость и дает программеру возможность самостоятельно делать решения (в отличии от решений видеокарт где мы дадим мегажелезо и протокол, а делать всё будет видяха гдет внутри) и при этом упрекается в неудобстве расширения-улучшенияzx-poly и подобных решений - нерациональность и неудобство расширения-улучшения.ну дак спектрум вообще то это платформа которая вообще не предназначена к расширению-улучшению еще на старте, это её фича, что там всё расширение не благодаря, а вопреки
И в чем же (якобы) "несовместимость" других решений?
Какой-то бессмысленный набор слов. Что такого "несамостоятельного" в управлении девайсом по протоколу? Чем оно принципиально отлично от управления процессором Z80 через протокол его машинного языка (вместо, скажем, непосредственного контроля над его четырёхбитным АЛУ)))
А разъём Expansion фирменного Спектрума, стало быть, назвали так шутки ради?![]()
Прихожу без разрешения, сею смерть и разрушение...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)