Об этом проекте

SGDK — это бесплатный и открытый набор для разработки программного обеспечения на языке C для Sega Mega Drive. Он включает библиотеку разработки с исходным кодом, а также специальные инструменты, используемые для компиляции ресурсов в образ ROM. Сборка использует компилятор GCC (целевая платформа m68k-elf) и libgcc; предварительно собранные бинарные файлы GCC 13.2 предоставляются для Windows, в то время как для других операционных систем требуется отдельная установка компилятора. Также требуется Java, поскольку специальные инструменты зависят от неё. Библиотека и специальные инструменты распространяются под лицензией MIT, в то время как GCC и libgcc подпадают под GPL3 с исключением для библиотеки времени выполнения GCC. Для начала работы предполагается знакомство с C и, как минимум, базовые знания аппаратного обеспечения Mega Drive, особенно его видеосистемы. В README есть ссылки на несколько технических справочников, охватывающих графику, архитектуру Mega Drive и Руководство по программному обеспечению Genesis. Инструкции по установке и учебные пособия находятся в вики проекта, а онлайн-документация doxygen, сгенерированная из заголовочных файлов, описывает все структуры и функции. Центральной концепцией являются ресурсы, которые компилируются с помощью инструмента rescomp. Документация rescomp объясняет, какие типы ресурсов поддерживаются и как их объявлять. Папка с примерами, особенно пример Sonic, демонстрирует общее использование функций и ресурсов SGDK. Дополнительные учебные пособия приведены по ссылкам, включая Ohsat, Danibus (на испанском) и серию видео Pigsy на YouTube, с предупреждением, что некоторые онлайн-руководства устарели или содержат ошибки. В README перечислены полезные инструменты для ресурсов: редакторы пиксель-арта и спрайтов, такие как Aseprite, Graphics Gale, Pro Motion, Grafx2, и онлайн-квантайзер палитры; редакторы карт и уровней, включая 16Tile, PNGPalPrio4SGDK, Tiled, LDTK, Ogmo, и объединитель палитр; а также музыкальные и звуковые инструменты, такие как Deflemask, Furnace, Wavosaur и Audacity. Отмечены альтернативные звуковые драйверы: MDSDRV, Echo и MiniMusic. Каналы поддержки включают сервер SGDK Discord и форум Spritesmind, где есть специальный раздел SGDK. Для Linux и macOS в README указаны скрипт Wine, SGDK Helper, среда MarsDev (для всех ОС, также поддержка 32X) и порт для macOS. Поддержка Docker больше не интегрирована; вместо этого рекомендуется решение Doragasu docker. Расширение VS Code под названием Genesis-Code упрощает интеграцию, и SGDK включает шаблон проекта для VS Code. Рабочий процесс на основе AWS также описан во внешнем сообщении в блоге. SGDK бесплатен, но его можно поддержать через Patreon. В README упоминаются многочисленные участники за многозадачность, поддержку контроллеров, обработку ошибок, примеры, логотипы, сборочные скрипты и исправления, а также благодарятся доноры. Также представлены проекты, созданные с помощью SGDK, включая Tanzer, Masiaka, Xeno Crisis и Demons of Asteborg, а также более длинный список игр и демо.