TashPad: Super Nintendo to Gravis GamePad ADB Converter

Tashtari

PIC Whisperer
Elevate your game!

Introducing... TashPad!


Elevator Pitch

It's a converter that makes a Super Nintendo/Super Famicom controller appear to an ADB Macintosh as a Gravis Mac GamePad. Used with the GamePad's control panel, it can be used to play all your favorite Mac games.

I made the PIC12F1501 firmware, @demik has made a PCB and case panels to make it fit neatly into the same Hammond case as the ADB Quack and TashTwenty so it can sit pretty right next to your Mac.


Project Status

Stable. It uses the same ADB state machine as my other ADB projects.


Code and PCB



Picture

1718074442295.png
 

demik

Well-known member
Some more informations

ADB
TashPad is sporting two ADB ports on the back, so if even if your Mac only has one free port, you can still use TashPad by daisy chaining it, for example between your Keyboard and your Mouse

You will need an ADB or S-Video cable for that (the shortest the best, as usual. We tested with 2 meters S-Video cables without issues)

GamePad
Due to the surge in retro gaming, a lot Super Nintendo/Super Famicom controller clones are available brand new. You can find them easily online. Low quality copies cost around $10€, good copies are around $20.

Please note that you do need a controller with Super Super Nintendo/Super Famicom connection, not a clone with a modern USB

If you want an original controller, you may need to look at the used market. The Super Nintendo controller was chosen because it had the closest look to the original Gravis GamePad, and good electrical compatibility with our old Macs

Driver
You need to use the original Gravis GamePad available on Macintosh Repository or Macintosh Garden. The driver is very well done and you will be able to remap any button to most keyboard keys or mouse movement and click. It has also a decent preset of game profiles from back then

Control Panel


Bluetooth & Compatibility
We did test it with original Super Famicon Gamepad, and a few third party ones (Hyperkin Scout Premium)
You can push TashPad further by daisy chaining a retro bluetooth to Super Nintendo dongles with a Bluetooth controller of your choice

This combinaison successfully with a 8BitDo set

Bluetooth%208BitDo.jpeg


2.4GHz controllers were not tested but are expected to work as well!

Build
The build is pretty simple. @tashtari PIC is doing the heavy lifting. Most of the other thing are a few pull-ups for increased compatibility, plus RT and short protections "stolen" from both old Macs and Super Nintendo consoles

Of course most of them can be removed to reduce the overall cost

Open.jpeg


The hardest thing to find is the controller connector, you will need the gray 90° angled ones. There is still plenty of them on AliExpress, that connector being used on a lot of current retro projects. Beware of the left/right ones, maybe the pin can be moved around

If the blue color put your off, you can build the same using black and light-grey (close to our Mac Platinum) opaque cases.
The front and back panels are made using PCBs

Caution
Remember that the ADB is not supposed to be hot pluggable. While we did add protections to TashPad such as a resettable fuse and a few inrush resistor protection, hotpluging everything is not recommended.

I tried to break it during testing and only ended up with the driver in a weird state, but better be safe than sorry

Building kits / Bying
If enough EU+UK people are interested, I may do a small prebuild or kit run this summer. As @tashtari said, the design is OpenSource. We encourage you to build your own. As for myself, shipping to NA will cost more than the BOM, so will avoid doing that…
 

LaPorta

Well-known member
Very nice! Two questions:

The original Gravis GamePad doesn't have an L or R button (I've owned one since new in the 90s). How do you map those with the control panel? Ihave all original SNES controllers.

What do you use this for? Most Macs with ADB were pretty slow regarding SNES emulators.
 

demik

Well-known member
Very nice! Two questions:

The original Gravis GamePad doesn't have an L or R button (I've owned one since new in the 90s). How do you map those with the control panel? Ihave all original SNES controllers.

What do you use this for? Most Macs with ADB were pretty slow regarding SNES emulators.

Thank you!

Good question. Unfortunately the GamePad protocol couldn't handle L or R buttons, so they were aliased to red and blue

