Virtual console classic controller button mappings
When I was working on the N64 part of my
NES/SNES/N64 to wiimote
in order to make sure the N64 controller buttons were doing what they originally did
on the N64, I had to implement several button mappings. Since I couldn't find this information
on the net, I decided to create this small page and post screenshots of the button mapping
page for each game.
This page is by far incomplete. A lot of games are still missing. If you own virtual console
titles that are not part of those presented below, I would be thankful if you could send
me a screenshot which I would add here, and implement a new buton mapping if needed.
The classic controller and N64 controller are quite different so almost all games seem to get a
specific buttton mapping...
Super Mario 64
Mario Kart 64
Ocarina of time, Majora's Mask
Sin and Punishment
Super Smash Bros
Ogre Battle 64
Mario Party 2
Mario Tennis 64
Pokemon Puzzle League
Wave race 64
Custom robo v2
Many thanks to those who sent me additional pictures!
Given that both the original SNES controllers and the classic controller are equiped with equivalently placed
and labelled buttons, not much needs to be changed. In fact, I am not aware of any Virtual Console SNES games
requiring a special mapping.
SNES VC mapping. Probably standard.
If you know of any exceptions, please let me know!
Playing SNES games with a Gamecube controller is however very awkward unless the adapter has a mapping where
gamecube buttons A,B,X and Y are repectively mapped to the classic controller B,Y,A and X. This is good for at least Super Mario World...
The D-Pad and Start/Select buttons are at the right places. But the B and A buttons, even though they are laid out
in the same left to right order, are slanted in a way that makes them feel unnatural to use.
Take the Super Mario Bros NES game for instance. B is used to run and A to jump. But try pressing A and B at
the same time on a classic controller! You need a hell of a big thumb for it to feel comfortable.
On the SNES, Super Mario World used Y to run and B to jump. This is how almost everyone is used to control mario. And
guess what, they understood this when they published Mario All Stars at the SNES. Y = Run, B = Jump. So why not
Ok, maybe they really wanted us to use the wiimote directly as the controller. But in any case, the above has
motivated the inclusion of a NES mode mapping to my
NES/SNES/N64 to wiimote
controller project and also
to my similar NES/SNES/N64 to Gamecube/Wii
the natural mapping of SNES Y to NES B and SNES B to NES A is done.
3 Button mapping (Source: Many(*))
The same mapping seems to be shared by all Genesis games. The 6 Button mapping is compatible with the 3 Button mapping. Nothing complicated. Here is a table summarizing everything:
|Genesis button||Classic controller button||Type of controller|
|D-Pad ||D-Pad ||All |
|Start ||Plus ||All |
|A ||Y ||All |
|B ||B ||All |
|C ||A ||All |
|X ||L ||6 Button |
|Y ||X ||6 Button |
|Z ||R ||6 Button |
|Mode ||Zr ||6 Button |
6 Button mapping (Source: Comix Zone)
3 Button mapping confirmed in Alien Soldier, Sonic 1, Sonic 2, Sonic 3, Sonic Spinball, Sonic and Knuckles, Sonic 3D Blast, Gunstar Heroes, Dynamite Headdy, and Vectorman
Sega Master System
Sega master system games also appear to have been given a constant mapping.
|SMS button||Classic controller button|
|1 ||B |
|1 Turbo ||L |
|2 Turbo ||R |