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:
- 1N4148 (Diode for digital circuits) 1N4148.pdf (41kb)
- 2N3904 (NPN Digital Transistor) 2N3904.pdf (65kb)
- KM684000B (512kx8 CMOS Static RAM<) KM684000B.pdf (179kb)
- LP621024D (128kx8 CMOS Static RAM) LP621024D.pdf (155kb)
- NEC µPD71055C/P8255 (Programmable Parallel Interface) NEC_UPD71055_P8255A.pdf (732kb)
- SN74LS02 (Quad 2-Input NOR Gate) SN74LS02.pdf (36kb)
- SN74LS04 (Hex Inverter) SN74LS04.pdf (35kb)
- SN74LS138 (1-of-8 Demultiplexer) SN74LS138.pdf (69kb)
- SN74LS157 (Quad 2-Input Multiplexer) SN74LS157.pdf (52kb)
- SN74LS21 (Dual 4-Input And Gate) SN74LS21.pdf (34kb)
- SN74LS688 (8-Bit Comparator) SN74LS688.pdf (90kb)
- SN74LS74 (Dual D-Type Flip Flop) SN74LS74.pdf (54kb)
Schematics:
- Main RAM Cart
- Schematic: ramcart.gif (1674x1098, 70kb)
- Prototype photo: ramboard.jpg (638x836, 127kb)
- 8bit Extension
- Schematic: 8bit-extension.gif (1287x1149, 45kb)
- 16bit Extension
- Schematic: 16bit-extension.gif (1200x1105, 37kb)
- Battery Backed RAM Cart:
- Schematic: battery-ram.gif (1242x1133, 27kb)
- Prototype photo: battery-ram.jpg (618x525, 88kb)
- SNES Board:
- Schematic: snesboard.gif (1957x3565, 120kb)
- Prototype photo: snesboard.jpg (618x987, 191kb)
- Genesis Board:
- Schematic: genesisboard.gif (940x765, 28kb)
- Parallel Port I/O Cart (Used to program the RAM carts):
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:
Pin | Name | Pin | Name |
---|---|---|---|
5 | GND | 36 | GND |
6 | A11 | 37 | A12 |
7 | A10 | 38 | A13 |
8 | A9 | 39 | A14 |
9 | A8 | 40 | A15 |
10 | A7 | 41 | A16 |
11 | A6 | 42 | A17 |
12 | A5 | 43 | A18 |
13 | A4 | 44 | A19 |
14 | A3 | 45 | A20 |
15 | A2 | 46 | A21 |
16 | A1 | 47 | A22 |
17 | A0 | 48 | A23 |
18 | /IRQ | 49 | /ROM |
19 | D0 | 50 | D4 |
20 | D1 | 51 | D5 |
21 | D2 | 52 | D6 |
22 | D3 | 53 | D7 |
23 | /RE | 54 | /WE |
24 | CIC | 55 | CIC |
25 | CIC | 56 | CIC |
26 | /RAM | 57 | nc |
27 | 5V | 58 | 5V |
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.
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.Pin | Name | Pin | Name |
---|---|---|---|
A1 | GND | B1 | ? |
A2 | 5V | B2 | !H_RESET |
A3 | A8 | B3 | ? |
A4 | A11 | B4 | A9 |
A5 | A7 | B5 | A10 |
A6 | A12 | B6 | A18 |
A7 | A6 | B7 | A19 |
A8 | A13 | B8 | A20 |
A9 | A5 | B9 | A21 |
A10 | A14 | B10 | A22 |
A11 | A4 | B11 | A23 |
A12 | A15 | B12 | VIDEO |
A13 | A3 | B13 | VSYNC |
A14 | A16 | B14 | HSYNC |
A15 | A2 | B15 | HS_CLK |
A16 | A17 | B16 | !C_OE |
A17 | A1 | B17 | !C_CE |
A18 | GND | B18 | !AS |
A19 | D7 | B19 | CLK |
A20 | D0 | B20 | !DTACK |
A21 | D8 | B21 | ? |
A22 | D6 | B22 | D15 |
A23 | D1 | B23 | D14 |
A24 | D9 | B24 | D13 |
A25 | D5 | B25 | D12 |
A26 | D2 | B26 | !LO_MEM |
A27 | D10 | B27 | !RESET |
A28 | D4 | B28 | !LDSW |
A29 | D3 | B29 | !UDSW |
A30 | D11 | B30 | !S_RESET |
A31 | 5V | B31 | ? |
A32 | GND | B32 | !CART_IN |
Software:
There's finally some software available and more will follow. For now, there is:SNESXfer v0.01b (8kb), the transfer software for SNES ROMs
GenXfer v0.01b (6kb), the transfer software for Sega Genesis ROMs
Copyright (c) by chn.
All material available on this website is free of charge for personal use.
There are no ads and no affiliate links on this website.
No cookies are used. You are not being tracked.
Legal Notice
All material available on this website is free of charge for personal use.
There are no ads and no affiliate links on this website.
No cookies are used. You are not being tracked.
Legal Notice