Skip to content

A project to use modern USB game controllers on the original Xbox console with a Teensy4.1.

Notifications You must be signed in to change notification settings

jkesseler/ogx360_t4

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ogx360_t4

Build

A port of https://github.com/Ryzee119/ogx360.git, a project to use modern USB game controllers on the original Xbox console to the Teensy4.1.

This has a new USB Host Stack, USB Device Stack and significantly more processing power which opens up alot more possibilities.

Finally, hardly any soldering is required.

Currently can emulate

  • Duke Standard Controller
  • Official Xbox Memory Unit (XMU)
  • Steel Battalion Controller
  • DVD Movie Playback IR Dongle

Needed Parts

Qty Part Description Link
1 Teensy 4.1 https://www.pjrc.com/store/teensy41.html
1 USB Host Cable https://www.pjrc.com/store/cable_usb_host_t36.html
1 0.1" Pin Header https://www.pjrc.com/store/header_24x1.html
1 Winbond W25Q128 SPI Flash (128Mbit) (Only needed for XMU emulation)
1 Xbox to MicroUSB ChimericSystems or Alibaba (Large MOQ!) or DIY

Duke Controller Emulation: Supported Controllers

  • Bluetooth 8bitdo/compatible controllers via the 8BitDo Wireless USB Adapter
  • Wired 8bitdo controllers when they are started in X-input mode.
  • Xbox S/X Wired
  • Xbox One Wired (Genuine / PDP)
  • Xbox 360 Wired
  • Xbox 360 Wireless (Via PC USB Receiver)
  • PS4 Wired

Xbox Memory Unit Emulation (XMU): Supported Memory Interfaces

  • 256kB RAM disk for testing only.
  • 16MB Winbond W25Q128 SPI Flash. Requires soldering onto the designated Teensy4.1 footprint.
  • SD Card installed into the Teensy4.1 SD Card slot.

Steel Battalion Controller Emulation: Supported Interfaces

  • Keyboard and Mouse See this file for mapping. Please improve!

DVD Playback IR Dongle

  • To play DVDs on a Xbox console, place a file called dvd_rom.bin at the root of a FAT32 formatted SD card then insert it into the Teensy before power up. dvd_rom.bin must be dumped from a genuine IR dongle.
  • Input is not yet fully implemented. Currently only Duke and Xbox360 D-Pad is mapped to the IR remote dpad for testing. This is very simple to fix though if needed.

Compile

CLI (Requires python and python-pip)

git clone https://github.com/Ryzee119/ogx360_t4.git --recursive
python -m pip install --upgrade pip
pip install platformio
cd ogx360_t4
# Build XMU (memory unit) emulator using different memory interfaces
platformio run -e XMU_FLASH
platformio run -e XMU_SDCARD
platformio run -e XMU_RAM_TEST_ONLY
# Build controller translator
platformio run -e DUKE
# Build steel battalion translator
platformio run -e STEELBATTALION
# Build IR dongle translator
platformio run -e XREMOTE

Visual Studio Code

  • Download and install Visual Studio Code.
  • Install the PlatformIO IDE plugin.
  • Clone this repo recursively git clone https://github.com/Ryzee119/ogx360_t4.git --recursive
  • In Visual Studio Code File > Open Folder... > ogx360_t4
  • Hit build on the Platform IO toolbar ().

Program

Teensy (using Teensy Loader)

Teensy (using Visual Studio Code)

  • Setup Visual Studio Code as per the Compile instructions.
  • Hit the program button on the Platform IO toolbar ().

usagephoto

About

A project to use modern USB game controllers on the original Xbox console with a Teensy4.1.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 62.7%
  • C++ 37.3%