As for compatibility, since the Gravis GamePad is basically a programmable keyboard and mouse device, It's useable with any games where you used the keyboard or mouse before.

I use it for Super Maze Wars, Maelstrom or Tetris myself on setups where the keyboard isn't that great (PowerBook 180 for example) or when I'm too lazy to get the AEKII out :LOL:
 

LaPorta

Well-known member
Another question: could this be made to work with the OS 9-type Game sprocket extensions?
 

demik

Well-known member
@demik I would be in for one to ship in France ;)
Noted, will make a thread in the trading section for that!
Another question: could this be made to work with the OS 9-type Game sprocket extensions?
That should work, IIRC that GamePad was supported by GameSprocket. Assuming the late version still have ADB support, it may work.
After a quick search, in his blog, @Dandu tested the OG GamePad and it worked with InputSprocket 1.4 but not 1.7

From InputSprocket 1.4 Readme

The InputSprocket files you need to install are:

--------8<--------
- InputSprocket Gravis
- InputSprocket Gravis: Gravis Gamepad (ADB), Gravis Firebird (ADB), Gravis Mousestick II (ADB), Gravis Blackhawk (ADB)
 
Last edited:

LaPorta

Well-known member
Yes, I have seen those Gravis sprockets. I was wondering if a Sprocket could be based off of those and perhaps contain a way to get the R and L (and perhaps Start/Select) buttons working.
 

demik

Well-known member
Yes, I have seen those Gravis sprockets. I was wondering if a Sprocket could be based off of those and perhaps contain a way to get the R and L (and perhaps Start/Select) buttons working.

Well the Gravis GamePad protocol can only handle 8 buttons, so unfortunately not based off this project. Start/Select are also used internally to switch from keyboard and mouse mode

Super cool! Thank you tashtari and demik!

Thank you!
 

Forrest

Well-known member
I viewed the GitHub, and the main page lists the PIC12F1501, while the BOM listed on the PCB page lists the PIC12F1840. Which one is correct? Can the chip be programmed with a PICKIT 3?
 

demik

Well-known member
My bad, PIC12F1501 is the correct one, I'm submitting a PR to correct this now.

PICKit 3 is listed as compatible by MPLAB IDE v8.92 over here. Although I programmed it using a T48

MPLAB%20Programmers.png
 

Forrest

Well-known member
Ok, thanks for the quick update. I‘m happy the chip can be programmed with the PICKIT 3 - so I don’t need to invest in a new programmer.

Great project - will definitely build one, as I only have one Gravis Gamepad and it’s held up well thru the years.
 

joevt

Well-known member
Reminds me of the Kernel Productions ChoiceStick Mark V / JoyPort ADB which supported Genesis/Atari, PC, Playstation, and N64 controllers but not SNES and I think it used a 6502 for the micro controller? It had its own software, including an Input Sprocket library. I believe it was able to send new code to the adapter to support new controllers?
 

sfiera

Well-known member
No, about 10 years old I think. From a Japanese company called Columbus Circle that makes a lot of Famiclone/peripheral type electronics.
 

opualuan

Well-known member
Great project! I notice the driver permits two gamepads at the same time. Is it possible for the fw to mimic two controllers plugged in to allow the single controller to have more buttons? Might be a bit awkward to map, but extends the functionality…
 

Tashtari

PIC Whisperer
Great project! I notice the driver permits two gamepads at the same time. Is it possible for the fw to mimic two controllers plugged in to allow the single controller to have more buttons? Might be a bit awkward to map, but extends the functionality…
It's doable, yeah, though as you say, the mapping would be highly awkward... part of the appeal of making a SNES controller emulate the GamePad is the straightforwardness of the button mapping. From a firmware perspective, it's not very difficult to make a SNES controller emulate a keyboard/mouse with any set of keystrokes or mouse behaviors, the difficulty lies in how the user is meant to configure it - that's why being able to use the existing Gravis control panel is such a significant win for user friendliness.
 
Top