Awesome
Awesome Mega Drive Development
A curated list of useful resources for Mega Drive programming.
Despite being over 30 years old, the Sega Mega Drive (or Genesis) is still alive and kicking. A community of passionate fans has kept the 16-bit dream alive by releasing new projects and games throughout the years. If you've also always wanted to create your own Mega Drive game, then here is a list of various resources to help get you started!
Feel free to submit a pull request if you have anything to add to the list.
Contents
- Documentation and Articles
- Programming
- Tools
- Sound and Music
- Open Source Games
- Reverse Engineering
- Communities
- Extra Hardware
- Other Sites and Resources
Documentation and Articles
- Making a SEGA Mega Drive / Genesis game in 2019 - An article about current MD development
- Mega Drive Development Wiki - A wiki about the technical aspects of the Mega Drive
- Sega Genesis Manual - A technical overview of the Mega Drive by Sega
- Hardware Notes by Kabuto - SEGA Mega Drive hardware notes written by Kabuto of TiTAN during the development of Overdrive 2
- Pushing Polygons on the Mega Drive - Overdrive 2 demo polygon renderer write-up
- Red Eyes demo technical details - Details on the Red Eyes demo of Remute's music album Technoptimistic
- MD Development Kit Hardware - A look at the MD development kit hardware
- Hello, Sega Genesis - A post about experimenting with MD dev (includes code examples)
- Sega VR Revived - Reviving the unreleased Sega VR accessory
- Porting Fantasy Zone to the Mega Drive - Porting Fantasy Zone to the Mega Drive (in Japanese)
- M2 Interview on 3D Sonic the Hedgehog - Interview with M2 about developing the Sega 3D Classics version of Sonic
- Sega Japan Sound Documents - Technical documents on the YM2612 and the Mega Drive sound drivers
- Digging for Treasure in Aladdin's Source Code - An article exploring the source code of Aladdin
- An authoritative reference on the YM2612 - A whole pile of Japanese documentation on the YM2612
- Exodus MD Tech Docs - Technical details important for emulation and development
- The Sound Drivers of Sonic the Hedgehog - An article about the sound drivers used in the classic Sonic games
- Sonic Megamix is not Sonic CD! - An article about what Sonic Megamix is (and isn't)
- How I built my own Sega Mega Drive hardware dev kit from scratch - An article about building a devkit, hardware and all.
- 16 Bits Homebrew Development Book (Spanish) (Amazon) - Mega Drive Development Book using SGDK (In Spanish).
Programming
Frameworks and Compilers
- SGDK - Allows you to develop Mega Drive games in C
- SecondBasic - Allows you to develop Mega Drive games in Basic
- Java Grinder - Allows you to develop Mega Drive games in Java
- 32x DevKit - Devkit, manuals and links for 32X development
- NEXTBasic - Page about the NEXTBasic compiler
- BasiEgaXorz - The Sega Genesis Tiny BASIC Compiler
- BlastForth - Development kit for the Mega Drive using the Forth programming language
- mdk - Barebones megadrive development setup.
- pysega - Sega Genesis / Mega Drive development kit (SDK) written in Python
- mddev - A small Megadrive devkit with learning purposes.
- GINCS Studio - A tool to create text adventures and visual novels for the Mega Drive (Page in Russian)
- MEGADEV - A Sega Mega CD development framework
- choice4genesis - A ChoiceScript clone that generates Sega Genesis ROMs; it can be used for visual novels or simple multimedia presentations
Toolchains
- Marsdev - Cross platform Mega Drive / 32X toolchain
- mdcc - Sega Mega Drive GCC Based Toolchain
- SGDK for Linux - A set of makefiles to get SGDK working on Linux
Engines
- KAdventure - An adventure game engine using SGDK and Python
- BSPView - An in-progress 3d graphics engine
- PortalView - A second-gen BSP/Portal renderer
- SGDK Platformer Studio - Easy to use engine to make platformers for Sega Genesis
Snippets and Demos
- Samples in 68000 Assembly - Small, discreet, complete samples for the SEGA Mega Drive in 68000 assembly
- ArcadeTV Samples - Code snippets in assembly for the Mega Drive
- Hijacking the S&K Lock-on Cart - How to hijack the Sonic & Knuckles lock-on cart
- Writing ROMs using Rust - A proof-of-concept project using Rust to write Mega Drive ROMs
Tutorials
Assembly
- Plutiedev - Various tutorials on programming the 68000, Z80 and more
- 68000 Assembly Programming for the Sega Genesis - Various tutorials on assembly coding for the Mega Drive
- Big Evil Corporation - A tutorial on getting started with assembly coding for the Mega Drive
- Mode 5 - A few basic assembly tutorials
- MarkeyJester’s Motorola 68000 Beginner’s Tutorial - An extensive 68000 assembly tutorial for beginners
- Hugues Johnson Tutorials - An assembly programming tutorial
SGDK
- Ohsat Games - Various full project and one-off tutorials for SGDK
- Danibus - Various SGDK tutorials in Spanish and English
Tools
- Beehive - A complete content tool for the SEGA Mega Drive
- MDTools - A collection of several free tools designed to aid in development of Mega Drive homebrew
- Genesis Code - Visual Studio Code Extension For Use Easily SGDK and some other tools like Tiled.
- Color Mixer - Color Mixer for SEGA Mega Drive
- Sonic Retro Tools - Collection of tools and disassemblies by the members of Sonic Retro
- Palette Batch - Converts images to use certain color palettes (made for use with SGDK)
- 240p Test Suite - A test suite to evaluate upscalers and related equipment
- TILED-Python-to-C - A Python tool to convert Tiled XML data to C for use with SGDK
- Retro Graphics Toolkit - A graphics tool to convert images for use on retro systems
- TUME - An old map editor for 8bit and 16bit games
- Aseprite Mega Drive Digitizer - Display images from Aseprite on your CRT using the Mega Drive
- MCD-Verificator - A test program for CD core accuracy verification
Sound and Music
- Echo - A Mega Drive Sound Engine
- Mega PCM - A sound driver that exclusively plays digitized audio samples through an YM2612 sound chip's DAC channel
- Mega Drive MIDI Interface - Control the Yamaha YM2612 and PSG of the Sega Mega Drive via MIDI
- MDTracker - Native music tracker for the Mega Drive
- MDSDRV - A sound driver for Sega Mega Drive
- MML2VGM - Converts MML files to Mega Drive format
- Lusid-Dreams - A SID player for the Sega 32X
- VGM Music Maker Primer - A primer on creating music for the Mega Drive
- DefleMask Instrument Tutorial - A video guide to making FM instruments for the Sega Mega Drive
- GENNY VST - A VST for DAWs emulating Mega Drive instruments
- Chipsynth MD emulation (Video) - Video about rigs created for chipsynth MD's emulation
- Furnace - A multi-system chiptune tracker compatible with DefleMask modules
- Pseym - A retro-style YM2612 instrument editor
Open-Source Games
- Tanglewood - A platformer made in assembly
- 5 Stars - A minimalistic shmup made in assembly by SikTheHedgehog
- Miniplanets - A unique platformer made in assembly by SikTheHedgehog
- Project MD - Another game by SikTheHedgehog
- Dragon's Castle - A platformer made in assembly...by SikTheHedgehog
- Mega Grappler X - And another game by SikTheHedgehog!
- Cave Story MD - A rewrite/port of Cave Story for the Mega Drive
- Penguin World - A game made using SGDK
- Lunch Break - A game made using SGDK
- Right 2 Repair - A 2-player game made using SGDK
- Dr. Mario MD - A port of Dr. Mario, made using SGDK
- MegaDriveSnake - A Snake game made using SGDK
- Moon Watcher Games - Various games and ports using SGDK and/or assembly
- Tetris MD - A Tetris game made using SGDK
- Tro-Now - A Tron lightcycle game made using SGDK
- Retail Clerk '89 - An interactive fiction game made in assembly
- Chris Shrigley Source Code Archive - Collection of code of games Chris Shrigley worked on (for educational purposes only!)
- BattleCity Online - A port of BattleCity with online multiplayer
- Fatal Smarties - An entry for Global Game Jam 2016
- Pingouin Bleu - A horizontal shmup written with SGDK
- Downforce - A futuristic racer written in C
- Ramless Pong - Source code of Pong that does not use RAM, only CPU regs
- xRick - A clone of Rick Dangerous for the 32X
- Wolf32X - Source code for Wolf32X
- Uwol - Quest For Money - Source code for Uwol
- Doom - Proof of concept Doom port for Mega Drive
- Crazy Driver - A simplistic top-view driving game written in C
- Casanova: Love mission
Reverse Engineering
Disassemblies
- lory90 dissassemblies - Dissassemblies of various Mega Drive games
- Vladimir Kononovich Videos - Videos on reverse-engineering (in Russian)
- Vladimir Kononovich Tools - Various tools for Mega Drive reverse-engineering
- Shining Force Central - A github with projects relating to the Shining Force games
- TMSS Disassembly - A disassembly of the TradeMark Security System
Communities
Boards
Discords
- SGDK
- Plutiedev
- Mega Drive Developers Collective
- SegaXtreme
- BlastEm Emulator
- DefleMask
- The Fourth Modulator
Extra hardware
- SVP chip development - Open-source hardware boards to turn retail Virtua Racing cartridges into a "devkits", an assembler for the SVP chip DSP, sources and docs.
- MegaWiFi - WiFi enabled cartridge for the Mega Drive
Other Sites and Resources
- Romhacking.net MD - Resources for Mega Drive development
- Romhacking.net MCD - Resources for Mega CD development
- Romhacking.net 32X - Resources for 32X development
- SMS Power! - Resources on Master System development
- Super Splash Wave - Youtube videos by strafefox covering the development of various games, including Mega Drive games
- Dithering on the Sega Genesis with Composite Video - Examination of dithering and composite video on the Sega Genesis
- Sega Genesis Low Resolution Aspect Ratio - Examination of the Sega Genesis/Mega Drive output of low resolution games (256x224) to a CRT
- flamewing Github - A github with various Mega Drive projects
- GenesisFan64 Github - A github with various Mega Drive and 32X projects
- Mega Cat Studios Blog - A blog on Mega Drive development by Mega Cat Studios
- 2020 Games on Dreamcast and Mega Drive - A list of games made in 2020 for the Dreamcast and Mega Drive