Pixelrat (обсуждение | вклад) (→Инструкции и исходники) |
Pixelrat (обсуждение | вклад) м (Замена текста — «—» на «-») |
||
(не показано 13 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | {{Основная статья|Nintendo Famicom}} | + | <div style="float:right;">__TOC__</div> |
+ | {{Основная статья|Nintendo Famicom|Текст=Информация о Famicom}} | ||
+ | {{Основная статья|Pixel Art|Текст=Портал:Pixel Art}} | ||
Разрешение: 256х240 | Разрешение: 256х240 | ||
Строка 18: | Строка 20: | ||
* Гигаскрин - быстрое переключение между двух изображений для иллюзии расширения палитры. Возможно переключать и спрайты | * Гигаскрин - быстрое переключение между двух изображений для иллюзии расширения палитры. Возможно переключать и спрайты | ||
* При помощи внешней аппаратуры в теории возможно уменьшение атрибутной зоны до 8х1. Без внешнего железа при штатном количестве памяти атрибутная зона может иметь размер 16х8, с расширенной памятью высоту возможно уменьшить до 1. | * При помощи внешней аппаратуры в теории возможно уменьшение атрибутной зоны до 8х1. Без внешнего железа при штатном количестве памяти атрибутная зона может иметь размер 16х8, с расширенной памятью высоту возможно уменьшить до 1. | ||
+ | * Изменение палитр сопряжено с трудностями, вызывает появление артефактов. Обычно области с разными палитрами разделяли 1-2 пустыми строками. | ||
==Примеры работ== | ==Примеры работ== | ||
Строка 29: | Строка 32: | ||
Файл:Bonsai by pixelrat.png | Файл:Bonsai by pixelrat.png | ||
Файл:73-Colour Chunkybeetle by pixelrat.png | Файл:73-Colour Chunkybeetle by pixelrat.png | ||
− | + | Файл:Много идей by pixelrat.png|Пример гигаскрина | |
− | Файл:Много идей by pixelrat.png | + | Файл:Зима by pixelrat.png|Пример гигаскрина |
− | Файл:Зима by pixelrat.png | + | Файл:Разговор by pixelrat.png|Пример гигаскрина |
− | Файл:Разговор by pixelrat.png | + | Файл:Дедушка by pixelrat.png|Пример гигаскрина |
− | Файл:Дедушка by pixelrat.png | ||
</gallery> | </gallery> | ||
Строка 97: | Строка 99: | ||
* 8-B - отражение по вертикали | * 8-B - отражение по вертикали | ||
* C-F – отражение по горизонтали и вертикали. | * C-F – отражение по горизонтали и вертикали. | ||
− | * 0,1,4,5,8,9,C,D – показывают спрайт поверх фоновых плиток. Остальные | + | * 0,1,4,5,8,9,C,D – показывают спрайт поверх фоновых плиток. Остальные - под ними. |
Вторая цифра параметра определяет палитру: | Вторая цифра параметра определяет палитру: | ||
− | * Палитра 0 | + | * Палитра 0 - 0,4,8,C |
− | * Палитра 1 | + | * Палитра 1 - 1,5,9,D |
− | * Палитра 2 | + | * Палитра 2 - 2,6,A,E |
− | * Палитра 3 | + | * Палитра 3 - 3,7,B,F |
Наборы цветов спрайтов отличны от фона, а потому сохранять их нужно в виде отдельного файла pal-sprites.pal. | Наборы цветов спрайтов отличны от фона, а потому сохранять их нужно в виде отдельного файла pal-sprites.pal. | ||
Строка 125: | Строка 127: | ||
Исходники [[:Файл:nesgiga-withsprites.zip|тут]]. | Исходники [[:Файл:nesgiga-withsprites.zip|тут]]. | ||
− | Задание характеристик спрайтам производится путём редактирования файлов расширения oam в | + | Задание характеристик спрайтам производится путём редактирования файлов расширения oam в [http://frhed.sourceforge.net/en/ hex-редакторе]. |
Первые четыре значения - это первый спрайт, вторые четыре значения - второй спрайт и т.д. | Первые четыре значения - это первый спрайт, вторые четыре значения - второй спрайт и т.д. | ||
Строка 135: | Строка 137: | ||
* 8-B - отражение по вертикали | * 8-B - отражение по вертикали | ||
* C-F – отражение по горизонтали и вертикали. | * C-F – отражение по горизонтали и вертикали. | ||
− | * 0,1,4,5,8,9,C,D – показывают спрайт поверх фоновых плиток. Остальные | + | * 0,1,4,5,8,9,C,D – показывают спрайт поверх фоновых плиток. Остальные - под ними. |
Вторая цифра атрибута тайла определяет палитру: | Вторая цифра атрибута тайла определяет палитру: | ||
− | * Палитра 0 | + | * Палитра 0 - 0,4,8,C |
− | * Палитра 1 | + | * Палитра 1 - 1,5,9,D |
− | * Палитра 2 | + | * Палитра 2 - 2,6,A,E |
− | * Палитра 3 | + | * Палитра 3 - 3,7,B,F |
<gallery widths="128" heights="96"> | <gallery widths="128" heights="96"> | ||
Файл:Дедушка by pixelrat.png|[[:Файл:dedushka.zip|сурсы]] | Файл:Дедушка by pixelrat.png|[[:Файл:dedushka.zip|сурсы]] | ||
Строка 221: | Строка 223: | ||
[[Файл:nesint-cc-7.png|400px]] | [[Файл:nesint-cc-7.png|400px]] | ||
− | Загружаем в NES Screen Tool палитру своего изображения, в пункте меню Palettes выбираем Put ASM data to clipboard. Так мы скопировали свою палитру в формате ассемблера: | + | Загружаем в NES Screen Tool палитру своего изображения, в пункте меню Palettes выбираем Put ASM data to clipboard. Так мы скопировали свою палитру в формате ассемблера: |
.db $0f,$2a,$30,$21,$0f,$27,$15,$30,$0f,$30,$11,$21,$0f,$30,$15,$21 | .db $0f,$2a,$30,$21,$0f,$27,$15,$30,$0f,$30,$11,$21,$0f,$30,$15,$21 | ||
Строка 229: | Строка 231: | ||
Производим замену значений и сохраняем файл. | Производим замену значений и сохраняем файл. | ||
− | Теперь открываем две копии программы YY-CHR. В первой мы открываем FDSPic.CHR из папки source, а во второй | + | Теперь открываем две копии программы YY-CHR. В первой мы открываем FDSPic.CHR из папки source, а во второй - наши CHR-файлы. |
[[Файл:nesint-cc-8.png|400px]] | [[Файл:nesint-cc-8.png|400px]] | ||
Строка 239: | Строка 241: | ||
[[Файл:nesint-cc-9.png|400px]] | [[Файл:nesint-cc-9.png|400px]] | ||
− | Теперь в в левой программе двигаем ползунок вниз до тех пор, пока скопированная часть не скроется, а в правой | + | Теперь в в левой программе двигаем ползунок вниз до тех пор, пока скопированная часть не скроется, а в правой - до самого низа. Аналогично производим другое копирование. |
[[Файл:nesint-cc-10.png|400px]] | [[Файл:nesint-cc-10.png|400px]] | ||
Строка 260: | Строка 262: | ||
</gallery> | </gallery> | ||
</spoiler> | </spoiler> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Категория:Графика]] | [[Категория:Графика]] |
Текущая версия на 13:32, 22 апреля 2025
Разрешение: 256х240
Графическая система тайловая, т.е. данные изображения хранятся в виде плиток 8х8. Для окрашивания тайлов имеется 4 набора по 4 цвета на фон (один из них общий) + 4 наборов по 3 цвета (не считая прозрачного) на спрайты. Цветовые наборы применяются к атрибутной зоне 16х16. Таким образом, на экране может быть максимум 25 цветов.
Платформа имеет аппаратные спрайты: 64 штуки размером 8х8 или 8х16, не более 8 спрайтов на строке. Спрайты могут быть отражены по вертикали или горизонтали. Спрайты могут браться из своего набора тайлов или из фонового набора.
Famicom способен одновременно отображать 256 уникальных тайлов фона.
Пути обхода
- Накладывание спрайтов для обхода цветовых ограничений
- Интерлейсинг - переключение банка тайлов на другой в нужный момент. Требуется точный тайминг, что требует подгонки изображения для PAL и NTSC регионов отдельно, а также исключает возможность использования семплов в музыке
- Использование маппера MMC5 для уменьшения атрибутной зоны до 8х8 и использования максимально возможного количества уникальных тайлов
- Гигаскрин - быстрое переключение между двух изображений для иллюзии расширения палитры. Возможно переключать и спрайты
- При помощи внешней аппаратуры в теории возможно уменьшение атрибутной зоны до 8х1. Без внешнего железа при штатном количестве памяти атрибутная зона может иметь размер 16х8, с расширенной памятью высоту возможно уменьшить до 1.
- Изменение палитр сопряжено с трудностями, вызывает появление артефактов. Обычно области с разными палитрами разделяли 1-2 пустыми строками.