Patreon:https://www.patreon.com/sgdk
github:https://github.com/stephane-d/sgdk
SGDK是一个免费的开发套件,允许使用SEGA Mega Drive的C语言开发软件。它包含开发库本身(带有代码源)和一些用于编译资源的自定义工具。 SGDK使用GCC编译器(M68K-ELF目标)和LIBGCC生成ROM图像。为了方便起见,Windows OS提供了二进制文件(GCC 6.3),但是您需要自己安装其他操作系统。请注意,SGDK还需要Java(自定义工具需要它),因此您需要在系统上安装Java。
SGDK库和自定义工具是根据MIT许可证分发的(请参阅License.txt文件)。 GCC编译器和LIBGCC在GNU许可证(GPL3)下,任何软件构建(因为SGDK库)在GCC运行时库异常许可下(请参阅copying.runtime文件)
首先,您需要知道SGDK使用C语言(也可以使用C语言,但不是必需的),因此强烈建议在尝试使用SGDK开发之前熟悉C编程。与学习“ Sega Mega Drive”编程同时学习C语言绝对是太困难了,您最终将一无所获。至少拥有Sega Mega Drive硬件(特别是视频系统)的基本知识也很重要。
and -0-很棒的大型驱动器开发参考:
https://github.com/and-0/awesome-megadrive
栅格卷轴 - SEGA Mega Drive图形指南:
https://rasterscroll.com/mdgraphics/
Mega Cat Studios -Sega Mega Drive图形指南:
https://megacatstudios.com/blogs/retro-development/sega-genesis-mega-drive-vdp-graphics-guide-guide-v1-2a-03-14-17
Sik的博客致力于MD集会编程,但有关SEGA Mega Drive硬件的许多内容(并以一种很好的方式):
https://plutiedev.com
Rodrigo Copetti的一篇不错的文章解释了Mega Drive Architecture:
https://www.copetti.org/projects/consoles/mega-drive-genesis
Genesis软件手册中包含有关SEGA Mega Drive的所有内容:
https://segaretro.org/images/a/a2/genesis_software_manual.pdf
然后,当您准备就绪时,您可以走得更远,最后安装SGDK :)
您可以找到有关如何在Wiki上使用SGDK的安装说明和教程:
https://github.com/stephane-d/sgdk/wiki
SGDK带有Doxygen文档(由.H标头文件生成),该文档提供了有关SGDK结构和功能的描述。您可以在“ DOC”文件夹中找到它(在浏览器中打开本地doc/html/files.html )。
重要的是要知道SGDK在很大程度上依赖于通过Rescomp工具编译的资源。您应该读取rescomp.txt文件,以了解可以使用哪种资源以及如何声明它们。然后,您可以查看SGDK的“示例”文件夹,尤其是Sonic示例,它是SGDK使用的很好的显示(函数和资源)。
您可以在网上找到很多有关SGDK的教程,但要小心,有些是过时的,有时是错误的。
我真的建议您从Wiki开始,该Wiki提供了可以启动的基础知识,但是如果您需要更多的视觉和更完整的教程,则可以尝试其中的任何一个:
来自OHSAT的MD编程教程:
https://www.ohsat.com/tutorial/mdmisc/creating-graphics-for-md/
Danibus(仅西班牙语)的非常完整和视觉教程:
https://danibus.wordpress.com/
这是一个有用的工具列表来帮助您创建资产:
Asesprite
图形大风
晋升
grafx2
调色板量化器:使用调色板调节的强大工具转换您的图像
16tile:SGDK特定图块地图编辑器
瓷砖:瓷砖地图编辑器,由SGDK资源编译器工具支持
LDTK:新的但功能强大的瓷砖地图编辑器(也支持瓷砖格式)
OGMO:另一个漂亮而简单的瓷砖地图编辑器
调色板合并:一种工具,允许轻松更改瓷砖调色板索引和优先级
DEFLEMASK:音乐跟踪器支持多个系统作为Sega Mega Drive
炉子:支持许多系统的新音乐追踪器
Wavosaur:Wave Sound编辑器(仅Windows)
Audacity:Wave Sound编辑器(全操作系统)
SGDK声音驱动程序可能不符合您的需求,因此重要的是要知道存在一些替代方案:
MDSDRV:强大的声音驱动程序支持FM&PSG SFX,可俯仰的PCM播放...
回声:另一个支持FM和PSG SFX并在Z80 CPU上工作100%的声音驱动程序。
Minimusic:Mega Drive的一个小型Z80驱动程序,完全脱离Z80 RAM,无法访问墨盒插槽。
如果您需要SGDK的帮助或支持,则可以加入SGDK Discord Server:
https://discord.gg/xmnbwqs
您也可以访问SpritesMind论坛,该论坛专门用于SEGA Mega Drive开发,并为SGDK提供了特定部分:
http://gendev.spritesmind.net/forum/
Unix/Linux用户应该尝试一下这个非常简单的脚本,使您可以轻松地使用葡萄酒中的SGDK:
https://github.com/franticware/sgdk_wine
丹尼尔·瓦尔迪维索(Daniel Valdivieso)也提出了一种新的解决方案,该解决方案将SGDK与vscode一起使用葡萄酒中的任何操作系统:
https://github.com/v4ld3r5/sgdk_vscode_template
另一个不错的选择是使用Andy Grind开发的完整Marsdev环境:https://github.com/andwn/marsdev,它支持所有OSS,提供SGDK兼容性以及32X的支持,因此请确保检查一下。
MACOSX用户还可以使用SONIC3D项目中的MacOS访问SGDK:
https://github.com/sonic3d/gendev-macos
在任何环境上安装它的现代方法是使用Docker。
下载sgdk
基本图像:
docker pull ghcr.io/stephane-d/sgdk docker tag ghcr.io/stephane-d/sgdk sgdk
或构建它:
docker build -t ghcr.io/stephane-d/sgdk-m68k-gcc:latest -f deps/gcc.Dockerfile deps/ docker build -t sgdk .
然后编译本地Env,例如samples
:
cd sample/game/sonic docker run --rm -v "$PWD":/src sgdk
笔记:
$PWD
将无法在Windows上使用,必须使用%CD%
。
要避免将./out
文件作为root编写,请执行Docker命令作为当前用户: docker run --rm -v "$PWD":/src -u $(id -u):$(id -g) sgdk
您也可以尝试使用本机Linux编译器(快得多)的替代Doragasu Docker解决方案:https://gitlab.com/doragasu/doragasu/docker-sgdk
Yes you're reading correctly, thanks to Matthew Nimmo you can even now use SGDK from AWS ^^ Here's the link to his blog which explain how to do that: https://community.aws/content/2hZInsYwWX8cYEAIFKquutVoYQj/how-to-构建retro-games in-aws-in-sege-Genesens-geneseverment-kit-sgdk
您可以在“ Vstudio”文件夹中找到视觉工作室模板,以促进与VS的SGDK集成。或者,为了进一步,您也可以安装Zerasul制造的VS扩展名:
https://marketplace.visualstudio.com/items?itemname=zerasul.genesis-code
SGDK是完全免费的,但您可以在Patreon上支持它:https://www.patreon.com/sgdk
多任务引擎(基于SIK实现),Megawifi,Flash Save Support和其他其他不错的补充。
SIK用于多任务基础实施及其所有无法价值的Plutidev Sega Mega Drive技术信息源。
寒冷的威利(Willy)在SGDK中几乎获得了所有欢乐 /控制器的支持(以及Joy Test样本^^)。
星菲尔德甜甜圈样品和修改后的Readme的Astrofra;)
Gligli用于构建和为Windows提供GCC 6.3。
制作“可爱” SGDK徽标的Gunpog。
Adrian Spoz制作了“ Profesionnal” SGDK徽标。
vojtěchsalajka的脚本,允许轻松使用葡萄酒(Linux/unix,但也可以在OSX上使用SGDK)。
Daniel Valdivieso用于另一种基于葡萄酒的解决方案,用于在多OS上使用SGDK(包括VSCODE模板)。
Andy Grind for Marsdev项目允许在任何操作系统上使用SGDK,并支持32X DEV。
SGDK的Gendev Linux港口的Kubilus。
Sonic3D用于SGDK的Gendev OSX港口。
Vladimir Kryvian用于视觉工作室支持和模板。
史蒂夫·施奈普(Steve Schnepp)获得Docker的支持。
Andreas Dietrich用于良好的摇摆器和缩放效果样品。
各种贡献的CLBR。
Jgyllinsky提供 /改善批处理。
修复 /贡献的Nolddor。
Starling13用于修复。
DavidGF的贡献(改进了组装LTO优化)。
Shiningbzh / Jeremy和Kentosama在测试方面提供了宝贵的帮助。
Vetea和Studio Vetea不和谐的人一般都支持和善良。
我忘记的所有这些人,通常所有人都通过提供支持,报告错误,添加样本和支持SGDK来提供帮助!
当然,我感谢我所有的Patreon的持续支持,但我想为您提供特别的热情,感谢您的慷慨捐赠:
Bitmap局(Xeno危机团队)
Neofid Studios(阿斯特堡团队的恶魔)
dmitry(di)
Rajen Savjani
这些项目众所周知是基于SGDK (非排斥列表) :
巨型猫工作室的Tanzer
马西亚卡(Masiaka)抵抗
位图局的Xeno危机
阿斯特堡新夫工作室的恶魔
2048年,阿塔穆拉德(Atamurad)
Abbaye des Morts(L')非官方的MD港口by Moon-Watcher
Leonbli(The)的艺术
Z团队的野蛮人非正式MD港口
Neofid Studio的阿斯特堡恶魔
Devwill Too Too Too Too MD由Amaweks
为GGJ 2016制作的致命聪明人
全屏NICCC 2000 by抗电阻
IK+豪华非官方MD端口
白色忍者工作室的Irena
Nendo的Omega Blast
perlin&pinpin by lizardrive
右2次维修超级兆字节为GGJ 2020
Z-Team返回创世纪非正式的MD港口
赏金/香蕉和抵抗的通往瓦尔哈拉的道路
螺旋(The)通过电阻
GGS Studio Creation的TCK
Nero Jin的Tetris MD非官方MD港口
RolandoFernándezBenavidez的Thundercats MD。
通过电阻旅行
Wacky Willy Weiner香肠冲浪者为GGJ 2017制作