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
Python: Wrangled and unpivoted gaming datasets. Tableau: created dashboards - Market Beacon and Player’s Shopping Guide.

Created two information products for GameStop. Using Python, wrangled and unpivoted datasets, and created Tableau dashboards.

Zinaida Dvoskina 2 Jan 29, 2022
Simple plug-and-play installer for users who want to LineageOS from stock firmware, or from another custom ROM.

LineageOS for the Teracube 2e Simple plug-and-play installer for users who want to LineageOS from stock firmware, or from another custom ROM. Dependen

Gagan Malvi 5 Mar 31, 2022
Senator Stock Trading Tester

Senator Stock Trading Tester Program to compare stock performance of Senator's transactions vs when the sale is disclosed. Using to find if tracking S

Cole Cestaro 1 Dec 07, 2021
Certipy is a Python tool to enumerate and abuse misconfigurations in Active Directory Certificate Services (AD CS).

Certipy Certipy is a Python tool to enumerate and abuse misconfigurations in Active Directory Certificate Services (AD CS). Based on the C# variant Ce

ollypwn 1.3k Jan 01, 2023
A lightweight and unlocked launcher for Lunar Client made in Python.

LCLPy LCL's Python Port of Lunar Client Lite. Releases: https://github.com/Aetopia/LCLPy/releases Build Install PyInstaller. pip install PyInstaller

21 Aug 03, 2022
A powerful and user-friendly binary analysis platform!

angr angr is a platform-agnostic binary analysis framework. It is brought to you by the Computer Security Lab at UC Santa Barbara, SEFCOM at Arizona S

6.3k Jan 02, 2023
RISE allows you to instantly turn your Jupyter Notebooks into a slideshow

RISE RISE allows you to instantly turn your Jupyter Notebooks into a slideshow. No out-of-band conversion is needed, switch from jupyter notebook to a

Damian Avila 3.4k Jan 04, 2023
In this project we will implement AirBnB clone using console

AirBnB Clone In this project we will implement AirBnB clone using console. Usage The shell should work like this

Nandweza Allan 1 Feb 07, 2022
Path of Exile Vendor Recipe Tracker (Chaos/Regal orb)

Path of Exile Vendor Trade Tracker Are you tired of manually keeping track of collected and missing items for farming Chaos or Regal Orbs in PoE? Me t

1 Nov 09, 2021
A clock purely made with python(turtle)...

Clock A clock purely made with python(turtle)... Requirements Pythone3 IDE or any other IDE Installation Clone this repository Running Open this proje

Abhyush 1 Jan 11, 2022
Tie together `drf-spectacular` and `djangorestframework-dataclasses` for easy-to-use apis and openapi schemas.

Speccify Tie together drf-spectacular and djangorestframework-dataclasses for easy-to-use apis and openapi schemas. Usage @dataclass class MyQ

Lyst 4 Sep 26, 2022
This is the course repository for the Spring 2022 iteration of MACS 30123 "Large-Scale Computing for the Social Sciences" at the University of Chicago.

Large-Scale Computing for the Social Sciences Spring 2022 - MACS 30123/MAPS 30123/PLSC 30123 Instructor Information TA Information TA Information Cour

6 May 06, 2022
Weblate is a copylefted libre software web-based continuous localization system

Weblate is a copylefted libre software web-based continuous localization system, used by over 2500 libre projects and companies in more than 165 count

Weblate 7 Dec 15, 2022
Your missing PO formatter and linter

pofmt Your missing PO formatter and linter Features Wrap msgid and msgstr with a constant max width. Can act as a pre-commit hook. Display lint errors

Frost Ming 5 Mar 22, 2022
A passive recon suite designed for fetching the information about web application

FREAK Suite designed for passive recon Usage: python3 setup.py python3 freak.py warning This tool will throw error if you doesn't provide valid api ke

toxic v3nom 7 Feb 17, 2022
Statically typed BNF with semantic actions; A frontend of frontend frameworks; Use your grammar everywhere.

Statically typed BNF with semantic actions; A frontend of frontend frameworks; Use your grammar everywhere.

Taine Zhao 56 Dec 14, 2022
A Python wrapper for Matrix Synapse admin API

Synapse-admin-api-python A Python wrapper for Matrix Synapse admin API. Versioning This library now supports up to Synapse 1.45.0, any Admin API intro

Knugi 9 Sep 28, 2022
A program for calculating the divisor function

DivisorsFunctionCalculator A program for calculating the divisor function A script to find the "Sigma" (divisors function) of any number. To find the

1 Oct 31, 2021
ROS Foxy + Raspi + Adafruit BNO055

ROS Foxy + Raspi + Adafruit BNO055

Ar-Ray 3 Nov 04, 2022
Never see escaped bytes in output.

Uniout It makes Python print the object representation in readable chars instead of the escaped string. Example from pprint import pprint lang

Mosky Liu 156 Oct 21, 2022