The dev cable is a simple cable that connects the parallel port of a PC to the
controller 2 port of the Megadrive/Genesis. Along with the relevant software (see
links below) you can transfer programs to the flash chips on the candu megacart.
The dev cable is provided with ABSOLUTELY NO WARRANTEE OF ANY KIND. Use it
AT YOUR OWN RISK. It is not my fault if it blows up your Megadrive or your PC.
Version History
2009-07-30
1.0
First version of DevCable
Schematic
Technical Info
Data is transfered to the Megadrive 5 bits at a time (lines D4-D0). The highest bit indicates
whether the data sent is a command or not (high = command), so actual ROM data is sent in nibbles.
The BUSY and ~STROBE lines are used to handshake data as follows:
Megadrive lowers BUSY when ready to receive data
PC sets data values on D4-D0
PC lowers ~STROBE to indicate the presence of data
Megadrive takes data value
Megadrive raises BUSY to indicate data is received
PC raises ~STROBE ready to send the next data (when BUSY goes low)
This is a slight variation on Centronics handshaking, it is not compatible but saves on the
ACK line.
Once transfered, data is compared with the expected CRC value sent (CRC16), then written to
the flash memory. This is done by running the memcpy16 type function from RAM, something not
often done on the Megadrive. The function writes to the memory using the command interface
described in the M29F040B Datasheet. In reality both flash chips
are programmed simultaneously.
Transfer Rates
Using my linux dev machine (AMD Duron 1.2 GHz), I am getting the transfer times below.
These times include transfering and writing the data, along with clearing the blocks.
512KB game ROM (full)
3 mins 9 secs
2.7 KB/s
256KB game ROM (full)
1 mins 26 secs
3.0 KB/s
128K mdxserve ROM (10KB of data)
4.3 secs
2.3 KB/s
5 seconds to test a program you are developing is a huge improvement on using an EPROM
programmer, since you save a lot of time by not needing to remove the cart from the Megadrive,
remove the chips from the cart, program one then the other and place it all back together.
Its almost fast enough not to bother testing with Gens first!