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製作