Предсловие
Sega Genesis Development Kit (SGDK) — это бесплатный набор инструментов, необходимых для создания игры под приставку Sega Megadrive. Данный GDK, содержит компилятор «C» кода, и набор нужных нам библиотек.
Целью данного урока, является создание простейшего приложения «Hello World«. Но, для начала, нужно подготовить инструменты.
Подготавливаем инструменты.
Сначала, скачайте последнюю версию SGDK, с официального GitHub репозитория (Ссылка).
Затем, переместите содержимое архива в папку C:/SGDK

Теперь, нужно создать системные переменные, для этого нажмите ПКМ по кнопке «Этот компьютер«. В списке, выберите «Свойства«

Далее зайдите в «Дополнительные параметры системы» и нажмите кнопку «Переменные среды«

И создайте переменную GDK_WIN

Переменная создана. Не забудьте нажать «ОК«, что-бы изменения вступили в силу.
Пишем код.
Скачайте пустой проект с MEGA.
И переместите его, в любое место. Затем, откройте в папке src файл main.c.
#include <genesis.h>
int main()
{
while(1)
{
SYS_doVBlankProcess();
}
return (0);
}
В нем уже написана необходимая основа, давайте её разберем.
#include <genesis.h>
Здесь, мы подключили библиотеку с необходимыми функциями.
int main()
Точка входа в программу.
SYS_doVBlankProcess();
Данная функция, ждет отрисовки кадра.
while(1)
{
SYS_doVBlankProcess();
}
Операция будет повторяться бесконечное количество раз while(1).
Теперь, нужно добавить надпись «Hello World» на экран. Для этого, добавьте следующую комманду, в начало блока main.
VDP_drawText("Hello World", 1,1);
Разберем синтаксис.
VDP_drawText("сообщение", x_тайл, y_тайл);
- сообщение — текст выводимый на экран.
- x_тайл — точка x, на тайловой сетке.
- y_тайл — точка y, на тайловой сетке.
Тайл — это изображение 8×8 пикселей.
То-есть, в нашем случае.
VDP_drawText("Hello World", 1,1);
Значит, что мы выведем сообщение «Hello World«, на координатах:
- x = 8
- y = 8
Теперь, откройте compile.bat, что-бы скомпилировать приложение.
После компиляции, в папке out проекта, должен появится файл rom.bin. Запускаем.
Исходный код доступен на github
Итоговый результат.
