Skip to content

GxOSS/FTDI2SPI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FTDI2SPI - Cross-Platform XFlasher

A cross-platform fork of FTDI2SPI for FT232/FT2232 Xbox 360 SPI NAND/eMMC flashing.

Status:

16mb read/write tested

Read succesful, require --size override as flash config isnt playing nicely with libftdi

Write unsuccesful, cant be arsed to fix it right now

Blinking LED not working either but its not exactly important

Platforms

  • Linux: x86_64, aarch64 (libftdi1)
  • macOS: x86_64, ARM64 (libftdi1)
  • Windows: x86_64 (FTD2XX/FTCSPI or libftdi1)

Building

Prerequisites

Debian/Ubuntu:

sudo apt install build-essential cmake libusb-1.0-0-dev pkg-config

macOS:

brew install cmake libusb pkg-config

Windows (MSYS2):

pacman -S mingw-w64-x86_64-cmake mingw-w64-x86_64-libusb mingw-w64-x86_64-gcc

Build

git clone https://github.com/GxOSS/FTDI2SPI
cd FTDI2SPI
mkdir build && cd build
cmake ..
make -j4

Usage

# Detect flash/NAND
./FTDI2SPI info

# Read NAND
./FTDI2SPI read nand_dump.bin -s 0 -l 100

# Write NAND
./FTDI2SPI write nand_dump.bin -s 0

# eMMC operations
./FTDI2SPI emmc-info
./FTDI2SPI emmc-read emmc_dump.bin -s 0 -l 1000

What is different

  • Uses libftdi1 instead of proprietary FTD2XX/FTCSPI
  • Cross-platform: Windows, Linux, macOS (including ARM64)
  • CMake-based build system
  • ISD2100 audio chip support optional (Windows FTD2XX only)

Created for Genexis but will be of use if J-Runner ever goes cross-platform

About

Source code to the FTDI SPI DLL used in J-Runner with Extras for the xFlasher or Squirt programmer

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C 70.3%
  • C++ 28.3%
  • CMake 1.4%