Classic Controller High Resolution Mode
The Classic Controller (and Controller Pro) supports an improved data format
which offers more
resolution (and therefore potentially finer in-game control) than what was used by Virtual Console games.
As far as we know, Nintendo only began using this format on the Classic Editions consoles.
Some of our adapters make use of this feature to get the best out of those excellent classic
controllers and therefore send the best possible data to the game. When we mention
on a product page that the Classic Controller High Resolution Mode
is supported, this is
what we mean.
The goal of this page is to provide background information on what this High Resolution Mode
actually is, and why it is desirable to use it.
A bit of history
The Classic controllers were the official controllers for use with Virtual Console Games downloaded
from the Wii store, but many still prefered the original controllers. So we designed and built
adapters which would on one side poll an original controller (N64 for instance), and
pretend to be a Classic Controller (i.e. it talks to the console like one) on the other side, as
that is what Virtual Console titles required.
Such adapters include:
When Nintendo released the NES Classic mini (or Classic Edition) a few years later, for the controller
ports they used the same connector they had on Wiimotes.
The bundled NES controller also pretended
to be a Classic controller, presumably for backward compatibility reasons, so it could be directly used with
existing Virtual Console titles. Likewise, Classic controllers also functioned correctly when connected
to a NES Classic Mini. (All this also applies to the SNES Classic Mini / Classic Edition).
Given the excellent compatibility noted above, we expected our adapters to work fine on the Classic
Edition too since, after all, they were pretending to be Classic Controllers too. But contrary to our expectations,
our adapters did not work. And many 3rd party controllers did not work either.
What was going on?
Nintendo started using a feature that was hidden in the Classic controller from the
beginning: A different data format for transmitting controller status (button states and values of analog sticks)
we had never seen before!
Of course we quickly figured it out and implemented it so our adapters would also work on the Classic Editions. But
there was more to it. That new data format actually offered greater resolution
, i.e. finer steps, for the
The old and new data formats
Ok, so what does this means exactly? What does greater resolution provides? It provides a greater number of steps, i.e. numerical
values representing the amount of physical deflection/current angle of the joystick. Here is simple illustration to visualize
The above is just for illustration. Here is a table with the actual numbers:
|Old data format (Virtual console)||New data format (Classic editions)|
|Left stick data bits: ||6 bits ||8 bits |
|Left stick values: ||approx. -25 to 25 ||approx. -100 to 100. |
|Right stick data bits: ||5 bits ||8 bits |
|Right stick values: ||approx. -13 to 13 ||approx. -100 to 100 |
|Left/Right triggers bits: ||5 bits ||8 bits |
|Left/Right triggers values: ||approx. 2 to 30 ||approx. 20 to 250 |
The above shows that: The left stick has 4 times more steps
, and the right stick and triggers have about 8 times more steps!
. This means potentially finer control over how fast one runs or turns in a game. Of course in the end it depends on the game, but by using the high resolution data format, controller adapters can at least avoid an early (and unnecessary) drop in resolution.
We have been in fact using this new data format in our Classic controller to
adapters from day one, and High Resolution Mode
support for our Classic controller to USB adapter is
To enable High Resolution Mode
, you simply write 0x03 to address 0xFE in the extension controller memory. Then you poll
the controller by reading 8 bytes at address 0x00 instead of only 6. You can also restore the original format by writing the original
value back to address 0xFE at any time.
For the exact data structure, have a look to the notes we took when we first observed this new data format on the NES Classic a few years ago:
The new data format, or High Resolution Mode
provides 4 to 8 times finer control, and that's why we use it in our adapters!
Thanks for reading!