Virtual Boy controller

From NESdev Wiki
Revision as of 13:26, 3 March 2022 by Tepples (talk | contribs) (move "Controller ID" interpretation of the always 1 bit out to prose)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The Virtual Boy controller has an NES-compatible protocol, and has been used in homebrew games.

  • Spook-O'-Tron
  • Candelabra - Estoscerro

After strobing the controller, the following 16 bits can be read from the data line:

 0 - Right D-pad Down
 1 - Right D-pad Left
 2 - Select
 3 - Start
 4 - Left D-pad Up
 5 - Left D-pad Down
 6 - Left D-pad Left
 7 - Left D-pad Right
 8 - Right D-pad Right
 9 - Right D-pad Up
10 - L (rear left trigger)
11 - R (rear right trigger)
12 - B
13 - A
14 - Always 1
15 - Battery voltage; 1 = low voltage

This is very analogous to the SNES controller, which reports its 4 face buttons where the VB reports its right d-pad. However, the last 4 bits (B, A, 1, battery) have no correspondence in the SNES controller report. Use this 1 to distinguish the Virtual Boy controller from that controller or a mouse.

References