Teensy Cartridge Dumper/Writer

Revision for “Teensy Cartridge Dumper/Writer” created on February 16, 2017 @ 08:25:18

Title
Teensy Cartridge Dumper/Writer
Content
The Teensy Cartridge Dumper/Writer is a general purpose design which routes 24 address bits, 16 data bits and a dozen control signals to a pair of female headers. With these headers, console specific cartridge adapters can be attached to interface the Teensy's data and address buses to the desired game cartridge. [toc] <h1>Status</h1> As of January 11th 2017 this project is still in development and is not yet mature. The Teensy firmware and PC-side software are GPLv3. If you are interested in assisting in the development of this project, please contact me and I will provide you with hardware and add you as a contributor to the project. <table width="206"> <tbody> <tr> <td><a href="http://db-electronics.ca/wp-content/uploads/2017/01/TeensyDumper-bare.jpg"><img class="aligncenter size-medium wp-image-727" src="http://db-electronics.ca/wp-content/uploads/2017/01/TeensyDumper-bare-300x169.jpg" alt="" width="300" height="169" /></a></td> <td><a href="http://db-electronics.ca/wp-content/uploads/2017/01/TeensyDumper-with-carts.jpg"><img class="aligncenter size-medium wp-image-728" src="http://db-electronics.ca/wp-content/uploads/2017/01/TeensyDumper-with-carts-300x169.jpg" alt="" width="300" height="169" /></a></td> </tr> </tbody> </table> <h2>Currently Working Features</h2> <h3>Genesis Cartridges</h3> <ul> <li>Dump ROM (any arbitrary data length starting at any arbitrary address) to file</li> <li>Dump ROM (any arbitrary data length starting at any arbitrary address) to console, nice Hex editor like output</li> <li>Get Flash ID</li> <li>Read ROM Header, output nice formatted table to console</li> <li>Calculate and compare cartridge checksum</li> <li>Erase Flash IC</li> <li>Program BIN file to cartridge</li> </ul> <a href="http://db-electronics.ca/wp-content/uploads/2017/01/genesis-8mbit-cart.jpg"><img class="aligncenter size-large wp-image-826" src="http://db-electronics.ca/wp-content/uploads/2017/01/genesis-8mbit-cart-1024x576.jpg" alt="" width="800" height="450" /></a> <h1>Teensy++ 2.0</h1> The microcontroller used in this project is a <a href="https://www.pjrc.com/store/teensypp.html">Teensy++ 2.0</a> development board. These are Arduino compatible boards which offer significant USB improvements over standard Arduinos. <h1>Adapters</h1> I currently have several cartridge adapters available for the Teensy Dumper, not all are tested and validated yet. <ul> <li>SNES</li> <li>Master System</li> <li>Sega Genesis</li> <li>Colecovision (only compatible with my custom Colecovision carts)</li> <li>Turbografx-16 (only compatible with my custom Turbografx-16 carts)</li> </ul> If you follow the pin sequence on the Teensy Dumper's output port, you could design your own board to interface to any data / address up to 16 bits data and 24 bits address. <h1>Schematics</h1> The Teensy outputs a general purpose 16 bit DA bus which is used to trigger three HC373 latches to generate 24 bits of data. The board also has a serial flash on board to store ROMs for on-the-go cartridge flashing but this feature has not been implemented yet. <h2>Mainboard</h2> <ul> <li>[google-drive-embed url="https://drive.google.com/file/d/0BxWY40xxhh0vU2VWZHNaTzRSVVU/view?usp=drivesdk" title="TeensyDumper_1.1.pdf" icon="https://ssl.gstatic.com/docs/doclist/images/icon_12_pdf_list.png" newwindow="yes" plain="yes" style="normal"]</li> </ul> <h2>Teensy++ 2.0</h2> <ul> <li><a href="https://www.pjrc.com/teensy/schematic.html">https://www.pjrc.com/teensy/schematic.html</a></li> </ul> <h2>Cartridge Adapters</h2> <ul> <li>[google-drive-embed url="https://drive.google.com/file/d/0BxWY40xxhh0vWlBxZl93MzVKRjg/view?usp=drivesdk" title="TD-Genesis-Adapter_0.2.pdf" icon="https://ssl.gstatic.com/docs/doclist/images/icon_12_pdf_list.png" newwindow="yes" plain="yes" style="normal"]</li> <li>[google-drive-embed url="https://drive.google.com/file/d/0BxWY40xxhh0vTHN0ZHRiZ1VMYWM/view?usp=drivesdk" title="TD-SMS-Adapter_0.1.pdf" icon="https://ssl.gstatic.com/docs/doclist/images/icon_12_pdf_list.png" newwindow="yes" plain="yes" style="normal"]</li> <li>[google-drive-embed url="https://drive.google.com/file/d/0BxWY40xxhh0vbzBvMmZYTE1GRnc/view?usp=drivesdk" title="TD-SNES-Adapter_0.1.pdf" icon="https://ssl.gstatic.com/docs/doclist/images/icon_12_pdf_list.png" newwindow="yes" plain="yes" style="normal"]</li> </ul> <h1>Teensy Firmware</h1> The Teensy firmware is GPLv3. If you are interested in assisting in the development of this project, please contact me and I will provide you with hardware and add you as a contributor to the project. <a href="https://github.com/db-electronics/dbDumper">https://github.com/db-electronics/dbDumper</a> <h1>PC Interface</h1> The PC-side software is GPLv3. If you are interested in assisting in the development of this project, please contact me and I will provide you with hardware and add you as a contributor to the project. <a href="https://github.com/db-electronics/dbDumper-Interface">https://github.com/db-electronics/dbDumper-Interface</a> <h2>Example Usage</h2> Read 1MB of data from Genesis cartridge starting at address 0, dump to rom.bin python3 dbDumper.py --mode md --read 0x100000 0x0 --file rom.bin <h2>Demo Video</h2> https://youtu.be/Zxp-WUUyGuQ
Excerpt


OldNewDate CreatedAuthorActions
February 16, 2017 @ 08:25:18 René
February 16, 2017 @ 08:25:13 [Autosave] René
January 28, 2017 @ 14:48:59 René
January 19, 2017 @ 16:21:27 René
January 19, 2017 @ 16:12:03 René
January 13, 2017 @ 11:50:18 René
January 13, 2017 @ 11:25:49 René
January 13, 2017 @ 10:45:03 René
January 13, 2017 @ 10:39:35 René
January 11, 2017 @ 09:07:56 René
January 11, 2017 @ 09:06:36 René
January 11, 2017 @ 08:57:52 René
January 10, 2017 @ 16:32:22 René
January 10, 2017 @ 16:27:41 René

René

Electronics engineer and retrogaming fanatic!