N64 Standard Controller

Please see the main page for the basics on the Controller Protocol.

Please see this GitHub page for internal details on Joystick to Controller chip.

The is the documentation only on the Standard Controller. The accessories each have their own pages.

Supported Commands

Command 0xFF and 0x00 See the Joy Bus Protocol page for the standard details

The controller responds differently based on any accessories that are attached.

Command 0x01 - Input Status

  1. The console sends
    1. Zero
    2. Zero
    3. Zero
    4. Zero
    5. Zero
    6. Zero
    7. Zero
    8. One
    9. Console Stop Bit
Command 0x01
  1. The attached device (controller, etc) responds with
    1. 32 bits of data (response depends on the status of the buttons and/or joystick)
    2. Controller Stop Bit

This example is from the Standard N64 Controller (Click to enlarge)

Response 0x01

Starting from the left:

  • A button (Blue)
  • B button (Green)
  • Z button (Trigger underneath)
  • S(tart) button (Red)
  • D-Pad (Generally Gray)
    • dU Directional Up
    • dD Directional Down
    • dL Directional Left
    • dR Directional Right
  • rst (LT + RT + S all pressed at the same time)
  • LT Left Trigger or 'bumper'
  • RT Right Trigger or 'bumper'
  • C-Pad (Yellow)
    • cU Camera Up
    • cD Camera Down
    • cL Camera Left
    • cR Camera Right
  • X-Axis - Joystick X Axis reading in 2's Complement format
  • Y-Axis - Joystick Y Axis reading in 2's Complement format