Multi Console Copier






Introduction

The MCC is a 8 and 16 bit Do-It-Yourself console development system using standard TTL logic and standard RAM chips in a modular design. Currently the Sega Genesis/Mega Drive and the Nintendo SNES are supported, but it shouldn't be a problem to add support for more consoles, too. It is also possible to use Flash ROMs or other types of SRAM in the system, you have just to take care of the speed (at the *very* least 70ns) and the pinouts.
Keep in mind that this device is intended to copy your home-grown software (you can use GCC to develop software for the Genesis) and run it on the actual hardware. You are not allowed to pirate commercial ROMs with this system. I'm also not responsible for anything you do to your hardware or software. If you want to build the system, you should know what you're doing. The system has been built by me and it works both on the SNES and the Genesis without any problems.

The MCC system consists of
  • The main RAM board. It carries up to 8 RAM chips resulting in a total of 32MBits.
  • Two extension carts of which one at a time is attached to the RAM board and determines the width of the data bus (8 or 16 bits). It also supplies the RAM board with power.
  • A battery backed RAM cart for save games.
  • One or more console-specific boards which ties the RAM board and battery backed RAM together and connects them to the console. Currently there's one board for the Genesis/Mega Drive and one for the SNES.
  • The parallel port I/O cart for the computer. It is used to program the RAM board and the battery backed RAM cart.

Datasheets:

Schematics:


Additional Information: Nintendo SNES

Before you can operate any selfbuilt circuit on the SNES, you'll have to disable a chip inside the unit called the CIC, Security or Lockout Chip. It prevents any cartridge (or copier) from running if it doesn't have such a chip, too. Disabling the chip inside the SNES is relatively easy and involves disconneting pin 4 of it. The chip is labeled F411, F413A, F411A or similar. Go to the gamesx website to find a description of the process with a few pictures.

The pinout of the SNES cartridge connector:

PinName PinName
5GND 36GND
6A11 37A12
7A10 38A13
8A9 39A14
9A8 40A15
10A7 41A16
11A6 42A17
12A5 43A18
13A4 44A19
14A3 45A20
15A2 46A21
16A1 47A22
17A0 48A23
18/IRQ 49/ROM
19D0 50D4
20D1 51D5
21D2 52D6
22D3 53D7
23/RE 54/WE
24CIC 55CIC
25CIC 56CIC
26/RAM 57nc
275V 585V

Both the ROM and battery backed RAM aren't mapped into the SNES' address space in a linear fashion but are rather scattered, plus there are two different ROM/SRAM configurations called LOROM and HIROM which makes the resulting mapper circuit of the SNES board relatively complex. The address lines a16..a23 are referred to as the bank number and a0..a15 as the address. This is just a naming convention and doesn't imply the need of any special circuitry.


LOROM configuration:
ROM
SNES bank SNES address ROM address
$00..$6F $8000..$FFFF $000000..$37FFFF
$80..$EF $8000..$FFFF $000000..$37FFFF
SRAM
SNES bank SNES address SRAM address
$70..$77 $0000..$7FFF $000000..$03FFFF

HIROM configuration:
ROM
SNES bank SNES address ROM address
$40..$6F $0000..$FFFF $000000..$2FFFFF
$C0..$FF $0000..$FFFF $000000..$3FFFFF
$00..$3F $8000..$FFFF Mirror of banks $C0..$FF
$80..$BF $8000..$FFFF Mirror of banks $C0..$FF
SRAM
SNES bank SNES address SRAM address
$70..$77 $0000..$7FFF $000000..$03FFFF
$00..$0F $6000..$7FFF $000000..$01FFFF
$10..$1F $6000..$7FFF $000000..$01FFFF
$20..$2F $6000..$7FFF $000000..$01FFFF
$30..$3F $6000..$7FFF $000000..$01FFFF
$80..$8F $6000..$7FFF $000000..$01FFFF
$90..$9F $6000..$7FFF $000000..$01FFFF
$A0..$AF $6000..$7FFF $000000..$01FFFF
$B0..$BF $6000..$7FFF $000000..$01FFFF

Additional Information: Sega Genesis

The cartridge connector pins of the Genesis are numbered A1-A32 and B1- B32, left to right, with the A-row towards the back and the B-row towards the front. The ROM is mapped directly into the first 2 meg words (=4 meg bytes) of the Genesis' address space, so there is no additional logic needed.

PinName PinName
A1GND B1?
A25V B2!H_RESET
A3A8 B3?
A4A11 B4A9
A5A7 B5A10
A6A12 B6A18
A7A6 B7A19
A8A13 B8A20
A9A5 B9A21
A10A14 B10A22
A11A4 B11A23
A12A15 B12VIDEO
A13A3 B13VSYNC
A14A16 B14HSYNC
A15A2 B15HS_CLK
A16A17 B16!C_OE
A17A1 B17!C_CE
A18GND B18!AS
A19D7 B19CLK
A20D0 B20!DTACK
A21D8 B21?
A22D6 B22D15
A23D1 B23D14
A24D9 B24D13
A25D5 B25D12
A26D2 B26!LO_MEM
A27D10 B27!RESET
A28D4 B28!LDSW
A29D3 B29!UDSW
A30D11 B30!S_RESET
A315V B31?
A32GND B32!CART_IN

Software:

There's finally some software available and more will follow. For now, there is:

SNESXfer Screenshot
SNESXfer v0.01b (8kb), the transfer software for SNES ROMs


GenXfer Screenshot
GenXfer v0.01b (6kb), the transfer software for Sega Genesis ROMs