PJ64 input plugin with direct N64 controller access for raphnet adapters
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore Do NOT ignore .c files... Nov 22, 2016
changelog.txt Version 1.0.5 release May 16, 2018
release_src.sh Add release scripts Nov 22, 2016


pj64 input plugin with direct N64 controller access for raphnet adapters

This input plugin for project64 uses the direct controller access feature offered by raphnet N64 to USB adapters (versions 3 and up) to let the emulated game communicate with the controllers directly.

  • Perfect accuracy: The controller stick works exactly as it would on a N64 system, without any calibration or tweaking.
  • Rumble Pak, Controller Pak (mempak), Transfer Pak and Bio sensor support.
  • N64 Mouse support and VRU support.
  • Low latency

Project homepage


This project is licensed under the terms of the GNU General Public License, version 2. Source code is available on the project homepage and on GitHub.

Using the plugin

After compiling (or using the binary distribution) two .DLL files must be copied to specific locations.

  1. Copy the following file to "Project64 installation directory"/Plugin/Input:
  • pj64raphnetraw.dll
  • pj64raphnetraw_ports1and4.dll
  1. Copy the following file to "Project64 installation directory" (i.e. The one with a .EXE)
  • libhidapi-0.dll

Then in project64, go to menu bar -> Options -> Settings -> Plugins. Next in the Input (controller) plugin dropdown, select "raphnetraw for Project64 version xx.xx". Apply and exit the dialog box.

Building the plugin

The plugin is compiled using mingw-w64 under Linux.

System requirements

A Linux system such as Debian with the following packages installed: (non-exhaustive list)

  • mingw-w64
  • autotools-dev
  • autoconf
  • automake
  • libtool
  • git
  • make


Directory layout

An HIDAPI build is expected in ../hidapi. i.e. The following directory structure is required:

  • ...somedir/pj64raphnetraw
  • ...somedir/hidapi

preparing the hidapi build

The plugin makefile assumes the following:

  • An hidapi configured and compiled with --host i686-w64-mingw32 found in ../hidapi

hidapi can be obtained like this:

$ cd ...somedir
$ git clone https://github.com/signal11/hidapi.git

And then to compile it:

cd ...somedir/hidapi
./configure --host i686-w64-mingw32


$ cd .../somedir/
$ cd pj64raphnetraw/src
$ make