Patreon: https://www.patreon.com/sgdk
Github: https://github.com/stephane-d/sgdk
SGDK est un kit de développement gratuit permettant le développement de logiciels dans le langage C pour le SEGA Mega Drive . Il contient la bibliothèque de développement elle-même (avec les sources de code) et certains outils personnalisés utilisés pour compiler les ressources. SGDK utilise le compilateur GCC (M68K-Elf Target) et le LiBGCC pour générer une image ROM. Les binaires (GCC 6.3) sont fournis pour Windows OS pour plus de commodité, mais vous devez l'installer par vous-même pour d'autres systèmes d'exploitation. Notez que SGDK nécessite également Java (les outils personnalisés l'exigent), vous devez donc faire installer Java sur votre système.
La bibliothèque SGDK et les outils personnalisés sont distribués sous la licence MIT (voir le fichier Licence.txt). Le compilateur GCC et LiBGCC sont sous la licence GNU (GPL3) et toute création de logiciels à partir de celui-ci (en tant que bibliothèque SGDK) est sous la licence d'exception de la bibliothèque d'exécution du GCC (voir Copying.Runtime Fichier)
Tout d'abord, vous devez savoir que SGDK utilise le langage C (l'assemblage est également possible, mais pas nécessaire), il est donc fortement recommandé de connaître la programmation C avant d'essayer de se développer avec SGDK. L'apprentissage du langage C en même temps que l'apprentissage de la programmation «Sega Mega Drive» est certainement trop difficile et vous finirez par n'aurer nulle part. Il est également important d'avoir, au moins, une connaissance de base du matériel SEGA Mega Drive (en particulier le système vidéo).
Et-0 - Références de développement de méga-drive impressionnantes:
https://github.com/and-0/awesme-megadrive
Raster Scroll - Guide graphique Sega Mega Drive:
https://rasterscroll.com/mdgraphics/
Mega Cat Studios - Guide graphique Sega Mega Drive:
https://megacatstudios.com/blogs/retro-development/sega-genesis-mega-drive-vdp-graphics-guide-v1-2-03-14-17
Le blog de Sik dédié à la programmation de l'assemblage MD mais expliquez beaucoup de choses (et d'une manière agréable) sur le matériel Sega Mega Drive:
https://plutiedev.com
Un bel article de Rodrigo Copetti expliquant l'architecture Mega Drive:
https://www.copetti.org/projects/consoles/mega-drive-genesis
Manuel du logiciel Genesis qui contient absolument tout ce que vous devez savoir sur le SEGA Mega Drive:
https://segaretro.org/images/a/a2/genesis_software_manual.pdf
Ensuite, lorsque vous vous sentez prêt, vous pouvez aller plus loin et enfin installer SGDK :)
Vous pouvez trouver des instructions d'installation et des tutoriels sur la façon dont l'utilisation de SGDK sur le wiki:
https://github.com/stephane-d/sgdk/wiki
SGDK est livré avec la documentation Doxygen (générée à partir des fichiers d'en-tête .h) qui fournit des descriptions sur les structures et les fonctions SGDK. Vous pouvez le trouver dans le dossier 'Doc' (ouvrez votre DOC / HTML / FIDES.html local dans votre navigateur).
Il est important de savoir que le SGDK s'appuie fortement sur des ressources qui sont compilées via l'outil RESCOMP . Vous devez lire le fichier rescomp.txt pour comprendre quel type de ressources vous pouvez utiliser et comment les déclarer . Ensuite, vous pouvez consulter le dossier «échantillon» de SGDK et, en particulier, l'échantillon Sonic qui est une bonne vitrine de l'utilisation du SGDK en général (fonctions et ressources).
Vous pouvez trouver beaucoup de tutoriels en ligne sur le SGDK, mais soyez prudent, certains sont obsolètes ou parfois mal.
Je recommande vraiment de commencer le wiki qui fournit les bases pour commencer, mais si vous avez besoin de tutoriels visuels et plus complets, vous pouvez essayer l'un ou l'autre: essayez:
Tutoriels de programmation MD de OHSAT:
https://www.ohsat.com/tutorial/mdmisc/creating-graphics-for-md/
Tutoriels très complets et visuels de Danibus (espagnol uniquement):
https://danibus.wordpress.com/
Voici une liste d'outils utiles pour vous aider à créer vos actifs:
Asesprite
Graphique Gale
Promotion
Grafx2
Quantiseur de palette: outil puissant pour convertir votre image avec des contraintes de palette
16Tile: éditeur de carte de carreaux spécifiques SGDK
TIDE: éditeur de carre de carreaux, pris en charge par l'outil de compilateur de ressources SGDK
LDTK: éditeur de carreaux de carreaux neuf mais puissant (supporter également les formats carrelés)
OGMO: Un autre éditeur de carte de carreaux agréable et simple
Fusion de palette: un outil permettant de modifier facilement l'index de palette de carreaux et la priorité
Deflemask: Music Tracker prenant en charge plusieurs systèmes en tant que SEGA Mega Drive
Furnace: Nouveau tracker de musique soutenant de nombreux systèmes
Wavosaur: Wave Sound Editor (Windows Only)
Audacity: Wave Sound Editor (All OS)
Les pilotes sonores du SGDK peuvent ne pas répondre à vos besoins, il est donc important de savoir que certaines alternatives existent:
MDSDRV: Sound Driver Sound Pourind FM & PSG SFX, lecture PCM pitchable ...
Echo: Un autre pilote sonore soutenant FM & PSG SFX et travaillant à 100% sur le CPU Z80.
Minimusic: Un minuscule pilote sonore Z80 pour Mega Drive qui s'étend entièrement au large de Z80 RAM et n'accède pas à la fente de cartouche.
Si vous avez besoin d'aide ou de prise en charge avec SGDK, vous pouvez rejoindre le serveur SGDK Discord:
https://discord.gg/xmnbwqs
Vous pouvez également vous rendre au forum Spritesmind qui est dédié au développement de SEGA Mega Drive et a une section spécifique pour SGDK:
http://gendev.spritesmind.net/forum/
Les utilisateurs d'Unix / Linux devraient essayer ce script très simple, vous permettant d'utiliser facilement SGDK à partir du vin:
https://github.com/franticware/sgdk_wine
Daniel Valdivieso est également une nouvelle solution proposée par Daniel Valdivieso pour utiliser SGDK avec VSCODE sous n'importe quel système d'exploitation:
https://github.com/v4ld3r5/sgdk_vscode_template
Une autre excellente alternative consiste à utiliser l'environnement complet Marsdev développé par Andy Grind: https://github.com/andwn/marsdev Il prend en charge toutes les OSE, fournit une compatibilité SGDK ainsi que la prise en charge 32x, alors assurez-vous de le vérifier.
Les utilisateurs de MacOSX ont également accès à SGDK avec Gendev pour macOS du projet Sonic3D:
https://github.com/Sonic3d/Gendev-Macos
Une façon moderne de l'installer sur n'importe quel environnement consiste à utiliser Docker.
Pour télécharger l'image de base sgdk
:
docker pull ghcr.io/stephane-d/sgdk docker tag ghcr.io/stephane-d/sgdk sgdk
Ou construire:
docker build -t ghcr.io/stephane-d/sgdk-m68k-gcc:latest -f deps/gcc.Dockerfile deps/ docker build -t sgdk .
Et puis pour compiler l'env local, comme samples
par exemple:
cd sample/game/sonic docker run --rm -v "$PWD":/src sgdk
Notes:
$PWD
ne fonctionnera pas sur Windows, %CD%
doit être utilisé à la place.
Pour éviter d'écrire ./out
Files comme racine, exécutez la commande docker en tant qu'utilisateur actuel: docker run --rm -v "$PWD":/src -u $(id -u):$(id -g) sgdk
Vous pouvez également essayer la solution alternative Doragasu Docker qui utilise un compilateur Linux natif (beaucoup plus rapide): https://gitlab.com/doragasu/docker-sgdk
Oui, vous lisez correctement, grâce à Matthew Nimmo, vous pouvez même maintenant utiliser sgdk de AWS ^^ Voici le lien vers son blog qui explique comment faire: https://community.aws/content/2hzinsywx8cyeifkquutvoyqj/how-to- Build-Retro-Games-in-Aws-Using-Sega-Geneness-Develowing-Kit-Sgdk
Vous pouvez trouver un modèle Visual Studio dans le dossier 'VStudio' pour faciliter l'intégration SGDK avec Vs. Ou, pour aller encore plus loin, vous pouvez également installer l'extension VS fabriquée par Zerasul:
https://marketplace.visualstudio.com/items?itemname=zerasul.genesis-code
SGDK est complètement gratuit, mais vous pouvez le prendre en charge sur Patreon: https://www.patreon.com/sgdk
Doragasu pour le moteur multi-tâches (basé sur la mise en œuvre de Sik), MegawiFi, la prise en charge de la sauvegarde Flash et d'autres beaux ajouts.
SIK pour la mise en œuvre de la base multi-tâches et pour toutes ses sources d'informations techniques Plutidev Sega Mega Drive.
Chilly Willy pour avoir fait presque tout le support de joie / contrôleur dans le SGDK (et l'échantillon de test de joie ^^).
Astrofra pour l'échantillon de beignets Starfield et le Readme remanié;)
Gligli pour construire et fournir GCC 6.3 pour les fenêtres.
Gunpog pour avoir créé le logo SGDK «mignon».
Adrian Spoz pour avoir fait le logo SGDK «Profesionnal».
Vojtěch Salajka pour le script permettant d'utiliser SGDK facilement à partir du vin (Linux / Unix mais peut aussi fonctionner sur OSX).
Daniel Valdivieso pour une autre solution à base de vin pour utiliser le SGDK sur Multi-OS (y compris un modèle VScode).
Andy Grind pour le projet Marsdev permettant d'utiliser SGDK sur n'importe quel système d'exploitation et de prendre en charge 32x Dev.
Kubilus pour le port Gendev Linux de SGDK.
Sonic3d pour le port Gendev OSX de SGDK.
Vladimir Kryvian pour la prise en charge et le modèle Visual Studio.
Steve Schnepp pour le support Docker.
Andreas Dietrich pour les beaux échantillons de wobbler et d'effet de mise à l'échelle.
CLBR pour diverses contributions.
Jgyllinsky pour fournir / améliorer les lots de construction.
Nolddor pour les correctifs / contributions.
Starling13 pour les correctifs.
DavidGF pour ses contributions (amélioration de l'optimisation de l'assemblage LTO).
Shiningbzh / Jeremy et Kentosama pour leur précieuse aide à tester.
VÉTÉE ET STUDIO VÉTÉE DISCORT EN GENERAL POUR LEUR SOUTIEN ET LE SOUVELLE.
Tous ceux que j'ai oubliés et généralement toutes les personnes aidant en fournissant un soutien, en rapportant des bogues, en ajoutant des échantillons et en soutenant le SGDK de quelque manière que ce soit!
Bien sûr, je remercie tous mes patreon pour leur soutien continu, mais je veux consacrer un merci très spécial et chaleureux pour le don généreux de:
Bitmap Bureau (Xeno Crisis Team)
NEOFID Studios (Demons of Asteborg Team)
Dmitry (di)
Rajen Savjani
Ces projets sont connus pour être basés sur le SGDK (liste non exhaustive) :
Tanzer par Mega Cat Studios
Masiaka par résistance
Xeno Crisis par le Bitmap Bureau
Démons des studios Asteborg Neofid
2048 par Atamurad
Abbaye des Morts (L ') Port MD non officiel par Moon-Watcher
Art de Leonbli (la) par résistance
Barbarian Unofficial MD Port par Z-Team
Demons d'Asteborg par Neofid Studio
Devwill Too MD par Aweks
Smarties fatales conçues pour le GGJ 2016
Plein écran NICCC 2000 par résistance
IK + Port MD non officiel de luxe par Z-Team
Irena par White Ninja Studio
Omega Blast par Nendo
Perlin & pinpin par Lizardrive
Right 2 Réparation par Super Megaoctet Conçu pour le GGJ 2020
Retour à Genesis Unofficial MD Port par Z-Team
Route vers Valhalla par Bounty / Banana et résistance
Spirale (le) par résistance
TCK par GGS Studio Creation
Tetris MD Port de MD non officiel par Nero Jin
Thundercats MD par Rolando Fernández Benavidez.
Voyager par résistance
Wacky Willy Weiner Sausage Surfer fait pour le GGJ 2017