Program to send ROM files to Turbo Everdrive; reverse-engineered and designed to be platform-independent

Overview

PCE_TurboEverdrive_USB

What is this "TurboEverdrive USB" thing ?

For those who have a TurboEverdrive v2.x from krikzz.com, there was originally an optional USB port for sending files directly from PC to the cart. Developers have been very happy with this functionality, but unfortunately, it is no longer an option at the time of checkout on the site (only initial orders around 2015 had this option, I hear). All of the boards can have the option added later, however.

Note that version 1 boards do not have this option. Also note that there are many boards being sold on ebay and AliExpress calling themselves "Turbo Everdrives", but are not version 2.x TurboEverdrive boards. Be careful to verify which board you have before using this.

What is actually new in this repository ?

The program which krikzz had written for data transfer to the Turbo Everdrive was built only for Windows, and is only a command-line tool.

It can be found here (turbo-usb2.exe): https://krikzz.com/pub/support/turbo-everdrive/v2/usb-tool/

I have taken this tool, and reverse-engineered and reimplemented it in Python so that it can be used on other platforms as well (i.e. linux).

Can I add USB to my TurboEverdrive ?

If you're good at soldering, it's pretty straightforward, although 2022 is a time of chip shortages, so you may not be able to get the required IC chip immediately.

IF YOU ARE NOT EXPERIENCED AT SOLDERING, I STRONGLY RECOMMEND TO REACH OUT TO SOMEBODY WHO DOES CONSOLE MODIFICATIONS FOR ASSISTANCE.

The change itself is pretty straightforward.

ELIGIBLE CARTS

The Turbo Everdrive cartridges versions 2.x are capable of having this added. The cartridges look like this (prior to modification):

Before Modification

And they look like this (after modification):

After Modification

PARTS

You will need:

  1. a USB-B mini socket, surface mount (such as Mouser part 649-10033526N3212MLF)
  2. a FT245RL USB-to-parallel converter chip, SSOP-28 package (such as Mouser part 895-FT245RL-TUBE)

SOLDERING

Be very careful to ensure that the chip's orientation (direction) is correct, and that the pins are soldered without creating any solder bridges, which could cause damage or malfunction. The pins are very close to each other, and solder bridges are very likely for the inexperienced.

PC SIDE SETUP & TEST

