Compare PCB Prices:
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 and bugs are certainly still present. I plan to play alot of N64 to test 😄.
- 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!
- 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.
- Raspberry Pi interface or equivalent for all other USB controllers.
- More inbuilt USB controller drivers.
- 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.
- 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!)
|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 (320x240)||AliExpress|
|1||PCB breakout board||Kitspace|
Note: PSRAM model numbers are IPS6404L-SQ-SPN or ESP-PSRAM64H.
usb64 is shared under the MIT license, however this project includes code by others. Refer to the list below.
- mpaland/printf shared under the MIT License.
- thi-ng/tinyalloc shared under the Apache-2.0 License.
- FatFs by ChaN shared under a BSD-style license.
- USBHost_t36 fork shared under an 'MIT or MIT-like license'.
- Teensy cores shared under an 'MIT or MIT-like license'.
- MBC emulation code is adapted from Peanut-GB shared under an MIT License.