Fred Astaire’s Doppelgänger

Oh crap… This blog is getting dusty. Anyway, let’s get started!

I compared the Street Fighter 2 Champion Edition joypad routine with the one from HuDK. One of the most interesting thing is that SF2 performs an extra joyport read after reading the 5 joypad states in order to check if a Multitap (PI-PD003) is there. If the returned value is $F0, we have a Multitap.

Is there a way to detect how many joypads are plugged? What about the other multitaps

Hopefully a Twin Tap and a Twin Commander magically landed on my desk for some time (thanks Adoru).

Let’s start with the Twin Tap. It’s a 2 ports multitap. Unfortunately there’s no way to detect available joypads or a 2 ports multitap.

Anyway! This multitap has some interesting peculiarity. If you check the you’ll see that there’s not 2 but 3 ports and a 3 positions selector switch. Why is there a third connector and a selector switch? I’m afraid we’ll never know.

The selector switch changes the joypads order. This means that the joypads plugged in the Twin Tap will appeared at a different position in the joypad read routine. Here’s a table with the switch positions and the joypad “positions”.

Switch position123
Joypad #0ACC
Joypad #1BCC
Joypad #2CAC
Joypad #3CBC
Joypad #4CCA

As the C port is hidden (unless you are a sneaky hacker), the joyport value will always be $FF (no buttons pressed).

Conclusion: At the time of writing this post, only the Multitap (PI-PD003) can be detected and we can’t detect if a joypad is plugged. I don’t have much hope for the Joy Tap 3, the Battle Tap or the X-HE2, but who knows…

Higher resolution images can be found here

Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

What is 6 + 3 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)

This site uses Akismet to reduce spam. Learn how your comment data is processed.