You will need to ensure that your PC has the FTDI Virtual COM Port drivers installed (if they aren't already installed).

They can be found here: https://ftdichip.com/drivers/vcp-drivers/

To test:

  1. Insert the TurbEverdrive into a PC Engine (or TurboGrafx) and ensure that it still has original functionality
  2. With the console off, connect a Windows PC to the TurboEverdrive cartridge, open "Device Manager", and expand the "Ports (COM & LPT)" section if you have one.
  3. Turn on the console, and watch the Device Manager enumerate the COM port - there should be a new "USB Serial Device" in the "Ports (COM &LPT) section. Take note of the port number (mine is COM9).
  4. Now try using the original Krikzz "turbo-usb2.exe" to send a ROM file.

How to run the python version

The normal command line is:

python SendTED.py <COM port> <ROM file>

In my case, this would work:

python SendTED.py COM9 testROM.pce

There are ways to change the 'SendTED.py' script into an .EXE file so that 'python' is not needed each time it is run, but I will leave that as an exercise for the reader.

This should also work fine on other operating systems such as linux, but I have not tested it as yet; I would appreciate feedback on this.

For any bugs or issues (for example, with odd-sized ROM files), please file an issue in the GitHub issue log with an example file in order for me to debug.

I hope this is useful !

Dave

Owner
David Shadoff
David Shadoff
Writeup of NilbinSec's participation in the Winja CTF for c0c0n 2021

Winja-CTF-c0c0n-2021-Writeup NilbinSec's participation in the Winja CTF for c0c0n 2021 This repo covers NilbinSec's participation in the Winja CTF dur

1 Nov 15, 2021
Santa's kitchen helper for python

Santa's Kitchen Helper Introduction/Overview Contents UX User Stories Design Wireframes Color Scheme Typography Imagery Features Exisiting Features Fe

Paul Browne 4 May 31, 2022
Use this function to get list of routes for particular journey

route-planner Functions api_processing Use this function to get list of routes for particular journey. Function has three parameters: Origin Destinati

2 Nov 28, 2021
Tools for analyzing Java JVM gc log files

gc_log This package consists of two separate utilities useful for : gc_log_visualizer.py regionsize.py GC Log Visualizer This was updated to run under

Brad Schoening 0 Jan 04, 2022
ioztat is a storage load analysis tool for OpenZFS

ioztat is a storage load analysis tool for OpenZFS. It provides iostat-like statistics at an individual dataset/zvol level.

Jim Salter 116 Nov 25, 2022
Construção de um jogo Dominó na linguagem python com base em algoritmos personalizados.

Domino (projecto-python) Construção de um jogo Dominó na linguaguem python com base em algoritmos personalizados e na: Monografia apresentada ao curso

Nuninha-GC 1 Jan 12, 2022
A cookiecutter to start a Python package with flawless practices and a magical workflow 🧙🏼‍♂️

PyPackage Cookiecutter This repository is a cookiecutter to quickly start a Python package. It contains a ton of very useful features 🐳 : Package man

Daniel Leal 16 Dec 13, 2021
HSPICE can not perform Monte Carlo (MC) simulations while considering aging effects

HSPICE can not perform Monte Carlo (MC) simulations while considering aging effects. I developed a python wrapper that automatically performs MC and aging simulations using HPSICE to save engineering

Habib Kazemi 2 Nov 22, 2021
Python implementation of an automatic parallel parking system in a virtual environment, including path planning, path tracking, and parallel parking

Automatic Parallel Parking: Path Planning, Path Tracking & Control This repository contains a python implementation of an automatic parallel parking s

134 Jan 09, 2023
This is a simple leaderboard for 30 days of Google Cloud program for students of ASIET

30daysleaderboard #Hacktoberfest - Please don't make changes in readme file. Only improvement in the project will be accepted. Update - Now if you run

5 Oct 29, 2021
The next generation Canto RSS daemon

Canto Daemon This is the RSS backend for Canto clients. Canto-curses is the default client at: http://github.com/themoken/canto-curses Requirements De

Jack Miller 155 Dec 28, 2022
A basic tool to generate Hydrogen drum machine kits.

Generate Hydrogen Kit A basic tool to generate drumkit.xml files for Hydrogen drum machine. Saves a bit of time when making kits. Supply it with a nam

Luna Langton 2 Nov 28, 2021
Functions to analyze Cell-ID single-cell cytometry data using python language.

PyCellID (building...) Functions to analyze Cell-ID single-cell cytometry data using python language. Dependecies for this project. attrs(=21.1.0) fo

0 Dec 22, 2021
A simple bot that will help you in your learning and make it more fun.

hyperskill-SimpleChattyBot-python A simple bot that will help you in your learning and make it more fun. Syntax bot.py Stages Stage #1: Zuhura Bot we

1 Nov 09, 2021
Script de monitoramento de telemetria para missões espaciais, cansat e foguetemodelismo.

Aeroespace_GroundStation Script de monitoramento de telemetria para missões espaciais, cansat e foguetemodelismo. Imagem 1 - Dashboard realizando moni

Vinícius Azevedo 5 Nov 27, 2022
This repo contains scripts that add functionality to xbar.

xbar-custom-plugins This repo contains scripts that add functionality to xbar. Usage You have to add scripts to xbar plugin folder. If you don't find

osman uygar 1 Jan 10, 2022
An OBS script to fuze files together

OBS TEXT FUZE Fuze text files and inject the output into a text source. The Index file directory should be a list of file directorys for the text file

SuperZooper3 1 Dec 27, 2021
CircuitPython Driver for Adafruit 24LC32 I2C EEPROM Breakout 32Kbit / 4 KB

Introduction CircuitPython driver for Adafruit 24LC32 I2C EEPROM Breakout Dependencies This driver depends on: Adafruit CircuitPython Bus Device Regis

Adafruit Industries 4 Oct 03, 2022
Small exercises to get you used to reading and writing Python code!

Pythonlings Welcome to Pythonlings, an automated Python tutorial program (inspired by Rustlings and Haskellings). WIP This program is still working in

鹤翔万里 5 Sep 23, 2022
Cash in on Expressed Barcode Tags (EBTs) from NGS Sequencing Data with Python

Cash in on Expressed Barcode Tags (EBTs) from NGS Sequencing Data with Python Cashier is a tool developed by Russell Durrett for the analysis and extr

3 Sep 11, 2022