Pixelrat (обсуждение | вклад) |
Pixelrat (обсуждение | вклад) |
||
Строка 34: | Строка 34: | ||
Скачиваем [[Файл:SMS-withsprites.zip|этот]] архив со всем необходимым. | Скачиваем [[Файл:SMS-withsprites.zip|этот]] архив со всем необходимым. | ||
− | ... | + | "ConvertBackground.bat" сконвертирует файл "image.bmp" в данные фон.<br/> |
+ | "ConvertSprites" сконвертирует "sprites.bmp" в данные спрайтов.<br/> | ||
+ | "Compile" скомпилирует все данные в ром. | ||
+ | |||
+ | Файлы фона и спрайтов должны иметь цветовую глубину 16 цветов. Файл фона должен иметь разрешение {{Подсказка|256х192|Можно и 256х240, но отображаться будет только верхняя часть}}. | ||
+ | |||
+ | Расположение спрайтов на экране осуществляется путём редактирования файла "source.asm" на этих строчках: | ||
+ | |||
+ | [[File:SMS-spritemanual1.png|200px]] | ||
+ | |||
+ | [[File:SMS-spritemanual2.png|200px]] | ||
+ | |||
+ | [[File:SMS-spritemanual3.png|200px]] | ||
+ | |||
+ | Номера тайлов спрайтов берутся по порядку в файле "sprites.bmp". | ||
+ | |||
+ | Возможно изменить размер спрайта до 8х16. Для этого ищем строчку: | ||
+ | <pre>turnOnScreen: | ||
+ | ld a,%11000000</pre> | ||
+ | и меняет предпоследний 0 на 1. Тогда нижняя часть спрайта будет браться из следующей после указанной плитки. | ||
+ | |||
+ | Если изображение занимает более 256 плиток, то запустив скомпилированный ром, мы увидим, что вместо некоторых фоновых плиток находятся спрайтовые. Чтобы это исправить, нам нужно записать плитки спрайтов по другому адресу. | ||
+ | |||
+ | Открываем скомпилированный ром в [http://www.smspower.org/meka/ эмуляторе Meka] и смотрим тайловые карту и набор. | ||
+ | |||
+ | [[File:SMS-spritemanual4.png|600px]] | ||
+ | |||
+ | К свободному адресу нужно прибавить &4000, а затем ввести значение сюда: | ||
+ | |||
+ | [[File:SMS-spritemanual5.png|200px]] | ||
+ | |||
+ | Отсчёт спрайтовых тайлов в любом случае начинается с 256-го, поэтому в соответствующую строчку нужно внести соответствующее изменение. В случае примера тайлы спрайтов будут иметь номера 37 и 38. | ||
</spoiler> | </spoiler> | ||
==Ссылки== | ==Ссылки== |
Версия 17:12, 20 марта 2019
Разрешение: 256х192, 256х224 или 256х240 в зависимости от настроек
Палитра:
Файл:SMS palitra.png
Графическая система тайловая, т.е. данные изображения хранятся в виде плиток 8х8. В видеопамяти может храниться 488 плиток. На фон можно использовать все 488 плиток. Плитки фона можно отзеркаливать.
Платформа имеет аппаратные спрайты: 64 штуки размером 8х8 или 8х16, не более 8 спрайтов на строке. Спрайты могут браться из первых 256 тайлов или последующих.
Из палитры одновременно на экране может быть использовано 16 цветов для фона и 15 цветов (не считая прозрачного) для спрайтов. В каждом тайле можно использовать 16 цветов из набранной палитры.
Обход ограничений
- Используя прерывания, возможно менять палитру каждые две строки
- Переключение графических банков в нужный момент отрисовки изображения позволяет задействовать уникальные тайлы на всей площади картины, однако возможное количество одновременных цветов будет уменьшено