Login



Register



Welcome to jtryba.com
Forum Post :: N64 Controller Replacement For Portables


jtryba Posted @ 00:48:17 on 2020-10-04

Replace Nintendo CNT-NUS with Atmega328/328P/168
~Supports all digital buttons (working)
~Supports PS2/Gamecube style or original N64 encoder joystick (working)
~Supports rumble (see compatibility list below..)
~Supports memory pack emulation with 24LC256 EEPROM (not working)

* Note: Holding L and R while pressing start will recalibrate the joystick, this feature was programmed into real n64 controllers, and i liked the idea so i kept it.
* Note: Holding L and R while pressing Z will toggle rumble mode on/off. (non memory version)
* Note: Holding L and R while pressing Z will switch between rumble mode and memory pack mode. (memory version)

Link to code.


Shoutout to pears from bitbuilt.net for testing.

Schematics:

Uno:

fullsize

Mini:

fullsize

Nano:

fullsize

Rumble info:

fullsize

Encoder info:

fullsize

Where to find 5v from the N64:

fullsize




-jtryba
Donate


jtryba Posted @ 12:14:43 on 2020-10-19

007 goldeneye does not recognize a rumbe pack.

here are some links with lots of data regarding the issue:
https://github.com/mamedev/mame/blob/master/src/mame/machine/n64.cpp
https://github.com/n64dev/cen64/blob/master/si/controller.c
https://github.com/mupen64plus/mupen64plus-core/blob/master/src/backends/api/joybus.h
https://github.com/darthcloud/cube64-dx/blob/master/firmware/n64gc_comm.inc
https://patater.com/gbaguy/day9n64.htm <---SI Registers info
https://sites.google.com/site/consoleprotocols/home/nintendo-joy-bus-documentation?authuser=0

here are some decompiled files from golden eye and perfect dark to reference:
https://github.com/n64decomp/007/blob/master/src/joy.c
https://github.com/n64decomp/007/blob/master/src/joy_rumble.c
https://github.com/n64decomp/perfect_dark/blob/master/src/include/PR/os_cont.h

libultra decomps:
https://github.com/n64decomp/libreultra/blob/master/src/io/crc.c
https://github.com/n64decomp/libreultra/blob/master/src/io/controller.c
https://github.com/n64decomp/libreultra/blob/master/src/io/conteepprobe.c
https://github.com/n64decomp/libreultra/blob/master/src/io/contramread.c
https://github.com/n64decomp/libreultra/blob/master/src/io/contramwrite.c
https://github.com/n64decomp/libreultra/blob/master/src/io/pfsgetstatus.c
https://github.com/n64decomp/libreultra/blob/master/src/io/pfsinitpak.c
https://github.com/n64decomp/libreultra/blob/master/src/io/pfsinit.c
https://github.com/n64decomp/libreultra/blob/master/src/io/motor.c

not very helful unless you can read n64 assembly but idk im trying

also just for reference, a list of all rumble games:
https://nintendo.fandom.com/wiki/List_of_Nintendo_64_games_with_Rumble_Pak_support





-jtryba
Donate


jtryba Posted @ 21:21:03 on 2020-10-20

