Материал из Chipwiki
Перейти к: навигация, поиск
Master System/Pixel Art — различия между версиями
Строка 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 цветов из набранной палитры.

Обход ограничений

  • Используя прерывания, возможно менять палитру каждые две строки
  • Переключение графических банков в нужный момент отрисовки изображения позволяет задействовать уникальные тайлы на всей площади картины, однако возможное количество одновременных цветов будет уменьшено

Примеры работ

Инструкции и исходники

Простая картинка

Простая картинка со спрайтами

Ссылки