MBC5 Mapper in CPLD

Status: active · Published Jun 1, 2016

The MBC5 Mapper is one of the more technical parts of my Game Boy cartridge work. It is a custom implementation of MBC5-style banking logic written in VHDL and deployed on a Xilinx CPLD.

This is the kind of project that stays mostly invisible when everything works. From the outside, the cartridge just loads data and saves properly. Inside, the mapper has to handle ROM banking, save memory selection, address lines, control signals, and the behavior the Game Boy expects from this type of cartridge.

I worked on this because I wanted more control over the cartridge design instead of only building around existing mapper chips. Recreating that logic in programmable hardware is a nice mix of retro computing, digital electronics, and practical problem solving.

It is a small technical rabbit hole, but a very satisfying one. You read old hardware behavior, translate it into logic, test it on real consoles, and keep adjusting until the cartridge behaves like it should.

Purpose

Public architecture

View project ↗