Usb Super Famicom Controller Driver
- Usb Super Famicom Controller Driver Installer
- Usb Super Famicom Controller Driver Switch
- Usb Super Nintendo Controller Driver
- Usb Super Famicom Controller Drivers
- Usb Super Famicom Controller Driver Download
Also works with Super Famicom controllers! Works with controllers (original, third party, Super Advantage, etc), does not work with peripherals (SuperScope, MultiTap, etc). Authenticity of original controllers with the simplicity of USB No drivers to install or update Use with any emulator or game that supports USB. 4 product ratings - Nintendo USB AC Adapter Super Famicom Classic Mini NES 154 Video. S91 PC/ Mac SNES-Style USB Controller (Super Famicom) - CirKa. Prolific USB-to-Serial Comm Port is the usb micro controller programmer, not the controller. Basic overview of steps: 1. Program microchip with programmer on computer. Assemble circuit with programmed microchip on breadboard, the usb microcontroller can be disconnected and is no longer needed. 8BitDo is a premier 3rd party video game hardware company with a special focus on retro themed game controllers. Renowned for producing the highest quality retro controllers on the market, 8BitDo’s controller line has been referred to as, “a range of excellent retro-style game controllers” by The Verge. I'm personally not a fan of the Buffalo USB pad as the dpad is raised higher than an original snes controller which feels worse to me. The edges on it are unreasonably sharp for some odd reason so if you happen to play games with fast inputs (fighting games) your thumb is absolutely going to feel the difference. First the clock, data and latch signals are wired to the circuit as you would a standard NES controller. Next the microphone output must be wired to the MCU PC2 pin. Then, to enable the special NES-Famicom microphone mode, PC1 and PC0 must be tied together. Here is an example of a Famicom controller 2 converted to USB.
Japanese PC accessories maker Buffalo has created a USB gamepad that's completely reminiscent of the Japanese Super Nintendo (known as the Super Famicom) controller, complete with the color-coded.
The SNES has 2 controller ports on the front of the unit, and an 'expansion port' on the bottom. Little is known about the expansion port.
A number of peripherals could be plugged into the controller ports:
- The Multitap: Also know as the MP5, into which up to 4 joypads may be plugged.
- Mouse: SNES Mous with 2 buttons.
- Super Scope: A bazooka-like light gun.
- Konami Justifier: A normal style gun into which a second gun could be plugged.
- Soundware: A device to control a CD player for external audio.
- NTT Modem: Used for online horse racing.
There may be others, these are just the ones I know anything about.
General Info
The controller ports of the SNES has 7 pins, see Ports & Pinouts for the layout.
Latch is written through bit 0 of register $4016. Writing 1 to this bit results in Latch going to whatever state means 'latch' to a joypad.
Clock of Port 1 is connected to the 'read' signal of $4016, in that reading $4016 causes Clock to transition. Data1 and Data2 are then read, and Clock transitions back (at this point, the pad is expected to stick its next bits of data on Data1 and Data2). Clock of Port 2 is connected to $4017.
Data1 and Data2 are read through bits 0 and 1 (respectively) of $4016 and $4017 (for Ports 1 and 2, respectively). Thus, you must read both bits at once, you can't choose to read only Data1 and leave Data2 for later.
IOBit is connected to the I/O Port (which is accessed through registers $4201 and $4213). Port 1's IOBit is connected to bit 6 of the I/O Port, and Port 2's IOBit is connected to bit 7. Note that, since bit 7 of the I/O Port is connected to the PPU Counter Latch, anything plugged into Port 2 may latch the H and V Counters by setting IOBit to 0.
Auto Joypad Read, when enabled by bit 0 of $4200, effectively does the following (in pseudo-ASM):
Open Port
If nothing is plugged into a port (or the thing plugged in doesn't connect to the pin), the SNES will read zeros from Data1 and Data2.
Joypads
The joypads return 16 bits of data out Data1, then one bits until latched again. The data is:
b/y/a/x/l/r are the similarly named buttons. 'e' is select. 't' is start. U/D/L/R are the pad directions. Note that the standard joypad can only return either U or D set, and either L or R set. Some games will crash or exhibit other odd behavior if both U and D and/or both L and R are set.Data2 is not even connected, nor is IOBit.
Mouse
The mouse returns 32 bits of data out Data1, and 1 bits thereafter. The data is:
l/r are the two mouse buttons. 'ss' are the 'speed bits', which are incremented mod 3 if Clock cycles while Latch is active. Y/X are the direction bits (set is up/left), and yyyyyyy/xxxxxxx are the distance traveled in the appropriate direction.Supposedly, the 'speed bits' may not match the internal speed setting when the mouse first receives power. The speed setting controls the delta curve of the mouse, with 0 giving a flat curve and 2 giving the greatest delta response.Data2 and IOBit are presumably not connected, but this is not known for sure.
Mouse Supporting Games
This list isn't 100% complete, but the games below contain the SHVC mouse BIOS, an example of some of the strings in the games are shown below of which is below. Game names are based on the No-Intro names.
Some games have a modification of a certain BIOS version. They are marked with a 'mod' in the list below. Nintendo had the developers to mark up modified versions with an alternate ASCII code at the end of the BIOS:
Game | BIOS Version |
---|---|
ACME Animation Factory (Europe) | 1.00 |
ACME Animation Factory (USA) | 1.00 |
AIII S.V. - A Ressha de Ikou 3 - Super Version (Japan) | 1.00 |
Alice no Paint Adventure (Japan) | 1.10 |
Amazing Spider-Man, The - Lethal Foes (Japan) | 1.00 |
Angelique (Japan) | 1.10 |
Angelique (Japan) (Premium Box) | 1.10 |
Angelique - Voice Fantasy (Japan) | 1.10 |
Aryol (Japan) | 1.00 |
Asahi Shinbun Rensai - Katou Hifumi Kudan Shougi - Shingiryuu (Japan) | 1.00 |
Asameshimae Nyanko (Japan) | 1.00 |
Atlas, The - Renaissance Voyager (Japan) | 1.00 |
Bishoujo Senshi Sailormoon S - Kondo wa Puzzle de Oshioki yo! (Japan) | 1.00 |
Block Kuzushi (Japan) | 1.00 |
Brainies, The (Europe) | 1.00 |
Brainies, The (USA) | 1.00 |
Brawl Brothers (USA) | 1.00 |
Brawl Brothers - Rival Turf! 2 (Europe) | 1.00 |
Chinhai (Japan) | 1.00 |
Civilization (USA) | 1.00 |
Civilization (USA) (Beta) | 1.00 |
Civilization - Sekai Shichi Daibunmei (Japan) | 1.00 |
Dai-3-ji Super Robot Taisen (Japan) | 1.00 |
Dai-3-ji Super Robot Taisen (Japan) (Rev 1) | 1.00 |
Dai-3-ji Super Robot Taisen (Japan) (Rev 2) | 1.00 |
Dai-4-ji Super Robot Taisen (Japan) | 1.00 |
Dai-4-ji Super Robot Taisen (Japan) (Rev 1) | 1.00 |
Daikoukai Jidai II (Japan) | 1.10 |
Date Kimiko no Virtual Tennis (Japan) | 1.00 |
Dokuritsu Sensou - Liberty or Death (Japan) | 1.10 |
Doraemon 4 - Nobita to Tsuki no Oukoku (Japan) | 1.00 |
Doukyuusei 2 (Japan) (NP) | 1.00 |
Dragon Knight 4 (Japan) | 1.00 |
Dynamaite the Las Vegas (Japan) | 1.10 |
Eien no Filerna (Japan) | 1.00 |
Emit Vol. 1 - Toki no Maigo (Japan) | 1.10 |
Emit Vol. 2 - Inochigake no Tabi (Japan) | 1.10 |
Emit Vol. 3 - Watashi ni Sayonara o (Japan) | 1.10 |
Famicom Tantei Club Part II - Ushiro ni Tatsu Shoujo (Japan) (NP) | 1.00 |
Famicom Tantei Club Part II - Ushiro ni Tatsu Shoujo (Japan) (Rev 1) (NP) | 1.00 |
Farland Story (Japan) | 1.00 |
Farland Story 2 (Japan) | 1.00 |
Fire Striker (USA) | 1.00 |
Fire Striker (USA) (Beta) | 1.00 |
From TV Animation Slam Dunk 2 - IH Yosen Kanzen Ban!! (Japan) | 1.01 |
Fun 'n Games (Europe) | 1.00 |
Fun 'n Games (USA) | 1.00 |
Gaia Saver - Hero Saidai no Sakusen (Japan) | 1.00 |
Galaxy Robo (Japan) | 1.10 |
Game no Tatsujin (Japan) | 1.00 |
Genghis Khan II - Clan of the Gray Wolf (USA) | 1.10 |
Getsumen no Anubis (Japan) | 1.00 |
Habu Meijin no Omoshiro Shougi (Japan) | 1.00 |
Hana no Keiji - Kumo no Kanata ni (Japan) | 1.00 |
Hanafuda Ou (Japan) | 1.00 |
Hayazashi Nidan Morita Shougi (Japan) | 1.00 |
Hayazashi Nidan Morita Shougi 2 (Japan) | 1.00 |
Hiouden - Mamono-tachi to no Chikai (Japan) | 1.00 |
Holy Striker (Japan) | 1.00 |
Honkaku Mahjong - Tetsuman II (Japan) | 1.00 |
Honkaku Shougi - Fuuunji Ryuuou (Japan) | 1.10 |
Honkakuha Igo - Gosei (Japan) | 1.00 |
Honke Hanafuda (Japan) | 1.00 |
Honke Sankyo Fever - Jikki Simulation (Japan) | 1.10 |
Honke Sankyo Fever 2 - Jikki Simulation (Japan) | 1.10 |
Honke Sankyo Fever 3 - Jikki Simulation (Japan) | 1.10 |
Ihatov Monogatari (Japan) | 1.00mod |
Illvanian no Shiro (Japan) | 1.00 |
Ippatsu Gyakuten (Japan) | 1.00 |
Itou Hatasu Rokudan no Shougi Doujou (Japan) | 1.10 |
Itou Hatasu Rokudan no Shougi Doujou (Japan) (Rev 1) | 1.10 |
J.R.R. Tolkien's The Lord of the Rings - Volume 1 (USA) | 1.00 |
J.R.R. Tolkien's The Lord of the Rings - Volume One (Europe) | 1.00 |
J.R.R. Tolkien's The Lord of the Rings - Volume One (Germany) | 1.00 |
Jigsaw Party (Japan) | 1.00 |
Jimmy Connors Pro Tennis Tour (Japan) | 1.00 |
Jissen Pachinko Hisshouhou! 2 (Japan) | 1.10 |
Jissen! Pachi-Slot Hisshouhou! (Japan) | 1.00 |
Joushou Mahjong Tenpai (Japan) | 1.00 |
Jurassic Park (Europe) | 1.00 |
Jurassic Park (Europe) (Beta) | 1.00 |
Jurassic Park (France) | 1.00 |
Jurassic Park (Germany) | 1.00 |
Jurassic Park (Italy) | 1.00 |
Jurassic Park (Japan) | 1.00 |
Jurassic Park (Spain) | 1.00 |
Jurassic Park (USA) | 1.00 |
Jurassic Park (USA) (Rev 1) | 1.00 |
Kaite Tsukutte Asoberu Dezaemon (Japan) | 1.00 |
Kakinoki Shougi (Japan) | 1.10 |
Kikuni Masahiko no Jantoushi Doraou (Japan) | 1.00 |
Kirby no Omochabako - Baseball (Japan) (BS) | 1.00 |
Kirby no Omochabako - Guruguru Ball (Japan) (BS) | 1.00 |
Kirby no Omochabako - Hoshi Kuzushi (Japan) (BS) | 1.00 |
Kirby no Omochabako - Pinball (Japan) (BS) | 1.00 |
Kouryuuki (Japan) | 1.10 |
Kousoku Shikou Shougi Ou (Japan) | 1.00 |
Koutetsu no Kishi (Japan) | 1.00 |
Koutetsu no Kishi 2 - Sabaku no Rommel Gundan (Japan) | 1.00 |
Koutetsu no Kishi 3 - Gekitotsu Europe Sensen (Japan) | 1.00 |
Lamborghini American Challenge (Europe) | 1.00 |
Lamborghini American Challenge (USA) | 1.00 |
Las Vegas Dream in Golden Paradise (Japan) | 1.00 |
Lemmings 2 - The Tribes (Europe) | 1.00 |
Lemmings 2 - The Tribes (Japan) | 1.00 |
Lemmings 2 - The Tribes (USA) | 1.00 |
Liberty or Death (USA) | 1.10 |
Light Fantasy II (Japan) | 1.00 |
Lord Monarch (Japan) | 1.01mod |
Lord Monarch (Japan) (BS) | 1.01 |
Mahjong Sengoku Monogatari (Japan) | 1.00 |
Mario to Wario (Japan) | 1.10 |
Masters - Harukanaru Augusta 2 (Japan) | 1.10 |
Mega lo Mania (Europe) (En,Fr,De) | 1.00 |
Mega lo Mania (Europe) (En,Fr,De) (Beta) | 1.00 |
Mega lo Mania - Jikuu Daisenryaku (Japan) | 1.00 |
Mizuki Shigeru no Youkai Hyakkiyakou (Japan) | 1.00 |
Motoko-chan no Wonder Kitchen (Japan) | 1.00 |
Nichibutsu Arcade Classics (Japan) | 1.01 |
Nichibutsu Collection 2 (Japan) | 1.00 |
Nichibutsu Collection 2 (Japan) | 1.10 |
Nobunaga no Yabou - Haouden (Japan) | 1.10 |
Nobunaga no Yabou - Haouden (Japan) (Rev 1) | 1.10 |
Nobunaga no Yabou - Tenshouki (Japan) | 1.10 |
Nobunaga's Ambition (USA) | 1.10 |
On the Ball (Europe) | 1.00 |
On the Ball (USA) | 1.00 |
Operation Thunderbolt (USA) | 1.00 |
P.T.O. II - Pacific Theater of Operations (USA) | 1.10 |
Pachi-Slot Gambler (Japan) | 1.01 |
Pieces (USA) | 1.00 |
Populous II - Trials of the Olympian Gods (Europe) | 1.00 |
Populous II - Trials of the Olympian Gods (Europe) | 1.10 |
Populous II - Trials of the Olympian Gods (Germany) | 1.00 |
Populous II - Trials of the Olympian Gods (Germany) | 1.10 |
Populous II - Trials of the Olympian Gods (Japan) | 1.00 |
Populous II - Trials of the Olympian Gods (Japan) | 1.10 |
Power Slide (Europe) (Proto) (1994-04-12) | 1.00 |
Pro Mahjong Kiwame III (Japan) | 1.00 |
Puzzle'n Desu! (Japan) | 1.00 |
Rise of the Phoenix (USA) | 1.10 |
Romance of the Three Kingdoms IV - Wall of Fire (USA) | 1.10 |
Rushing Beat Ran - Fukusei Toshi (Japan) | 1.00 |
Sangokushi Eiketsuden (Japan) | 1.10 |
Sangokushi IV (Japan) | 1.10 |
Sangokushi IV (Japan) (Rev 1) | 1.10 |
Sangokushi Seishi - Tenbu Spirits (Japan) | 1.00 |
Sanrio Shanghai (Japan) | 1.10 |
Sgt. Saunders' Combat! (Japan) | 1.00 |
Shanghai - Banri no Choujou (Japan) | 1.00 |
Shanghai - Banri no Choujou (Japan) (BS) | 1.00 |
Shanghai - Banri no Choujou (Japan) (Rev 1) | 1.00 |
Shanghai III (Japan) | 1.00 |
Shien - The Blade Chaser (Japan) | 1.00 |
Shien's Revenge (USA) | 1.00 |
Shien's Revenge (USA) (Beta) | 1.00 |
Shin Mahjong (Japan) | 1.10 |
Shodani Nintei - Shodan Pro Mahjong (Japan) | 1.00 |
Shougi Fuurinkazan (Japan) | 1.00 |
Shougi Zanmai (Japan) | 1.10 |
SimAnt (Japan) | 1.00 |
SimAnt (USA) | 1.00 |
SimAnt (USA) (Beta) | 1.00 |
Snoopy Concert (Japan) | 1.00 |
SpellCraft (USA) (Proto) | 1.00 |
Spriggan Powered (Japan) | 1.00 |
Super Adventure Island II (Europe) | 1.00 |
Super Adventure Island II (USA) | 1.00 |
Super Aoki Ookami to Shiroki Mejika - Genchou Hishi (Japan) | 1.10 |
Super Baken Ou '95 (Japan) | 1.10 |
Super Caesars Palace (USA) | 1.00 |
Super Caesars Palace (USA) (Beta) | 1.00 |
Super Casino - Caesars Palace (Japan) | 1.00 |
Super Casino - Caesars Palace (Japan) (Rev 1) | 1.00 |
Super Drift Out - World Rally Championships (Japan) | 1.00 |
Super Game Boy (Japan) | 1.00 |
Super Game Boy (Japan, USA) (Rev 1) | 1.00 |
Super Game Boy (World) (Rev 2) | 1.00 |
Super Game Boy 2 (Japan) | 1.00 |
Super Gomoku Narabe - Renju (Japan) | 1.00 |
Super Gomoku Shougi - Jouseki Kenkyuu Hen (Japan) | 1.10 |
Super Igo - Go Ou (Japan) | 1.10 |
Super Keiba (Japan) | 1.10 |
Super Nichibutsu Mahjong 2 - Zenkoku Seiha Hen (Japan) | 1.00 |
Super Nobunaga no Yabou - Zenkoku Ban (Japan) | 1.10 |
Super Pachi-Slot Mahjong (Japan) | 1.01mod |
Super Real Mahjong PIV (Japan) | 1.00 |
Super Real Mahjong PV Paradise - All-Star 4-nin Uchi (Japan) | 1.00 |
Super Robot Taisen EX (Japan) | 1.00 |
Super Sangokushi (Japan) | 1.10 |
Super Shougi 2 (Japan) | 1.10 |
Super Shougi 3 - Kitaihei (Japan) | 1.00 |
Super Soukoban (Japan) | 1.00 |
T2 - The Arcade Game (Europe) | 1.00 |
T2 - The Arcade Game (Japan) | 1.00 |
T2 - The Arcade Game (USA) | 1.00 |
Table Game Daishuugou!! (Japan) | 1.00 |
Tactical Soccer (Japan) | 1.00 |
Taikou Risshiden (Japan) | 1.10 |
Taikyoku Igo - Goliath (Japan) | 1.00 |
Taikyoku Igo - Idaten (Japan) | 1.00 |
Takahashi Meijin no Daibouken-jima II (Japan) | 1.00 |
Teitoku no Ketsudan II (Japan) | 1.10 |
Teitoku no Ketsudan II (Japan) (Rev 1) | 1.10 |
Thomas the Tank Engine and Friends (Europe) | 1.00 |
Thomas the Tank Engine and Friends (USA) | 1.00 |
Tin Star (USA) | 1.00 |
Tokimeki Memorial - Densetsu no Ki no Shita de (Japan) | 1.10 |
Tokimeki Memorial - Densetsu no Ki no Shita de (Japan) (Rev 1) | 1.10 |
Tokoro's Mahjong (Japan) | 1.01mod |
Toride (Japan) | 1.10 |
Troddlers (Europe) | 1.00 |
Troddlers (Europe) (Beta) | 1.00 |
Troddlers (USA) | 1.00 |
Uncharted Waters - New Horizons (USA) | 1.10 |
Utopia (Germany) | 1.00 |
Utopia (Japan) | 1.00 |
Utopia - The Creation of a Nation (Europe) | 1.00 |
Utopia - The Creation of a Nation (USA) | 1.00 |
Utopia - The Creation of a Nation (USA) (Beta) | 1.00 |
Vegas Stakes (Europe) | 1.00 |
Vegas Stakes (USA) | 1.00 |
Winning Post (Japan) | 1.10 |
Winning Post (Japan) (Rev 1) | 1.10 |
Winning Post 2 (Japan) | 1.10 |
Winning Post 2 - Program '96 (Japan) | 1.10 |
Winning Post 2 - Program '96 (Japan) (Rev 1) | 1.10 |
Wonder Project J - Kikai no Shounen Pino (Japan) | 1.00 |
Yakouchuu (Japan) | 1.00 |
Yuujin Janjuu Gakuen (Japan) | 1.00 |
Zico Soccer (Japan) | 1.00 |
Super Scope
The Super Scope returns 8 bits of data out Data1, and 1 bits thereafter. The data is:
'f' is Fire, 'c' is Cursor, 't' is Turbo, 'p' is Pause, 'o' is Offscreen, and 'n' is Noise.
The Super Scope has two modes of operation: normal mode and turbo mode. The current mode is controlled by a switch on the unit, and is indicated by the 't' bit. Note however that the 't' bit is only updated when the Fire button is pressed (i.e. the 'f' bit is set). Thus, when you turn turbo on the 't' bit remains clear until you shoot, and similarly when turbo is deactivated the bit remains set until you fire.
In either mode, the Pause bit will be set for the first strobe after the pause button is pressed, and then will be clear for subsequent strobes until the button is pressed again. However, the pause button is ignored if either cursor or fire are down(?).
In either mode, the Cursor bit will be set while the Cursor button is pressed.
In normal mode, the Fire bit operates like Pause: it is on for only one strobe. In turbo mode, it remains set as long as the button is held down.
When Fire/Cursor are set, Offscreen will be set if the gun did not latch during the previous strobe and cleared otherwise (Offscreen is not altered when Fire/Cursor are both clear).
Noise is set if there is interference in the infrared transmission from the Scope to the receiver.
If the Fire button is being held when turbo mode is activated, the gun sets the Fire bit and begins latching. If the Fire button is being held when turbo mode is deactivated, the next poll will have Fire clear but the Turbo bit will not be updated until the next fire (i.e. FcTp
=> turbo off => fcTp
, not fctp
).
The PPU latch operates as follows: When Fire or Cursor is set, IOBit is set to 0 when the gun sees the TV's electron gun, and left a 1 otherwise. Thus, if the SNES also leaves it one (bit 7 of $4201), the PPU Counters will be latched at that point. This would also imply that bit 7 of $4213 will be 0 at the moment the Super Scope sees the electron gun.
Since the gun depends on the latching behavior of IOBit, it will only function properly when plugged into Port 2. If plugged into Port 1 instead, everything will work except that there will be no way to tell where on the screen the gun is pointing.
When creating graphics for the Super Scope, note that the color red is not detected. For best results, use colors with the blue component over 75% and/or the green component over 50%.
Data2 is presumably not connected, but this is not known for sure.
Super Scope Supporting Games
This list isn't 100% complete, but the games below contain the SHVC Super Scope BIOS, an example of some of the strings in the games are shown below of which is below. Birds in the trap sing mcknight free download. Game names are based on the No-Intro names.
Game | BIOS Version |
---|---|
Super Scope 6 | 1.00 |
Yoshi no Road Hunting (Japan) | 1.00 |
Yoshi's Safari (Europe) | 1.00 |
Yoshi's Safari (USA) | 1.00 |
Konami Justifier
The Justifier returns 48 bits of data out Data1. Presumably it returns one bits after (if so, it really only returns 32 bits), but this is not known. The data is:
T/t are the trigger states for guns 1 and 2. S/s are the start button states for guns 1 and 2. 'l' indicates which gun was connected to IOBit: 1 means gun 1, 0 means gun 2. Note that 'l' toggles even when gun 2 is not connected.
IOBit is used just like for the Super Scope. However, since two guns may be plugged into one port, which gun is actually connected to IOBit changes each time Latch cycles. Also note, the Justifier does not wait for the trigger to be pulled before attempting to latch, it will latch every time it sees the electron gun. Bit 6 of $213F may be used to determine if the Justifier was pointed at the screen or not.
Data2 is presumably not connected, but this is not known for sure.
MultiTap / MP5
The MP5 plugs into one Controller Port on the SNES (typically Port 2), and has 4 ports for controllers to be plugged into it (labeled 2 through 5). It also has an override switch which makes it pass through Pad 2 and ignore everything else.
If IOBit is 1, Clock is passed through to Pad 2 and Pad 3, Data1 is connected to Data1 on Pad 2, and Data2 is connected to Data1 on Pad 3. If IOBit is 0, Pads 4 and 5 are used instead of 2 and 3, respectively. In either case, Latch is passed through to all pads, and IOBit is presumably not passed through at all.
Note that Clock is only passed through to the pads that are actually being passed through. Thus, you can read the first two pads (or let Auto-Joypad Read do it), then toggle IOBit and read the other two pads manually. Most games requiring more than 3 players do exactly this.
Also note that there is nothing preventing the MP5 from functioning perfectly when plugged in to Port 1, except that the game must use bit 6 of $4201 instead of bit 7 to set IOBit and must use the Port 1 registers instead of the Port 2 registers. With 2 MP5 units, one could actually create an 8-player game!
When Latch is active, 1s will be read from Data2 and 0s from Data1. This is sometimes used to detect the presence of an MP5 unit. The override switch disables this behavior.
((There is some confusion on this point: according to nintendo's book2, Data1 SHOULD keep returning normal controller data; that is, stuck on the first bit (B button) since shift-register is stopped when 'latch is active'.However, according to this document by Jim Christy, the first bit of controller data is not loaded onto the Data line until the falling edge of the latch pulse: presumably, therefore, the console can start the latch pulse, wait a bit, read the data lines to detect an MP5, end the latch pulse, wait a bit longer, then start the first clock pulse and sample the first bit of controller data.)).
There are reports that the MP5 does not react immediately when IOBit is transitioned from 0 to 1. Thus, reading 2&3 then 4&5 will probably work better than vice versa.
Multi-Tap Supporting Games
This list hasn't been checked to be 100% complete, but every game below contains the multi-tap BIOS, an example of some of the strings in the games are shown below of which is below. Game names are based on the No-Intro names.
Game | BIOS Version |
---|---|
3x3 Eyes - Juuma Houkan (Japan) | 2.00 |
4-nin Shougi (Japan) | 2.10 |
Ace o Nerae! (Japan) | 2.00 |
American Battle Dome (Japan) | 2.10 |
Aoki Densetsu Shoot! (Japan) | 2.10 |
Apocalypse II (Europe) (Proto) | 2.00 |
Bakutou Dochers - Bumps-jima wa Oosawagi (Japan) | 2.00 |
Battle Jockey (Japan) | 2.10 |
Block Kuzushi (Japan) | 2.10 |
Brunswick World Tournament of Champions (USA) | 2.00 |
Caravan Shooting Collection (Japan) | 2.10 |
Chibi Maruko-chan - Mezase! Minami no Island!! (Japan) | 2.10 |
College Football USA '97 - The Road to New Orleans (USA) | 2.00 |
College Slam (USA) | 2.00 |
Corn Buster (Europe) (Proto) | 2.00 |
Coron Land (Japan) | 2.10 |
Crystal Beans from Dungeon Explorer (Japan) | 2.10 |
Daibakushou Jinsei Gekijou - Dokidoki Seishun Hen (Japan) | 2.00 |
Daibakushou Jinsei Gekijou - Ooedo Nikki (Japan) | 2.10 |
Daibakushou Jinsei Gekijou - Zukkoke Salaryman Hen (Japan) | 2.10 |
Dokapon 3-2-1 - Arashi o Yobu Yuujou (Japan) | 2.10 |
Dr. Mario (Japan) (BS) | 1.00 |
Dr. Mario (Japan) (NP) | 1.00 |
Dragon - The Bruce Lee Story (Europe) | 2.00 |
Dragon - The Bruce Lee Story (USA) | 2.00 |
Dream Basketball - Dunk & Hoop (Japan) | 2.00 |
Dream Basketball - Dunk & Hoop (Japan) | 2.00 |
Elite Soccer (USA) | 2.00 |
ESPN National Hockey Night (USA) | 2.00 |
Famicom Tantei Club Part II - Ushiro ni Tatsu Shoujo (Japan) (NP) | 1.00 |
Famicom Tantei Club Part II - Ushiro ni Tatsu Shoujo (Japan) (Rev 1) (NP) | 1.00 |
Fever Pitch Soccer (Europe) (Beta) | 2.00 |
Fever Pitch Soccer (Europe) (En,Fr,De,Es,It) | 2.00 |
FIFA 97 - Gold Edition (Europe) (En,Fr,De,Es,It,Sv) | 2.00 |
FIFA 98 - Road to World Cup (Europe) (En,Fr,De,Es,It,Sv) | 2.00 |
FIFA International Soccer (Europe) | 2.00 |
FIFA International Soccer (Japan) | 2.00 |
FIFA International Soccer (USA) | 2.00 |
FIFA Soccer 96 (Europe) (En,Fr,De,Es,It,Sv) | 2.00 |
FIFA Soccer 96 (USA) (En,Fr,De,Es,It,Sv) | 2.00 |
FIFA Soccer 97 - Gold Edition (USA) (En,Fr,De,Es,It,Sv) | 2.00 |
Fire Fighting (Japan) | 2.00 |
Fire Striker (USA) | 2.00 |
Fire Striker (USA) (Beta) | 2.00 |
From TV Animation Slam Dunk - SD Heat Up!! (Japan) | 2.10 |
Front Mission Series - Gun Hazard (Japan) | 2.10 |
Gambling Hourouki (Japan) | 2.10 |
Gegege no Kitarou - Youkai Donjara (Japan) (ST) | 2.10 |
Gekitou Burning Pro Wrestling (Japan) | 2.00 |
Go! Go! Dodge League (Japan) | 2.00 |
Go! Go! Dodge League (Japan) (Rev 1) | 2.00 |
Golf Daisuki! O.B. Club (Japan) (BS) | 2.10 |
Hammerlock Wrestling (USA) | 2.10 |
Harapeko Bakka (Japan) | 2.00 |
Hatayama Hatch no Pro Yakyuu News! - Jitsumei Ban (Japan) | 2.00 |
Head-On Soccer (USA) | 2.00 |
Hebereke no Oishii Puzzle wa Irimasenka (Japan) | 2.00 |
Holy Striker (Japan) | 2.00 |
Honkakuha Igo - Gosei (Japan) | 2.00 |
Honke Hanafuda (Japan) | 2.00 |
Human Grand Prix III - F1 Triple Battle (Japan) | 2.10 |
Hungry Dinosaurs (Europe) | 2.00 |
Ignition Factor, The (USA) | 2.00 |
Inazuma Serve da! Super Beach Volley (Japan) | 2.00 |
International Superstar Soccer Deluxe (Europe) | 2.10 |
International Superstar Soccer Deluxe (USA) | 2.10 |
Itadaki Street 2 - Neon Sign wa Barairo ni (Japan) | 2.00 |
J.R.R. Tolkien's The Lord of the Rings - Volume 1 (USA) | 2.00 |
J.R.R. Tolkien's The Lord of the Rings - Volume One (Europe) | 2.00 |
J.R.R. Tolkien's The Lord of the Rings - Volume One (Germany) | 2.00 |
JB The Super Bass (Japan) | 2.00 |
Jigsaw Party (Japan) | 2.00 |
Jikkyou World Soccer 2 - Fighting Eleven (Japan) | 2.10 |
Jikkyou World Soccer 2 - Fighting Eleven (Japan) (Beta) | 2.10 |
Jimmy Connors Pro Tennis Tour (Japan) | 2.00 |
Jissen Kyoutei (Japan) | 2.00 |
JWP Joshi Pro Wrestling - Pure Wrestle Queens (Japan) | 2.00 |
Kessen! Dokapon Oukoku IV - Densetsu no Yuusha-tachi (Japan) | 2.00 |
Kingyo Chuuihou! - Tobidase! Game Gakuen (Japan) | 2.00 |
Kishin Douji Zenki - Battle Raiden (Japan) | 2.00 |
Kishin Douji Zenki - Tenchi Meidou (Japan) | 2.10 |
Kiteretsu Daihyakka - Choujikuu Sugoroku (Japan) | 2.10 |
Kouryaku Casino Bar (Japan) | 2.00 |
Koushien 3 (Japan) | 2.00 |
Koushien 3 (Japan) | 2.00 |
Koushien 4 (Japan) | 2.10 |
Kunio-kun no Dodge Ball Da yo Zenin Shuugou! (Japan) | 2.00 |
Kunio-kun no Dodge Ball Da yo Zenin Shuugou! - Tournament Special (Japan) | 2.00 |
Larry Nixon's Super Bass Fishing (Japan) | 2.00 |
Larry Nixon's Super Bass Fishing (Japan) (Rev 1) | 2.00 |
Las Vegas Dream in Golden Paradise (Japan) | 2.00 |
Madden NFL 98 (USA) | 2.00 |
Micro Machines (Europe) | 2.00 |
Micro Machines (USA) | 2.00 |
Micro Machines 2 - Turbo Tournament (Europe) | 2.00 |
Mini Yonku Let's & Go!! - Power WGP 2 (Japan) | 2.10 |
Miracle Casino Paradise (Japan) | 2.10 |
Mizuki Shigeru no Youkai Hyakkiyakou (Japan) | 2.10 |
Momotarou Dentetsu Happy (Japan) | 2.10 |
Monopoly Game 2, The (Japan) | 2.00 |
Multi Play Volleyball (Japan) | 2.00 |
Muscle Bomber - The Body Explosion (Japan) | 2.00 |
Naruhodo! The World (Japan) | 2.00 |
NBA Jam (Europe) | 2.00 |
NBA Jam (Europe) (Rev 1) | 2.00 |
NBA Jam (Japan) | 2.00 |
NBA Jam (USA) | 2.00 |
NBA Jam (USA) (Rev 1) | 2.00 |
NBA Jam - Tournament Edition (Europe) | 2.00 |
NBA Jam - Tournament Edition (Japan) | 2.00 |
NBA Jam - Tournament Edition (USA) | 2.00 |
NBA Jam - Tournament Edition (USA) (Beta) | 2.00 |
NBA Live 95 (Europe) | 2.00 |
NBA Live 95 (Japan) | 2.00 |
NBA Live 95 (USA) | 2.00 |
NBA Live 96 (Europe) | 2.00 |
NBA Live 96 (USA) | 2.00 |
NBA Live 97 (Europe) | 2.00 |
NBA Live 97 (USA) | 2.00 |
NBA Live 98 (USA) | 2.00 |
NCAA Football (USA) | 2.00 |
NFL Quarterback Club '95 (Japan) | 2.00 |
NFL Quarterback Club (Europe) | 2.00 |
NFL Quarterback Club (USA) | 2.00 |
NFL Quarterback Club (USA) (Beta) | 2.00 |
NFL Quarterback Club 96 (Europe) | 2.00 |
NFL Quarterback Club 96 (Japan) | 2.00 |
NFL Quarterback Club 96 (USA) | 2.00 |
NFL Quarterback Club 96 (USA) (Beta) | 2.00 |
NHL '94 (Europe) | 2.00 |
NHL '94 (USA) | 2.00 |
NHL '94 (USA) (Beta) | 2.00 |
NHL Pro Hockey '94 (Japan) | 2.00 |
Nichibutsu Collection 1 (Japan) | 2.00 |
Olympic Summer Games (Europe) | 2.00 |
Olympic Summer Games (USA) | 2.00 |
Otoboke Ninja Colosseum (Japan) | 2.10 |
Peace Keepers, The (USA) | 2.00 |
Picross NP Vol. 1 (Japan) (NP) | 2.10 |
Picross NP Vol. 2 (Japan) (NP) | 2.10 |
Picross NP Vol. 2 (Japan) (Rev 1) (NP) | 2.10 |
Picross NP Vol. 3 (Japan) (NP) | 2.10 |
Picross NP Vol. 4 (Japan) (NP) | 2.10 |
Picross NP Vol. 5 (Japan) (NP) | 2.10 |
Picross NP Vol. 6 (Japan) (NP) | 2.10 |
Picross NP Vol. 7 (Japan) (NP) | 2.10 |
Picross NP Vol. 8 (Japan) (NP) | 2.10 |
Pieces (USA) | 2.00 |
Puzzle'n Desu! (Japan) | 2.00 |
Rap Jam - Volume One (USA) (En,Fr,Es) | 2.10 |
Res Arcana - Diana Ray - Uranai no Meikyuu (Japan) | 2.10 |
Rushing Beat Shura (Japan) | 2.00 |
Saikyou - Takada Nobuhiko (Japan) | 2.10 |
Same Game (Japan) | 2.10 |
Saturday Night Slam Masters (Europe) | 2.00 |
Saturday Night Slam Masters (USA) | 2.00 |
Secret of Mana (Europe) | 2.00 |
Secret of Mana (Europe) (Rev 1) | 2.00 |
Secret of Mana (France) | 2.00 |
Secret of Mana (France) (Rev 1) | 2.00 |
Secret of Mana (Germany) | 2.00 |
Secret of Mana (USA) | 2.00 |
Seiken Densetsu 2 (Japan) | 2.00 |
Sgt. Saunders' Combat! (Japan) | 2.10 |
Shijou Saikyou League Serie A - Ace Striker (Japan) | 2.10 |
Shin Nihon Pro Wrestling - Chou Senshi in Tokyo Dome - Fantastic Story (Japan) | 2.00 |
Shin Nihon Pro Wrestling Kounin - '94 Battlefield in Tokyo Dome (Japan) | 2.10 |
Shin Nihon Pro Wrestling Kounin - '95 Tokyo Dome Battle 7 (Japan) | 2.10 |
Shounin yo, Taishi o Idake!! (Japan) | 2.10 |
SimCity Jr. (Japan) | 2.10 |
Smash Tennis (Europe) | 1.00 |
Smash Tennis (Europe) (Beta) | 1.00 |
Sporting News Power Baseball, The (USA) | 2.00 |
Stardust Suplex (Japan) | 2.10 |
Sterling Sharpe - End 2 End (USA) | 2.00 |
Street Hockey '95 (USA) | 2.00 |
Street Hockey '95 (USA) (Beta) | 2.00 |
Street Racer (Europe) | 2.00 |
Street Racer (Europe) (Rev 1) | 2.00 |
Street Racer (Japan) | 2.00 |
Street Racer (USA) | 2.00 |
Street Racer (USA) (Beta) | 2.00 |
Sufami Turbo (Japan) | 2.10 |
Sugoi Hebereke (Japan) | 2.00 |
Sugoro Quest++ - Dicenics (Japan) | 2.00 |
Super Bases Loaded 3 - License to Steal (USA) | 2.00 |
Super Bomber Man - Panic Bomber W (Japan) | 2.10 |
Super Bomber Man 2 (Japan) | 2.00 |
Super Bomber Man 2 (Japan) (Caravan You Taikenban) | 2.00 |
Super Bomber Man 3 (Japan) | 2.10 |
Super Bomber Man 3 (Japan) (Beta) | 2.10 |
Super Bomber Man 4 (Japan) | 2.10 |
Super Bomber Man 5 (Japan) | 2.10 |
Super Bomber Man 5 (Japan) (Caravan Event Ban) | 2.10 |
Super Bomberman (Europe) | 2.00 |
Super Bomberman (USA) | 2.00 |
Super Bomberman 2 (Europe) | 2.00 |
Super Bomberman 2 (USA) | 2.00 |
Super Bomberman 3 (Europe) | 2.10 |
Super Bombliss (Japan) | 2.00 |
Super Casino 2 (Japan) | 2.10 |
Super Family Tennis (Japan) | 1.00 |
Super Famista 5 (Japan) | 2.10 |
Super Game Boy (Japan) | 2.10 |
Super Game Boy (Japan, USA) (Rev 1) | 2.10 |
Super Game Boy (World) (Rev 2) | 2.10 |
Super Game Boy 2 (Japan) | 2.10 |
Super Goal! 2 (USA) | 2.00 |
Super Hockey '94 (Japan) | 2.00 |
Super Ice Hockey (Europe) | 2.00 |
Super Jinsei Game (Japan) | 2.00 |
Super Jinsei Game (Japan) (Rev 1) | 2.00 |
Super Jinsei Game 2 (Japan) | 2.10 |
Super Jinsei Game 3 (Japan) | 2.10 |
Super Kyousouba - Kaze no Sylphid (Japan) | 2.00 |
Super Moero!! Pro Yakyuu (Japan) | 2.00 |
Super Momotarou Dentetsu DX (Japan) | 2.10 |
Super Momotarou Dentetsu DX (Japan) (Jr Nishi-Nihon Presents) | 2.10 |
Super Momotarou Dentetsu III (Japan) | 2.00 |
Super Momotarou Dentetsu III (Japan) (Rev 1) | 2.00 |
Super Momotarou Dentetsu III (Japan) (Rev 2) | 2.00 |
Super Naxat Open - Golf de Shoubu da Dorabocchan (Japan) | 2.00 |
Super Okumanchouja Game (Japan) | 2.00 |
Super Power League (Japan) | 2.00 |
Super Real Mahjong PV Paradise - All-Star 4-nin Uchi (Japan) | 2.00 |
Super Shougi 3 - Kitaihei (Japan) | 2.10 |
Super Tekkyuu Fight! (Japan) | 2.00 |
Super Tetris 3 (Japan) | 2.00 |
Super Wrestle Angels (Japan) | 2.10 |
Take Yutaka GI Memory (Japan) | 2.00 |
Takeda Nobuhiro no Super Cup Soccer (Japan) | 2.00 |
Takeda Nobuhiro no Super League Soccer (Japan) | 2.00 |
Tenryuu Genichirou no Pro Wrestling Revolution (Japan) | 2.10 |
Tetris & Dr. Mario (Europe) | 1.00 |
Tetris & Dr. Mario (USA) | 1.00 |
Timon & Pumbaa's Jungle Games (Europe) | 2.00 |
Timon & Pumbaa's Jungle Games (USA) | 2.00 |
TNN Bass Tournament of Champions (USA) | 2.00 |
Tower Dream (Japan) | 2.10 |
Wedding Peach (Japan) | 2.00 |
World Cup Striker (Europe) (En,Fr,De) | 2.00 |
World Cup Striker (Europe) (En,Fr,De) (Beta) | 2.00 |
World Cup Striker (Japan) | 2.00 |
Yokoyama Mitsuteru Sangokushi Bangi - Sugoroku Eiyuu-ki (Japan) | 2.10 |
Yuujin no Furi Furi Girls (Japan) | 2.00 |
Zero 4 Champ RR (Japan) | 2.00 |
Zero 4 Champ RR-Z (Japan) | 2.00 |
Soundware
TODO
NTT Modem
TODO
Game Multi-Tap and Mouse BIOS versions determined by Matthew Callis.
USB Joystick Controller / Retro Adapter / Dual USB & PSX Joystick Controller
In order to connect Atari/Amiga style joysticks and an old X-Arcade stick with blown controller, I decided to make a USB Joystick Controller. There are a couple of similar projects on the net, but they are designed for analogue joysticks and a limited number of buttons. The X-Arcade has 12 buttons, and having extra buttons is useful for emulators like MAME.
Later, I added support for Sega Saturn, Mega Drive, Master System, Famicom (NES) and Super Famicom (SNES) controllers to create the 'Retro Adapter'.
A new version of the Arcade Joystick controller is also in the works. Stay tuned for more info.
BBC coverage of the original Retro Adapter and the new prototype (starts after the PacMan segment, at 1.35):
Usb Super Famicom Controller Driver Installer
Updates
04.03.08 | Updated schematics and stripboard layouts with new diode based USB interface. Old interface used 5V signalling, new version uses more compatible 3.6V signalling. |
27.04.08 | Fixed missing pin 4 -> pin 14 wire in stripboard layouts. |
15.06.08 | Correct diode polarity and added missing D- jumper wire to stripboard layouts. |
09.08.08 | Added Retro Adapter source code. |
Joystick Controller
Features:
- 8-way joystick control with 4 microswitches
- 13 independent fire buttons
- No input lag
- Standard USB HID device, no drivers required
I found Igor Cesko's web site and his USB implementation for Atmel AVR microcontrollers. I decided to use it with an ATmega8, and modified it for use as a HID joystick. The device has X/Y axis for the joystick and 13 buttons.
The controller can also be used to convert up to three Atari style joysticks to USB, or two Neo Geo joysticks.
The AVR needs very few external components. A 12MHz crystal is used to provide accurate USB timing. Apart from that, there are just four resistors for the USB interface. Power is taken from USB, and filtering capacitors do not seem to be necessary.
The four directional switches and all buttons are simply switches to ground. Internal weak pull-ups in the AVR keep all lines high when the switches are not closed. There does not seem to be any problem with switch bounce using microswitches, or any input lag.
Schematic
Schematic | Stripboard with ISP | Stripboard without ISP |
Note 1: Schematics and PCB have been updated. Old schematic: schematic_v1.png. Old PCB: pcb_v1.png.
Note 2: The stripboard layout is identical to the Retro Adapter, except that R5 and R6 are omitted. The device will work with either firmware even if they are included.
The circuit can easily be constructed on stripboard (veroboard). That is how I made the prototype, which was installed in the X-Arcade stick. See the Retro Adapter section for a two layer PCB.
Usb Super Famicom Controller Driver Switch
Retro Adapter
Supported controllers:
- Atari / Commodore style joysticks, up to three buttons
- Sega Saturn controllers
- Sega Mega Drive controllers with 3 buttons
- Sega SG-1000 Mark III / Master System controllers
- Nintendo Famicom / NES controllers
- Nintendo Super Famicom / SNES controllers
Features:
- Simultaneously use all controllers at once
(except NES/SNES, only one or the other) - Start / Select buttons mapped to buttons 9 & 10 respectively on all controllers
- No input lag
- Standard USB HID device, no driver required
I wanted to connect Sega Saturn pads to USB. Sega manufactured some USB Saturn controllers for sale in Japan, but they are very hard to get. I looked at the Saturn controller interface and realized it would not be difficult to decode. Since I had free pins on the ATmega8, I decided to also support NES/SNES controllers.
Sega Mega Drive and SG-1000 Mark III (Master System) controllers also use 9 pin connectors, and it is possible to connect them to the same port as Atari joysticks. Pin 5 is both an input for fire button 3 on Atari style sticks and +5V supply for Sega controllers. Pin 7 can supply +5V for Amiga joysticks that need it, however it will be pulled low for a few milliseconds every time the joystick is read. So far I have not found any joysticks that use +5V, as autofire circuits use the pull-ups on the fire button line to create oscillation.
Schematic
Schematic | Stripboard with ISP | Stripboard without ISP |
The Retro Adapter circuit is compatible with the Arcade Stick controller, and both can also be easily built on stripboard. The PCB can be used for both, simply changing the firmware depending on which type of controller is desired.
Parts List
Name | Part |
IC1 | Atmel ATmega8-P |
Q1 | 12MHz Crystal, HC49U or U4 package |
C1, C2 | 22pF ceramic disc capacitor |
C3 | 100nF ceramic disc capacitor |
C4 | 10µF electrolytic capacitor |
R1, R2 | 68Ω resistor, 0.125w |
R3 | 2k2Ω resistor, 0.125w |
D1, D2 | 3V6 Zener diode, 0.5w |
H1, H2, H3, H4 | 1 row pin headers 1 |
USB | USB-B PCB header 2 |
ISP | 2x3 6 pin header 3 |
R5, R6 | 10kΩ resistor, 0.125w 4 |
1 Makes soldering wires on easy, but you could solder them directly to the board.
2 You can also just solder a USB cable directly to the board, as I did for the prototypes.
3 The ISP header is optional. It is only needed to program the AVR microcontroller once, so if you have a pre-programmed chip it can be omitted.
4 R5 and R6 are only needed for the Retro Adapter, they can be omitted from the Joystick Controller version.
C3 and C4 are to provide protection from noise on the power supply line. I have found them to be unnecessary on every board I have made, but it is possible they may improve compatibility with very long USB cables or poor quality hubs.
Connections
Connections are shown on the schematics, and printed on the PCBs. Here is a complete list of connections for the Retro Adapter, in case you want to use the same PCB for a Joystick Controller. Pin-outs for the retro console connectors are also provided.
Atari/Commodore/Amiga style joystick connector (male 9 pin d-sub) |
Pin | Atari/Commodore | Sega |
1 | Up | Up |
2 | Down | Down |
3 | Left | Left |
4 | Right | Right |
5 | Fire 3 (Amiga only) | +5V |
6 | Fire 1 | A / B |
7 | +5V (Amiga only) | Select |
8 | GND | GND |
9 | Fire 2 | Start / C |
Sega Saturn Controller (at console) |
Pin | Sega Saturn |
1 | +5V |
2 | Data 1 |
3 | Data 0 |
4 | Select 0 |
5 | Select 1 |
6 | +5V |
7 | Data 3 |
8 | Data 2 |
9 | GND |
Nintendo Famicom / NES Controller (at console) |
Nintendo Super Famicom / SNES Controller (at console) |
Pin | Famicom | Super Famicom |
1 | GND | +5V |
2 | Clock | Clock |
3 | Latch | Latch |
4 | Serial Data | Serial Data |
5 | +5V | NC |
6 | NC | NC |
7 | NC | GND |
The Famicom and Super Famicom connectors can be wires to the same pins on the Retro Adapter. Only one or the other can be used at the same time, although nothing bad will happen if both are connected. Be sure to get the +5V/GND wires the right way around!
&nbp;
Generic PCB connections
Usb Super Nintendo Controller Driver
The same PCB can be used for the Retro Adapter, Joystick controller, and a triple Atari/Commodore joystick adapter. For the latter, extra fire buttons are used for the joystick movement of the second and third sticks. Note that stick 3 only supports one fire button, the others support 2. Of course the same technique works for dual six button joysticks, or any combination. Perfect for Robotron :)
AVR pin | Retro Adapter | Joystick | Tripple Atari Adapter |
2 (PD0) | Saturn 2 | Up | 1.Up |
3 (PD1) | Saturn 3 | Down | 1.Down |
5 (PD3) | Saturn 4 | Left | 1.Left |
6 (PD4) | Saturn 5 | Right | 1.Right |
11 (PD5) | Saturn 7 | Button 1 | 1.Fire 1 |
12 (PD6) | Saturn 8 | Button 2 | 1.Fire 2 |
13 (PD7) | Atari 5 | Button 3 | 2.Up |
16 (PB2) | Atari 7 | Button 10 (A) | 2.Down |
17 (PB3) | Famicom 2 | Button 11 (B) | 2.Left |
18 (PB4) | Famicom 3 | Button 12 (C) | 2.Right |
19 (PB5) | Famicom 4 | Button 13 (D) | 2.Fire 1 |
23 (PC0) | Atari 1 | Button 4 | 2.Fire 2 |
24 (PC1) | Atari 2 | Button 5 | 3.Up |
25 (PC2) | Atari 3 | Button 6 | 3.Down |
26 (PC3) | Atari 4 | Button 7 | 3.Left |
27 (PC4) | Atari 6 | Button 8 | 3.Right |
28 (PC5) | Atari 9 | Button 9 | 3.Fire 1 |
Support for other 'simple' joysticks/gamepads is simply a matter of connecting the right wires up. Neo Geo, Sega Master System and most other 8 bit controllers should work without any problem.
Dual USB/Playstation Joystick Controller
Features:
- 8-way joystick control with 4 microswitches
- 20 multiplexed fire buttons
- No input lag
- Standard USB HID device, no drivers required
After finishing the USB interface, I realised it would be useful to have a joystick that supports both USB and Playstation (PSX) connections. The PSX interface, used on both the PS1 and PS2, is a fairly simple serial protocol. The microcontroller automatically detects which interface is in use. A tri-colour LED shows which interface is active: yellow while detecting, red for PSX and green for USB.
I have one working prototype of this design. Both interfaces work perfectly. The Playstation interface is fortunately rather simple and easy to interface with. However, I ran into a problem with not having enough I/O pins on the AVR to give a reasonable number of fire button inputs as the Playstation connection requires five I/O pins to operate.
My first attempt to overcome this was to use 74153 multiplexers, similar to how the Sega Saturn controller works. Unfortunately this proved to be somewhat unstable in operation, due to the increased current requirements and switching noise. A simpler solution would be to simply use a larger AVR with more I/O pins, which is something I may look at in the future. Such an AVR could also easily support connection to Saturn and Nintendo consoles too.
Prototypes
Joystick Controller:
(Click for larger versions)
Retro Adapter:
Two Retro Adapter prototypes were built into a Sega Saturn multi-tap. Two NES connectors are available on the other side, not visible in the photo.
(Click for larger version)
Downloads
Usb Super Famicom Controller Drivers
Joystick Controller:
Usb Super Famicom Controller Driver Download
Firmware hex file: JoystickControllerV1.1.zip
Firmware source code: Arcade_Joystick.zip
Retro Adapter:
Firmware hex file: RetroAdapterV1.0.zip
Firmware source code: RetroAdapterV1.0-asm.zip