MegaFLASH
A project to read/write game cartridges,
and load ROMs stored in compact flash card,
using ECART with an onboard BIOS.

By David Senabre, March 2007.


Introduction

   

This project is an ambicious digital electronics project, for someone who a few years ago did have very little knowldege and equipment, and it is the most advanced hardware project I've made so far. It is a global development project for Megadrive/Genesis, that includes BIOS coding in 68000 assembler, rewirtable expansion port cartridge to store BIOS and attach compact flash cards, and rewritable flash cartridge building, along with PC transfers, and PC software development.

In first place, the BIOS is a piece of code that runs at start up, and takes control of the system, providing basic functionalities. This BIOS is stored in an expansion port cartridge, in flash ROM memory, along with an IDE interface conector and some decoding logic to aid the hardware to address the new I/O ports that IDe interface requires. I call this cartridge ECART.

When Megadrive/Genesis is powered up with ECART hooked to the expansion port, BIOS loads up, and give the following services:

Transfers between system and a PC computer via PC's parallel port, and Megadrive/Genesis' control pad 2 port, similar to SegaCD transfer suite.
For this purpose, I worte a PC software, running under Windows XP.
You can backup and restore game cartridge's SRAM (where saved games are)
You can backup game cartridge ROMs up to 16Mbits so far.
You can send or get data or code to and from any place of Megadrive/Genesis memory map.
All operations are controlled by PC software, in a confortable visual interface. Megadrive/Genesis just does what PC software tells it to do.

Also, there's an IDE conector, to read compact flash cards, or hard disk drives.

You can store up to 650 ROMs, and browse them from Megadrive/Genesis.
You can load them into a rewritable flash cartridge, and play them.
It uses a simple file system developed by me (FAT is not supported).
I also wrote a PC software to generate this file system, so you only need to copy an output file to a compact flash card using any PC card reader/writter.

Of coure, onboard BIOS in ECART is flasheable, and can be done sending a new BIOS from PC.

So far, I only built an ECART prototype, which is working fine, and uses two 8 bit flash rom chips (29F040) in parallel, to make a a 16 bit data bus. One chip provides even bytes (lower 8 bits), the other provides odd bytes (upper 8 bits).


Making ECART. Shows how to build and expansion port cartridge.

Understanding Megadrive/Genesis control signals


GO BACK