Разрешение: 256х192, 256х224 или 256х240 в зависимости от настроек
Палитра:
Файл:SMS palitra.png
Графическая система тайловая, т.е. данные изображения хранятся в виде плиток 8х8. В видеопамяти может храниться 488 плиток. На фон можно использовать все 488 плиток. Плитки фона можно отзеркаливать.
Платформа имеет аппаратные спрайты: 64 штуки размером 8х8 или 8х16, не более 8 спрайтов на строке. Спрайты могут браться из первых 256 тайлов или последующих.
Из палитры одновременно на экране может быть использовано 16 цветов для фона и 15 цветов (не считая прозрачного) для спрайтов. В каждом тайле можно использовать 16 цветов из набранной палитры.
Обход ограничений
- Используя прерывания, возможно менять палитру каждые две строки
- Переключение графических банков в нужный момент отрисовки изображения позволяет задействовать уникальные тайлы на всей площади картины, однако возможное количество одновременных цветов будет уменьшено
Примеры работ
Инструкции и исходники
Простая картинка
Скачиваем Файл:SMS-withoutsprites.zip архив со всем необходимым.
Нажатие на "Convertimage&Compile.bat" сконвертирует и скомпилирует файл картинки.
Файл картинки должен иметь разрешение 256х192 и цветовую глубину 16 цветов.
Простая картинка со спрайтами
Скачиваем Файл:SMS-withsprites.zip архив со всем необходимым.
"ConvertBackground.bat" сконвертирует файл "image.bmp" в данные фон.
"ConvertSprites" сконвертирует "sprites.bmp" в данные спрайтов.
"Compile" скомпилирует все данные в ром.
Файлы фона и спрайтов должны иметь цветовую глубину 16 цветов. Файл фона должен иметь разрешение 256х192.
Расположение спрайтов на экране осуществляется путём редактирования файла "source.asm" на этих строчках:
Номера тайлов спрайтов берутся по порядку в файле "sprites.bmp".
Возможно изменить размер спрайта до 8х16. Для этого ищем строчку:
turnOnScreen:
ld a,%11000000
и меняет предпоследний 0 на 1. Тогда нижняя часть спрайта будет браться из следующей после указанной плитки.
Если изображение занимает более 256 плиток, то запустив скомпилированный ром, мы увидим, что вместо некоторых фоновых плиток находятся спрайтовые. Чтобы это исправить, нам нужно записать плитки спрайтов по другому адресу.
Открываем скомпилированный ром в эмуляторе Meka и смотрим тайловые карту и набор.
К свободному адресу нужно прибавить $4000, а затем ввести значение сюда:
Отсчёт спрайтовых тайлов в любом случае начинается с 256-го, поэтому в соответствующую строчку нужно внести соответствующее изменение. В случае примера тайлы спрайтов будут иметь номера 37 и 38.
Ссылки