loading...

SEGA Genesis Development

SEGA Genesis
The SEGA Genesis (US) / Mega Drive (everywhere else) was a 1988 game console, known for great arcade ports, FM sound, and impressive 2D graphics. It had a Motorola 68000 CPU, 64 KB main RAM, and 64 KB Video RAM. One of the most well-known games for the system is Sonic the Hedgehog, developed by SEGA and released in 1991. This page contains a series of articles about this hardware, including how to program for it, starting from the very basics.
SEGA Genesis: Building a ROM
status: done
2017-06-11
Getting started with SEGA Genesis development, and building a ROM that will run on an emulator.
Genesis hardware
SEGA Genesis: Characters and Playfields
status: done
2017-08-06
A description of the basic building blocks of Genesis graphics, and how they are put together to form screen images. 8x8 16-color tiles are mapped to form playfields. A couple of games are analyzed, including some more advanced techniques, usable for rendering polygons.
Tile graphics (Zombies Ate My Neighbours)
SEGA Genesis: Video Display Processor
status: done
2017-08-01
A SEGA Genesis graphics tutorial, that explains how to access the 'Video Display Processor' (VDP) graphics processor.
Contra: Hard Corps
SEGA Genesis: Printing Text
status: done
2017-09-10
Building on the previous entry, it is explained how the VDP can be used to output text to the screen. This includes creating a font, loading it to graphics memory, writing character indices to playfields, and wrapping it into a useful subroutine.
Text output
SEGA Genesis: Scrolling
status: unfinished
2017-07-27
The different scroll modes of the Genesis are covered, as well as code for simple full screen smooth scrolling.
Thunderforce 4
SEGA Genesis: Code Structure
status: done
2018-07-16
A few examples of assembly code structure is explored, including variables, arrays and structures, function calling conventions, and how to implement the State Pattern.
Menu
SEGA Genesis: Initialization
status: unfinished
2018-07-01
A detailed look at a complete initialization.
Contra: Hard Corps ROM chip