Home

Awesome

Mega Drive Serial Port CircleCI GitHub release (latest by date)

Tools and docs for using a SEGA Mega Drive controller port in serial mode

Diagnostics Tool

When the ROM starts, it:

<p align="center"> <img src="https://github.com/rhargreaves/mega-drive-serial-port/raw/master/docs/screen.jpg" width="500" /> </p>

Build

Docker:

./docker-make

Linux (requires cmake & gendev):

make

Hardware

Controller Port Pinout

PinParallel Mode *Serial ModeI/O Reg Bit
1UpUP (D0)
2DownDOWN (D1)
3Gnd / LeftLEFT (D2)
4Gnd / RightRIGHT (D3)
5+5VDC+5VDC
6Button A / Button BTxTL (D4)
7Select
8GndGnd
9Start / Button CRxTR (D5)

* Pins in parallel mode can have two interpretations, depending on if Select has been set low or high (L / H) from the console.

Controller Plug

Looking directly at plug (Female 9-pin Type D)

-------------
\ 5 4 3 2 1 /
 \ 9 8 7 6 /
  ---------

FTDI USB TTL Serial Cable

From the datasheet:

ColourNameTypeDescription
BlackGNDGNDDevice ground supply pin.
BrownCTS#InputClear to Send Control input / Handshake signal.
RedVCCOutput or inputPower Supply Output except for the TTL-232RG-VIPWE were this is an input and power is supplied by the application interface logic.
OrangeTXDOutputTransmit Asynchronous Data output.
YellowRXDInputReceive Asynchronous Data input.
GreenRTS#OutputRequest To Send Control Output / Handshake signal.

Mappings

FTDI CableMega Drive Port Pin
Orange (TXD)9 (Rx)
Yellow (RXD)6 (Tx)
Black (GND)8 (Gnd)