• Stars
    star
    146
  • Rank 252,769 (Top 5 %)
  • Language
    C
  • License
    MIT License
  • Created over 4 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

usb64 - A project developed to use USB controllers on the Nintendo 64 console 📺 🎮

basic

Build badge
A project developed to use USB controllers on the Nintendo 64 console.
Precompiled binaries can be downloaded from Releases.
NOTE: This project is still in development, PRs and ideas are welcome. See todo list for ideas.

  • N64 controller emulation (up to four controllers at once!).
  • Rumblepak emulation.
  • Mempak emulation with four selectable banks. Technically unlimited.
  • Transferpak emulation. Put Gameboy ROMS on an SD Card!
  • N64 mouse emulation. Use a USB Mouse!
  • N64 Randnet emulation. Use a USB keyboard!
  • Configurable deadzones and sensitivity from the N64 Console.
  • True dual analog sticks with GoldenEye and Perfect Dark.
  • SD card driver with FATFS support for storage/backup of Gameboy ROMS, mempaks etc.
  • A single hardwired controller interface for ultimate hacking.
  • Optional TFT LCD Support.

Todo

  • Raspberry Pi interface or equivalent for all other USB controllers.
  • More inbuilt USB controller drivers. (PS3, Aftermarket Xbox One, OG Xbox, improved Generic HID).
  • USB Bluetooth stack.
  • Mouse/Keyboard input for controllers.
  • Gamecube controller support.
  • Better debug output (Flashing LED, SD card logging)

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
  • A hardwired controller, use your own buttons etc.

Controls

  • Back + D-Pad = Insert Mempak banks 1 to 4
  • Back + LB = Insert Rumblepak
  • Back + RB = Insert Transferpak
  • Back + Start = Select virtual pak (Use in-game mempak managers to configure the device)
  • Back + B = Switch to true dual-analog stick more for GoldenEye 007/Perfect Dark
  • Back + A = Backup buffered memory to SD Card (DO THIS BEFORE POWER OFF!)

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
3 0.1" Pin Header https://www.pjrc.com/store/header_24x1.html
2 64Mbit PSRAM SOIC-8 https://www.pjrc.com/store/psram.html
4 N64 Controller Extensions AliExpress
1 (Optional) ILI9341 TFT LCD Display 2.2" (320x240) AliExpress
1 MicroSD Card -
1 (Optional) Case https://a360.co/2HPz0U0
1 (Optional) PCB breakout board Kitspace

Note: PSRAM model numbers are IPS6404L-SQ-SPN or ESP-PSRAM64H.

Compile and Program

See COMPILE.md.

Install

See INSTALL.md.

How to Use

See USAGE.md.

License and Attribution

usb64 is shared under the MIT license, however this project includes code by others. Refer to the list below.

usb64 with optional case and TFT display.

vp_cont

If you like my work please consider a small donation
paypal

More Repositories

1

ogx360

Add modern xinput USB support to your Original Xbox 📺 🎮
C++
403
star
2

OpenXenium

OpenXenium - Open Source Xenium Modchip CPLD replacement project for the Original Xbox
VHDL
253
star
3

ogx360_t4

A project to use modern USB game controllers on the original Xbox console with a Teensy4.1.
C++
117
star
4

hawk

Open Source Recreation of the Xbox Live Communicator for Original Xbox
C
73
star
5

LithiumX

A simple dashboard, mainly developed for the Original Xbox console, but it can be compiled for Windows and Linux for rapid development and testing.
C
71
star
6

ArduinoProm

Original Xbox EEPROM reader and writer. Based on and inspired by the awesome work by Grimdoomer on PiPROM
C++
59
star
7

lvgl-sdl

A crossplatform SDL wrapper for the Light and Versatile Graphics Library https://lvgl.io/.
C
49
star
8

spi2par2019

Open source recreation of the spi2par, a board that allowed you to use HD44780 compliant LCDs on the Xenium modchip for the OG Xbox
C++
45
star
9

AladdinLCD

Convert the cheap AladdinXT 4032 Original Xbox modchip to an LCD driver for TSOP modded consoles.
VHDL
44
star
10

Xenium-Tools

A program to manage Xenium modchip devices on the Original Xbox
C++
42
star
11

n360

Add Wireless Xbox 360 Controller Support to your Nintendo 64
C++
39
star
12

n64_controller_test

A homebrew rom made to test various features of the N64 controller on a N64 console. 🎮
C
39
star
13

XboxHDMI-Ryzee119

100% digital Original Xbox HDMI Concept Board
C
35
star
14

tusb_xinput

TinyUSB xinput host driver I am using in some of my projects
C
31
star
15

Omnispeak64

A port of Commander Keen "Commander Keen in Goodbye Galaxy!" to the Nintendo 64. 🔫
C
25
star
16

LPCAnalyzer

LPC Protocol Analyzer Plugin for Kingst Branded Logic Analysers
C++
16
star
17

OpenXeniumRGB

RGB Addon Board for the OpenXenium modchip.
16
star
18

Dongle_Dumper

Dump the ROM from an Original Xbox DVD Movie Playback IR Dongle
C
16
star
19

tinyogx360

15
star
20

XBLC-Dumper

Dump firmware off the Xbox Live Communicator from the Original Xbox
C
11
star
21

SameBoyT4

Port of SameBoy, a highly accurate GB and GBC emulator to the Teensy4.1 microcontroller.
C
10
star
22

XMU_Dumper

Dump a raw image of a Xbox Memory Unit straight using an Xbox console
C
6
star
23

OmnispeakT4

A port of Commander Keen "Commander Keen in Goodbye Galaxy!" to the Teeny4.1 microcontroller . 🔫
C++
6
star
24

XcaliburInjector

Just a way to inject new register values into the Xcalibur video encoder located on Original Xbox consoles with a v1.6 motherboard.
C++
6
star
25

nxdk_ohci_test

Tests all inbuilt class drivers for nxdk's USB Host stack
C
5
star
26

Cosmo64

A port of Cosmo's Cosmic Adventure to the Nintendo 64.
C
4
star
27

libusbohci

Original import from https://github.com/OpenNuvoton/N9H30_emWin_NonOS. Tweaked for portability and for use with nxdk. A OSS toolchain for The Original Xbox console
C
3
star
28

SameBoyX

C
2
star
29

Nuklear_xbox

C
2
star
30

tinyusb_host_test

C
2
star
31

SDL_audio_tests

C
2
star
32

donut

C
1
star
33

NeverBall64

Port of neverball to the N64 (WIP)
C
1
star
34

usbx_nxdk

Testing AzureRTOS USBX and NetXDuo in nxdk
C
1
star
35

OGX_CHALLENGE_TABLE

C
1
star
36

TheKeplerian

The Keplerian is a celestial object tracker that is able to track planets, The Sun, The Moon and man-made earth orbiting objects. Two servo motors drive the azimuth and elevation arm which provide an accurate visual indication of the objects location in the sky!
1
star