SMS Homebrew CPLD Firmware Looking Promising!

The db SMS Kit has been slightly harder to get started and operational when compared to TG16 De-Bee Card or the Genesis MD-Cart owing to the mapper found on most SMS games. The CPU on the Master System, the Z80, has a 16 bit address (like most 8bit CPUs) and therefore is limited in addressing a contiguous 64KB memory space which is shared between ROM and RAM among other things on the Master System. In fact, only 3/4 of this memory space is dedicated to ROM (i.e. the game code) which means without any trickery only 48KB of game code is available (in reality it’s actually 32KB but let’s not get into fine details).

Anyway, to address this, Sega produced what is known as the Sega Mapper which allows banks of 16KB to be swapped in and out of the available 48KB ROM space. Using this technique allowed games up to 1MB to be produced for the Master System. Part of my challenge in getting the SMS Homebrew Cart working was to reproduce the Sega Mapper in VHDL on a EPM3064 CPLD. While this is not a particularly difficult task VHDL wise, it was slightly time consuming owing to errors I made on the first batch of PCBs (always check if your ground plane is present before sending PCBs to manufacturing!).
My first functional mapper has proven successful in running the Sonic FM hack. Source code for my first functional mapper can be found on GitHub.


Electronics engineer and retrogaming fanatic!