Just wondering if anybody has thought about making a card that would provide Atari-style joystick ports (not specifically for joystick - I agree that the SNES controller gives better DIGITAL inputs than the Atari joysticks, but more for Paddle (analog) inputs for breakout style games and maybe some racing games?
And while we're at it, maybe provide an old-school PC analog Joystick 15 pin GAME port (since that is effectively just the 2 analog axis and then 2 digital button signals)??
I would think both of these would be relatively straightforward to add into a card, along with A/D convertor or even just do it using an Arduino to do the conversion and push the values out onto some memory address?
Card to add Atari + PC joysticks?
Re: Card to add Atari + PC joysticks?
Actually, you don't even need a card. You can just convert the analog signals to digital with an ADC or microcontroller, then push them to the SNES ports with a bit shifter.
Actually, that's something that could be done fairly easily with something like an Arduino Uno, I think.
Actually, that's something that could be done fairly easily with something like an Arduino Uno, I think.
- JimmyDansbo
- Posts: 493
- Joined: Sun Apr 26, 2020 8:10 pm
- Location: Denmark
- Contact:
Re: Card to add Atari + PC joysticks?
I actually made an Atari to SNES adapter using a couple of CD4021BE.
Visit my Github repo
or my personal site with CX16/C64/6502 related information.
Feel free to contact me regarding any of my projects or even about meeting up somewhere near Denmark
or my personal site with CX16/C64/6502 related information.
Feel free to contact me regarding any of my projects or even about meeting up somewhere near Denmark
-
- Posts: 5
- Joined: Sat Mar 08, 2025 10:33 pm
Re: Card to add Atari + PC joysticks?
The "old-school PC analog Joystick 15-pin GAME port" has 4 axes and 4 buttons.
So we'd need at least 5 Bytes to Input it into the X16. The SNES port only clocks in 2 Bytes per Port.
That's why I'm trying/suggesting to keep the 3rd and 4th SNES-Controller on the gen2.
more bytes = more possibilities
Even the C64 had 3 bytes per port (two axes and the digital Input)
If we manage to keep the four SNES-Inputs, I'll build you an Adapter.
Already created an interface to a HOTAS Warthog-Base with an ESP32.
First core reading all the Buttons and the 2nd core clocking them out to the serial interface.
please support my suggestion
So we'd need at least 5 Bytes to Input it into the X16. The SNES port only clocks in 2 Bytes per Port.
That's why I'm trying/suggesting to keep the 3rd and 4th SNES-Controller on the gen2.
more bytes = more possibilities
Even the C64 had 3 bytes per port (two axes and the digital Input)
If we manage to keep the four SNES-Inputs, I'll build you an Adapter.
Already created an interface to a HOTAS Warthog-Base with an ESP32.
First core reading all the Buttons and the 2nd core clocking them out to the serial interface.
please support my suggestion
Re: Card to add Atari + PC joysticks?
The SNES controller only has two serial shift registers, so the SNES port is only programmed to clock in 2bytes per port ...RobinBlood wrote: ↑Wed Mar 26, 2025 6:40 pm The "old-school PC analog Joystick 15-pin GAME port" has 4 axes and 4 buttons.
So we'd need at least 5 Bytes to Input it into the X16. The SNES port only clocks in 2 Bytes per Port.
That's why I'm trying/suggesting to keep the 3rd and 4th SNES-Controller on the gen2.
more bytes = more possibilities
Even the C64 had 3 bytes per port (two axes and the digital Input) ...
... but the SNES port is perfectly capable of clocking in 5 if you have five chainable parallel to serial shift registers for the 5 bytes of data and write a routine to keep clocking bytes in for five bytes after the state of the parallel inputs are latched by pulling SEL down and releasing it.
That's why the SNES is a pull down and release select, rather than "pull down and hold" as in an SPI serial interface ... it was designed to have nothing in the controller but a couple of chained serial shift registers.
If you don't want to mess with the interrupt routines reading controllers 1 and 2, the "extra" VIA#1 pins brought out to an internal header on the board are perfectly capable of working the same way, and can cycle in as many bits as you need, independent of the interrupt routine.
If there is a campaign to keep an input option in the GS board, I would prefer a campaign to keep the four extra VIC#1 pins as +5v I/O -- since those would be general purpose for either bringing bytes in from an SNES style shift register chain or for making an SPI bus.