This was a big help with rumble support, it got many games working.
Still no luck on goldeneye rumble support. I need my own logic analyzer... :(

http://svn.navi.cx/misc/trunk/wasabi/devices/cube64/notes/n64-observations




-jtryba
Donate


jtryba Posted @ 02:23:56 on 2020-10-22

Rumble tests:

C = Compatible
U = Untested
N = Not compatible
D = Controller not working

( N ) 007: The World is Not Enough
( U ) 1080 Snowboarding
( U ) A Bug's Life
( U ) AeroFighters Assault
( U ) All-Star Baseball '99
( U ) All-Star Baseball 2000
( U ) All-Star Baseball 2001
( U ) Armorines: Project S.W.A.R.M.
( U ) Army Men Air Combat
( U ) Army Men: Sarge's Heroes
( U ) Army Men: Sarge's Heroes 2
( U ) Asteroids Hyper 64
( U ) Automobili Lamborghini
( U ) Banjo-Kazooie
( U ) Banjo-Tooie
( U ) Bass Hunter 64
( U ) Bass Masters 2000
( U ) Batman Beyond: Return of the Joker
( U ) BattleTanx
( U ) BattleTanx: Global Assault
( U ) Battlezone: Rise of the Black Dogs
( U ) Beetle Adventure Racing
( U ) Big Mountain 2000
( U ) Bio Freaks
( U ) Blues Brothers 2000
( U ) Body Harvest
( U ) Bomberman 64: 2nd Attack
( U ) Bomberman Hero
( U ) Buck Bumble
( U ) Bust-A-Move '99
( U ) Bust-A-Move 3 DX
( U ) California Speed
( U ) Carmageddon 64
( U ) Chameleon Twist 2
( U ) Charlie Blasts Territory
( U ) Chopper Attack
( U ) Command & Conquer
( U ) Conker's Bad Fur Day
( D ) Cruis'n Exotica
( U ) Cruis'n World
( U ) Cyber Tiger
( U ) Daikatana
( U ) Deadly Arts
( C ) Destruction Derby 64
( C ) Diddy Kong Racing
( U ) Donkey Kong 64
( U ) Duke Nukem 64
( U ) Duke Nukem Zero Hour
( U ) ECW Hardcore Revolution
( U ) Excitebike 64
( U ) Extreme-G
( U ) Extreme-G XG2
( U ) F-1 World Grand Prix
( U ) F-1 World Grand Prix II
( U ) F-Zero X
( U ) Fighters Destiny
( U ) Fighter Destiny 2
( U ) Fighting Force 64
( U ) Flying Dragon
( U ) Forsaken 64
( U ) Gauntlet Legends
( U ) Gex 3: Deep Cover Gecko
( U ) Goemon's Great Adventure
( N ) Goldeneye 007
( U ) GT64: Championship Edition
( U ) Hot Wheels Turbo Racing
( U ) HSV Adventure Racing
( U ) Hybrid Heaven
( U ) Hydro Thunder
( U ) Iggy's Reckin' Balls
( U ) In The Zone '98
( U ) Indiana Jones and the Infernal Machine
( U ) Indy Racing 2000
( U ) International Superstar Soccer 2000
( U ) International Track & Field 2000
( U ) Jeremy McGrath Supercross 2000
( U ) Jet Force Gemini
( U ) Ken Griffey Jr.'s Slugfest
( U ) Kirby 64: The Crystal Shards
( U ) Knife Edge: Nose Gunner
( U ) Knockout Kings 2000
( U ) Lego Racers
( U ) Lode Runner 3-D
( U ) Looney Tunes' Duck Dodgers
( U ) Madden '99
( U ) Madden 2000
( U ) Madden 2001
( U ) Madden 2002
( U ) Madden 64
( U ) Magical Tetris Challenge
( U ) Major League Baseball featuring Ken Griffey Jr.
( U ) Mario Golf
( U ) Mario Party
( U ) Mario Party 2
( U ) Mario Party 3
( U ) Mario Tennis
( U ) MegaMan 64
( U ) Mia Hamm Soccer 64
( U ) Mickey's Speedway USA
( U ) Micro Machines 64 Turbo
( U ) Mike Piazza's Strike Zone
( U ) Milo's Astro Lanes
( U ) Mission: Impossible
( U ) Monaco Grand Prix
( U ) Monster Truck Madness
( U ) Mortal Kombat 4
( U ) Mortal Kombat Mythologies: Sub-Zero
( U ) Ms. Pac-Man
( U ) Multi Racing Championship
( U ) Mystical Ninja 2 Starring Goemon
( U ) NASCAR '99
( U ) NASCAR 2000
( U ) NBA Courtside
( U ) NBA In The Zone '99
( U ) NBA In The Zone 2000
( U ) NBA Jam 2000
( U ) NBA Live '99
( U ) NBA Live 2000
( U ) NFL Blitz
( U ) NFL Blitz 2000
( U ) NFL Blitz 2001
( U ) NFL Blitz Special Edition
( U ) NFL QB Club '98
( U ) NFL QB Club '99
( U ) NHL '99
( U ) NHL Blades of Steel '99
( U ) NHL Breakaway '98
( U ) NHL Breakaway '99
( U ) Nightmare Creatures
( U ) Nuclear Strike 64
( U ) Off Road Challenge
( U ) Operation WinBack
( U ) Paper Mario
( U ) Paperboy 64
( C ) Perfect Dark
( U ) Polaris SnoCross
( U ) Quake 64
( U ) Quake II 64
( U ) Rally Challenge 2000
( U ) Rampage 2: Universal Tour
( U ) Rampage World Tour
( U ) Razor Freestyle Scooter
( U ) Ready 2 Rumble Boxing
( U ) Ready 2 Rumble Boxing Round 2
( U ) Resident Evil 2
( U ) Re-Volt
( U ) Ridge Racer 64
( U ) Road Rash 64
( U ) Roadsters
( U ) Robotron 64
( U ) Rocket Robot on Wheels
( U ) Rugrats Scavenger Hunt
( C ) Rush 2 Extreme Racing USA
( U ) S.C.A.R.S
( U ) San Francisco Rush 2049
( U ) San Francisco Rush Extreme Racing
( U ) Shadowman
( U ) Snowboard Kids
( U ) Snowboard Kids 2
( U ) South Park Rally
( U ) South Park
( U ) Space Invaders 64
( U ) Space Station Silicon Valley
( U ) Spider-Man 64
( U ) Star Soldier: Vanishing Earth
( U ) Star Wars Episode I Racer
( U ) Star Wars Rogue Squadron
( U ) Star Wars: Battle for Naboo
( N ) Starcraft 64
( U ) Star Fox 64/Lylat Wars
( U ) Stunt Racer 64
( U ) Super Bowling
( C ) Super Mario 64 (Japanese Re-release)
( C ) Super Smash Bros
( U ) SuperCross 2000
( U ) Superman 64
( U ) Tarzan
( U ) The Legend of Zelda: Majora's Mask
( U ) The Legend of Zelda: Ocarina of Time
( U ) Tom & Jerry in Fists of Furry
( U ) Tom Clancy's Rainbow Six
( U ) Tony Hawk's Pro Skater
( U ) Tony Hawk's Pro Skater 2
( U ) Tony Hawk's Pro Skater 3
( U ) Top Gear Hyper-Bike
( U ) Top Gear Overdrive
( U ) Top Gear Rally
( U ) Top Gear Rally 2
( U ) Toy Story 2
( U ) Transformers: Beast Wars TransMetals
( U ) Triple Play 2000
( U ) Turok 2: Seeds of Evil
( U ) Turok 3: Shadow of Oblivion
( U ) Turok: Rage Wars
( U ) Twisted Edge Extreme Snowboarding
( U ) V-Rally: Edition 99
( U ) Waialae Country Club True Golf Classics
( U ) Wave Race 64 (Japanese Re-release)
( U ) WCW Back Stage Assault
( U ) WCW Mayhem
( U ) WCW Nitro
( U ) WCW vs NWO Revenge
( U ) WCW vs. NWO World Tour
( U ) Wheel of Fortune
( U ) WinBack - Covert Operations
( U ) Wipeout 64
( U ) World Driver Championship
( U ) WWF Attitude
( U ) WWF No Mercy
( U ) WWF War Zone
( U ) WWF WrestleMania 2000
( U ) Xena: Talism of Fate
( U ) Yoshi's Story




-jtryba
Donate


jtryba Posted @ 15:12:13 on 2020-10-24

Also please note: Blast Corps WILL NOT run if a rumble pack is inserted. This is the case even with all original hardware. To use this controller with Blast Corps, you MUST first disable rumble.




-jtryba
Donate


jtryba Posted @ 15:13:36 on 2020-10-24

Just a note about Cruis n Exotica:
i havent tried switching off the rumble mode with this game.




-jtryba
Donate