Patreon: https://www.patreon.com/sgdk
Github: https://github.com/stephane-d/sgdk
SGDK es un kit de desarrollo gratuito que permite el desarrollo del software en el lenguaje C para Sega Mega Drive . Contiene la biblioteca de desarrollo en sí (con las fuentes de código) y algunas herramientas personalizadas utilizadas para compilar recursos. SGDK utiliza el compilador GCC (objetivo M68K-Elf) y el libgcc para generar una imagen ROM. Se proporcionan binarios (GCC 6.3) para Windows OS para conveniencia, pero debe instalarlo usted mismo para otros sistemas operativos. Tenga en cuenta que SGDK también requiere Java (las herramientas personalizadas lo requieren), por lo que debe tener instalado Java en su sistema.
La biblioteca SGDK y las herramientas personalizadas se distribuyen bajo la licencia MIT (ver License.txt Archivo). El compilador de GCC y LibGCC están bajo la licencia GNU (GPL3) y cualquier compilación de software (como la biblioteca SGDK) está bajo la licencia de excepción de la biblioteca de tiempo de ejecución de GCC (ver Coping.Runtime File)
Primero, debe saber que SGDK usa el lenguaje C (el ensamblaje también es posible, pero no es necesario), por lo que se recomienda estar familiarizado con la programación C antes de tratar de desarrollarse con SGDK. Aprender el lenguaje C al mismo tiempo que aprender la programación 'Sega Mega Drive' es definitivamente demasiado difícil y terminarás llegando a ninguna parte. También es importante tener, al menos, un conocimiento básico del hardware Sega Mega Drive (específicamente el sistema de video).
Y -0 - Referencias de desarrollo de Mega Drive impresionante:
https://github.com/and-0/awesome-megadrive
Raster Scroll - Guía de gráficos Sega Mega Drive:
https://rasterscroll.com/mdgraphics/
Mega Cat Studios - Guía de gráficos Sega Mega Drive:
https://megacatstudios.com/blogs/reto-develovelment/sega-genesis-mega-drive-vdp-graphics-guide-v1-2a-03-14-17
Blog de Sik dedicado a la programación de ensamblaje de MD, pero explica muchas cosas (y de una manera agradable) sobre el hardware Sega Mega Drive:
https://plutiedev.com
Un buen artículo de Rodrigo Copetti que explica la arquitectura Mega Drive:
https://www.copetti.org/projects/consoles/mega-drive-genesis
Genesis Software Manual que contiene absolutamente todo lo que necesita saber sobre Sega Mega Drive:
https://segaretro.org/images/a/a2/genesis_software_manual.pdf
Luego, cuando te sientas listo, puedes ir más allá y finalmente instalar SGDK :)
Puede encontrar instrucciones de instalación y tutoriales sobre cómo usar SGDK en el wiki:
https://github.com/stephane-d/sgdk/wiki
SGDK viene con documentación de Doxygen (generada a partir de archivos de encabezado .H) que proporciona descripciones sobre estructuras y funciones SGDK. Puede encontrarlo en la carpeta 'DOC' (abra su DOC/HTML/files local.html en su navegador).
Es importante saber que SGDK depende en gran medida de los recursos que se compilan a través de la herramienta Rescomp . Debe leer el archivo Rescomp.txt para comprender qué tipo de recursos puede usar y cómo declararlos . Luego, puede ver la carpeta de 'muestra' de SGDK y, en particular, la muestra sonora, que es una buena muestra del uso de SGDK en general (funciones y recursos).
Puede encontrar muchos tutoriales en línea sobre SGDK, pero tenga cuidado, algunos están desactualizados o, a veces, simplemente equivocados.
Realmente recomiendo comenzar desde el wiki que proporciona lo básico para comenzar, pero si necesita más tutoriales visuales y más completos, puede probar cualquiera de estos:
Tutoriales de programación MD de OHSAT:
https://www.ohsat.com/tutorial/mdmisc/creating-graphics-for-md/
Tutoriales muy completos y visuales de Danibus (solo español):
https://danibus.wordpress.com/
Aquí hay una lista de herramientas útiles para ayudarlo a crear sus activos:
Asespritura
Asador gráfico
Promoción
Graficx2
Cuantizador de la paleta: herramienta potente para convertir su imagen con las limitaciones de la paleta de la paleta
16Tile: editor de mapas de mosaicos específicos de SGDK
Azuleos: editor de mapas de mosaicos, compatible con la herramienta SGDK Resource Compiler Tool
LDTK: editor de mapas de majas nuevo pero potente (también de admitir formatos de mosaico)
OGMO: Otro editor de mapas de azulejos agradables y simples
Fusión de la paleta: una herramienta que permite cambiar fácilmente el índice de paleta de baldosas y la prioridad
DeFlemaBask: rastreador de música que admite varios sistemas como Sega Mega Drive
HOUNTA: un nuevo rastreador de música que admite muchos sistemas
Wavosaur: Wave Sound Editor (solo Windows)
Audacity: Wave Sound Editor (todo sistema operativo)
Los controladores de sonido SGDK pueden no satisfacer sus necesidades, por lo que es importante saber que existen algunas alternativas:
MDSDRV: potente soporte de controlador de sonido FM y PSG SFX, reproducción de PCM Pitchable ...
Echo: otro controlador de sonido que admite FM y PSG SFX y que trabaja al 100% en CPU Z80.
Minimusic: un pequeño controlador de sonido Z80 para Mega Drive que se ejecuta completamente fuera de la RAM Z80 y no accede a la ranura del cartucho.
Si necesita ayuda o soporte con SGDK, puede unirse al servidor SGDK Discord:
https://discord.gg/xmnbwqs
También puede ir al foro Spritesmind que está dedicado al desarrollo de Sega Mega Drive y tiene una sección específica para SGDK:
http://gendev.spritesmind.net/forum/
Los usuarios de Unix/Linux deben probar este script muy simple, lo que le permite usar SGDK desde el vino fácilmente:
https://github.com/franticware/sgdk_wine
También hay una nueva solución propuesta por Daniel Valdivieso para usar SGDK con VScode en cualquier sistema operativo usando vino:
https://github.com/v4ld3r5/sgdk_vscode_template
Otra gran alternativa es utilizar el entorno completo de Marsdev desarrollado por Andy Grind: https://github.com/andwn/marsdev es admitido todos los sistemas operativos, proporciona compatibilidad SGDK y 32X de soporte, así que asegúrese de verificarlo.
Los usuarios de MacOSX también tienen acceso a SGDK con GenDEV para MacOS del proyecto Sonic3D:
https://github.com/sonic3d/gendev-macos
Una forma moderna de instalarlo en cualquier entorno es usar Docker.
Para descargar la imagen base sgdk
:
docker pull ghcr.io/stephane-d/sgdk docker tag ghcr.io/stephane-d/sgdk sgdk
O construirlo:
docker build -t ghcr.io/stephane-d/sgdk-m68k-gcc:latest -f deps/gcc.Dockerfile deps/ docker build -t sgdk .
Y luego para compilar el envéano local, como samples
, por ejemplo:
cd sample/game/sonic docker run --rm -v "$PWD":/src sgdk
Notas:
$PWD
no funcionará en Windows, %CD%
debe usarse en su lugar.
Para evitar escribir archivos ./out
como root, ejecute el comando Docker como usuario actual: docker run --rm -v "$PWD":/src -u $(id -u):$(id -g) sgdk
También puede probar la solución alternativa de Doragasu Docker que utiliza un compilador de Linux nativo (mucho más rápido): https://gitlab.com/doragasu/docker-sgdk
Sí, estás leyendo correctamente, gracias a Matthew Nimmo, incluso ahora puedes usar SGDK de AWS ^^ aquí está el enlace a su blog que explica cómo hacer eso: https://community.aws/content/2hzinsywwx88cyeaifkquutvoyqj/how-to-- Build-Retro-Games-in-AWS-Using-Sega-Génesis-Develoz-Kit-Sgdk
Puede encontrar una plantilla de Visual Studio en la carpeta 'Vstudio' para facilitar la integración SGDK con VS. O, para llevarlo aún más lejos, también puede instalar la extensión VS hecha por Zerasul:
https://marketplace.visualstudio.com/items?itemname=zerasul.genesis-coode
SGDK es completamente gratuito, pero puede apoyarlo en Patreon: https://www.patreon.com/sgdk
Doragasu para el motor multitarea (basado en la implementación de Sik), Megawifi, soporte para guardar flash y otras adiciones agradables.
Sik para la implementación de la base multitarea y por toda su fuente de información técnica de plutidev SEGA MEGA Drive.
Chilly Willy por hacer casi todo el soporte de alegría / controlador en SGDK (y la muestra de prueba de Joy ^^).
Astrofra para la muestra de donas de Starfield y el readme renovado;)
Gligli para construir y proporcionar GCC 6.3 para ventanas.
Gunpog por hacer el logotipo de 'lindo' SGDK.
Adrian Spoz por hacer el logotipo SGDK 'Profesionnal'.
VOJTěCH SALAJKA para el script que permite usar SGDK fácilmente del vino (Linux/Unix pero también puede funcionar en OSX).
Daniel Valdivieso para otra solución a base de vino para usar SGDK en Multi-OS (incluida una plantilla VScode).
Andy Grind para el proyecto Marsdev que permite usar SGDK en cualquier sistema operativo y también admitiendo 32x Dev.
Kubilus para el puerto Gendev Linux de SGDK.
Sonic3d para el puerto Gendev OSX de SGDK.
Vladimir Kryvian para soporte y plantilla de Visual Studio.
Steve Schnepp para el soporte de Docker.
Andreas Dietrich para las buenas muestras de Wobbler & Scaling Effect.
CLBR para varias contribuciones.
Jgyllinsky para proporcionar / mejorar los lotes de construcción.
Nolddor para soluciones / contribuciones.
Starling13 para soluciones.
DavidGF por sus contribuciones (optimización mejorada de ensamblaje LTO).
Shiningbzh / Jeremy y Kentosama por su preciosa ayuda en las pruebas.
Vetea y Studio Vetea Discord People en general por su apoyo y amabilidad.
¡Todos aquellos que olvidé y, en general, todas las personas que ayudan al brindar apoyo, informando errores, agregando muestras y apoyando a SGDK de alguna manera!
Por supuesto, agradezco a todo mi Patreon por su continuo apoyo, pero quiero dedicar un agradecimiento muy especial y cálido por la generosa donación de:
Oficina de mapa de bits (equipo de crisis de xeno)
Neofid Studios (demonios del equipo de Asteborg)
Dmitry (DI)
Rajen Savjani
Se sabe que estos proyectos se basan en el SGDK (lista no exhaustiva) :
Tanzer de Mega Cat Studios
Masiaka por resistencia
Crisis de xeno por la oficina de mapa de bits
Demonios de Asteborg Neofid Studios
2048 por Atamurad
Abbaye des Morts (l ') Puerto MD no oficial por luna
Arte de Leonbli (el) por resistencia
Puerto md no oficial bárbaro por el equipo z
Demonios de Asteborg de Neofid Studio
Devwill también MD de Amaweks
Fatal Smarties hechos para el GGJ 2016
Pantalla completa NICCC 2000 por resistencia
IK+ Puerto MD no oficial de lujo por Z-Team
Irena de White Ninja Studio
Omega explosión de nendo
Perlin y Pinpin de Lizardrive
Right 2 Repare by Super Megabyte hecho para el GGJ 2020
Volver al puerto MD no oficial de Génesis por el equipo Z
Road to Valhalla por Bounty/Banana & Resistance
Espiral (el) por resistencia
TCK por GGS Studio Creation
Tetris MD Puerto MD no oficial de Nero Jin
Thundercats MD por Rolando Fernández Benavidez.
Viajar por resistencia
Wacky Willy Weiner Sausage Surfer hecho para el GGJ 2017