Графическая система тайловая, т.е. данные изображения хранятся в виде плиток 8х8. Для окрашивания тайлов имеется 8 наборов по 4 цвета на фон + 8 наборов по 3 цвета (не считая прозрачного) на спрайты. Цветовые наборы применяются к атрибутной зоне 8х8 (в отличии от Famicom, где зона имеет размер 16х16). Таким образом, на экране может быть максимум 56 цветов, несмотря на очень богатую палитру.
Платформа имеет аппаратные спрайты: 40 штук размером 8x8 или 16х16, не больше 10 спрайтов на строке.
Для увеличения количества цветов на экране можно переключать палитры. Возможно уменьшение атрибутной зоны до 8х2, и на каждые 2 строки будут свои наборы цветов (в результате чего максимальное количество цветов составляет 2304).
Для создания картины под Game Boy Color понадобиться пара не очень удобных программ: Gameboy Map Builder и Gameboy Tile Designer, а также вот этот архив с исходниками.
Запускаем Gameboy Tile Designer (далее GBTD) и Gameboy Map Builder (далее GBMB) и открываем в них из папки source Splash360.gbr и Splash360.gbm соответсвенно.
Важный момент: не нужно создавать новые gbr и gbm. Работаем только с существующими Splash360.gbr и Splash360.gbm.
GBTD и GBMB работают вместе, и изменение плиток в Tile Designer тут же отображается в Map Builder.
В формате современного RGB палитра задаётся значением красного, зеленого и синего цветов в промежутке от 0 до 255
В Game Boy Color RGB 15-битное, и красный, зеленый и синий цвета задаются значениями от 0 до 31, так что вооружаемся калькулятором и высчитываем методом пропорций.
Чтобы отредактировать палитру, в GBTD открываем View > Palletes, забиваем эти значения в нужный набор и нажимаем ОК.
Рисуем тайл, сохраняем. Тайлсет обновляется в GBTD, и мы можем задать позицию новой плитке
Повторяем все эти действия, пока картинка не будет завершена.
Кстати, в GBMB работает выделение и копирование, так что если есть такая необходимость, пользуйтесь. Ещё можно выделять тайлы и менять им палитру, но если вы думаете, что это имеет смысл для экономии места, то не имеет - геймбой может отображать все 360 тайлов без трюков, и для просто картинки изгаляться не требуется.
Закончили переносить картинку? Теперь нам нужно как-то перевести сделанные тайлы и тайловую карту в формат для ассемблера.
Итак, в GBMB идём по пути File > Export to…
во вкладках нужно выставить такие значения:
Нажимаем ОК и снова File > Export to…, но теперь выставляем такие значения:
Нажимаем ОК. Теперь GBMB можно закрывать.
Переходим к GBTD. Здесь просто нажимает File > Export.
В папке source нажимаем на Make.bat и появляется файл splash360.gbc.
Запускаем в эмуляторе и наслаждаемся результатом.
Данная инструкция поможет собирать картинки с большим количеством цветом.
Большим недостатком метода является использование конвертера, который может оказать негативное влияние на результат. Требуются эксперименты с атрибутными зонами.
Скачайте архив Gameboy-HiColour.zip со всем необходимым.
hicolour.exe - это конвертер, принимает изображения строго разрешения 160х144 и строго формата TGA 24-bit.
В полях "left/right screen" задаётся тип конвертации. Под этими полями выбирается метод упрощения изображения.
Требуется проведение экспериментов с этими параметрами для достижения наилучшего результата.
После подбора параметров, нажмите Convert, затем Export Data. Название сохраняемых файлов не меняем. Сами файлы сохраните в ту же папку, где и остальные файлы. Затем нажмите compile.bat для получения образа color.gbc.