https://github.com/lampmerchant/tashpad
An adapter to make a Super Famicom/NES controller appear to an ADB Macintosh as a Gravis GamePad.
https://github.com/lampmerchant/tashpad
firmware gaming macintosh pic-assembler retrocomputing
Last synced: 4 months ago
JSON representation
An adapter to make a Super Famicom/NES controller appear to an ADB Macintosh as a Gravis GamePad.
- Host: GitHub
- URL: https://github.com/lampmerchant/tashpad
- Owner: lampmerchant
- License: gpl-3.0
- Created: 2024-05-01T17:57:32.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-14T18:01:40.000Z (almost 2 years ago)
- Last Synced: 2024-06-14T19:24:01.396Z (almost 2 years ago)
- Topics: firmware, gaming, macintosh, pic-assembler, retrocomputing
- Language: Assembly
- Homepage: https://68kmla.org/bb/index.php?threads/tashpad-super-nintendo-to-gravis-gamepad-adb-converter.47630/
- Size: 1.16 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TashPad
An adapter to make a Super Famicom/NES controller appear to an ADB Macintosh as a Gravis GamePad, targeting the PIC12F1501 (8 pins, ~$0.96) microcontroller.
## Technical Details
The firmware translates the buttons by position, not by color. The Select and Start buttons emulate the toggle switch on the Gravis GamePad, with Select moving it toward the directional pad and Start moving it toward the buttons. The SFC controller's L and R buttons duplicate the functionality of the Y and X buttons, respectively.
The ADB protocol used by the Gravis Mac GamePad is documented [here](https://github.com/lampmerchant/tashnotes/blob/main/macintosh/adb/protocols/gravis_mac_gamepad.md). The protocol used by the SFC controller is documented [here](https://gamesx.com/controldata/snesdat.htm).
### Building Firmware
Building the firmware requires Microchip MPASM, which is included with their development environment, MPLAB. Note that you must use MPLAB X version 5.35 or earlier or MPLAB 8 as later versions of MPLAB X have removed MPASM.