у тебя спрайт одного цвета должен бегать по разному paper-у
Я ГАРАНТИРУЮ что будет куча головной боли (когда 256 комбинаций начнут подходить к концу)
Я предлагаю 8 палитр, по одной на строку ряда знакомест, циклически сменяемых. Больше не вижу смысла (и уж явно не по палитре на строку экрана).
Пентева так пентева.Цитата:
Пентева не?
Пруф?Цитата:
У буржуев оно уже все было вжелезе за 10 лет до этих новоделов
- - - Добавлено - - -
Ну так сделать для всех paper, по которым бегают спрайты, один и тот же цвет ink. Также, как у оригинала.
Оно у них было в каком то клоне на ФПГА
щас не могу найти
щас самое раннее что попадается
http://www.probosci.de/zxbada/fpga/
тут ула+ прикручена с 2011 года
а может это оно и было?
Еще нашел упоминание zx конфы для V6Z80P
в районе 2011
http://zx-pk.ru/threads/16427-tochny...ya-v6z80p.html
самое интересное что там вообще называют его эмулятором))))
а не то что НОВЫМ СТАНДАРТОМ
http://foro.speccy.org/viewtopic.php...p=26418#p26418
Всё же не за 10 лет, а за 3 года до Веги. Опять же - я не против ULA+, как минимум, под неё уже написано много софта. Я предполагал свою идею изначально расширением ULA+, потом решил, что особой необходимости в таком расширении нет. А сейчас, раз уж ULA+ в Next зарубили, решил поделиться мыслями.
В нексте уже реализована идея выбора кол-ва бит между paper'ом и ink'ом. Палитра хранится в памяти FPGA и её можно быстро менять, как целиком, так и отдельно взятый цвет (группу цветов) изменяя значение порта Index.
Режимы следующие:
2 INK / 127 PAPER (маска 00000001)
4 INK / 64 PAPER (маска 00000011)
8 INK / 32 PAPER (маска 00000111)
16 INK / 16 PAPER (маска 00001111)
32 INK / 8 PAPER (маска 00011111)
64 INK / 4 PAPER (маска 00111111)
128 INK / 2 PAPER (маска 01111111)
256 INK / 1 PAPER (маска 11111111)
Включенный бит маски сооветствует INK, выключенный PAPER.
Формат палитры 256 байт RRRGGGBB формата.
INK задаётся по индексу +0
PAPER по индексу +128
Да, это лишний изврат.
- - - Добавлено - - -
Ну, никто не мешает впилить ещё один режим. Не буду критиковать ваш режим, для новых игр он может быть полезен, но мой явно гибче и богаче по возможностям. В частности, ваш режим не дает возможность писать игры параллельно под старые компьютеры, и под Next.
Одно из дополнительных преимуществ моего режима - он дает возможность обратной совместимости с ULA+ на уровне загрузчика - можно дописывать к ULA+ играм свой загрузчик, загружающий используемую игрой палитру атрибутов ULA+. Разумеется, это справедливо и не для ULA+ игр - можно делать к ним загрузчик, и перераскрашивать игру (так же, как это делалось с ULA+).
Мой режим основан на совершенно ином принципе, чем ULA+. Им можно закодировать цвета, которые использует игра с ULA+, но можно закодировать и другие цвета. Он не совместим с ULA+ программно, он может повторить ULA плюс расцветку конкретной игры, но своим, отличным от ULA+ способом. Не думаю, что это можно назвать доработанным ULA+.
Потому что формат атрибутов отличается. Как атрибуты вашего режима лягут на атрибуты стандартного режима атрибутов спектрума? Будет цветовая неразбериха. Останется только выводить разные атрибуты для стандартного и вашего режима атрибутов. Либо ограничиваться режимом 5 бит paper - 3 бита Ink, фактически используя только 3-4 бита paper (без бита flash, bright можно использовать с ограничениями).Цитата:
Почему на даёт? Dizzy будет работать и на классике и на Next.
- - - Добавлено - - -
Если кто ещё не понял, в чем суть предлагаемого мной режима.
Задание пары цветов текущей палитры для некоторого атрибута:
LD A, значение атрибута (0..255)
OUT (ПортНомераАтрибута),A
LD A, цвет INK
OUT (ПортЗаданияЦвета),A
LD A, цвет PAPER
OUT (ПортЗаданияЦвета),A
Это для глубины цвета в 8 бит, для большей количество выводов в порт задания цвета соответственно увеличивается. Вывод в порт задания цвета автоматически инкрементирует указатель байта в палитре атрибутов, соответственно, можно использовать команды блочного вывода в порт для задания палитры. Две команды OTIR задают всю палитру для 256 атрибутов (опять же, для глубины цвета в 8бит).
- - - Добавлено - - -
Просто - понятно - вольготно :)