Something I always wanted as a kid while browsing the magazines adverts was a programmable joystick interface like the COMCON
(https://spectrumcomputing.co.uk/entry/1 ... _Interface), not sure why but they looked cool Anyway I never did get one relying mostly on my trusty Interface 2 or just using keys, that is until now...
I've developed a programmable joystick interface using a Pico which uses a small OLED screen and menu system to pick the keys you want for each direction or fire button (no more wires). It currently works with 9pin Amiga compatible 2button joysticks so you can now have two fire buttons, useful for games like R-Type which has fire and detach buttons. I've tested this with a two button Sega Mastersystem controller and it works great.
The main aim for creating this was to get this working with Bluetooth controllers via a Pico-W so you can use a PS4 Dualshock controller or similar. I'll keep this thread updated with progress on that front.
Few other things on the to-do list:
- Work with Kempston mapping as well as programmable keys
- Work with Megadrive pads, currently only Amiga or original Atari joystick compatible. It does work with Mastersystem controllers but for Megadrive it will need to supply voltage to the correct pin.
- Work with Amstrad CPC 2button joysticks, these are wired differently to Amiga/Atari.
- Bluetooth support
TomD
New Development - Programmable Joystick Interface
New Development - Programmable Joystick Interface
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
Re: New Development - Programmable Joystick Interface
Another photo
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
- HEXdidnt
- Manic Miner
- Posts: 229
- Joined: Thu Mar 09, 2023 2:40 pm
- Location: Harrow, London, UK
- Contact:
Re: New Development - Programmable Joystick Interface
Awesome!
Given how common it became, throughout the Spectrum's life, for games to have more than one 'fire' button, I've always wondered why no-one ever developed an interface that would support multiple buttons. So many arcade conversions would benefit by at least two button support.
Given how common it became, throughout the Spectrum's life, for games to have more than one 'fire' button, I've always wondered why no-one ever developed an interface that would support multiple buttons. So many arcade conversions would benefit by at least two button support.
...Dropping litter in the zen garden of your mind
The Hub of all things HEXdidn't... | HEXdidn't... on YouTube ...on ZXArt ...on deviantart | A Pixel Art Odyssey
The Hub of all things HEXdidn't... | HEXdidn't... on YouTube ...on ZXArt ...on deviantart | A Pixel Art Odyssey
Re: New Development - Programmable Joystick Interface
Yes definitely, even having the ability to re-map the 2nd button to up to make jumping easier. Hoping once I get the bluetooth working you could in theory have 12 buttons all mapped to different keysHEXdidnt wrote: ↑Mon Sep 25, 2023 12:18 pm Awesome!
Given how common it became, throughout the Spectrum's life, for games to have more than one 'fire' button, I've always wondered why no-one ever developed an interface that would support multiple buttons. So many arcade conversions would benefit by at least two button support.
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
Re: New Development - Programmable Joystick Interface
Great work, Tom
Looking forward to seeing progress.
Looking forward to seeing progress.
Re: New Development - Programmable Joystick Interface
Quick update.
I created a new PCB which adds a jumper to improve compatibility with different joystick types. This was mostly so I could get my Amstrad 2 button joysticks to work. Spectrum didn't really get any 2 button ones, in my collection anyway.
Although the Atari 9pin seemed to be a standard with GND, Up, Down, Left, Right & B1 common across manufacturers, when it comes to additional fire buttons and power it was a free for all.
Atari/Kempston/Amiga has Pin9 for B2 and Pin5 for B3, 5V on Pin 7. Amstrad has Pin7 for B2, Pin5 for B3 and no power output, so with a standard set-up you would be pushing 5V to B2 and shorting to GND when pressed. Sega went with 5V on Pin 5 (instead of B3) and a funky combo of Pin 7 and Pin6/9 to get more than 3 fire buttons.
New PCB allows you to swap B2 around as needed and also which pin you want 5V going to, 5 or 7. Power isn't really needed unless you have a fancy autofire joystick and all joysticks I've tried work fine without it, including my ZipStick with autofire.
TomD
I created a new PCB which adds a jumper to improve compatibility with different joystick types. This was mostly so I could get my Amstrad 2 button joysticks to work. Spectrum didn't really get any 2 button ones, in my collection anyway.
Although the Atari 9pin seemed to be a standard with GND, Up, Down, Left, Right & B1 common across manufacturers, when it comes to additional fire buttons and power it was a free for all.
Atari/Kempston/Amiga has Pin9 for B2 and Pin5 for B3, 5V on Pin 7. Amstrad has Pin7 for B2, Pin5 for B3 and no power output, so with a standard set-up you would be pushing 5V to B2 and shorting to GND when pressed. Sega went with 5V on Pin 5 (instead of B3) and a funky combo of Pin 7 and Pin6/9 to get more than 3 fire buttons.
New PCB allows you to swap B2 around as needed and also which pin you want 5V going to, 5 or 7. Power isn't really needed unless you have a fancy autofire joystick and all joysticks I've tried work fine without it, including my ZipStick with autofire.
TomD
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
Re: New Development - Programmable Joystick Interface
If you want to make it truly versatile, have it able to simulate Fuller and Kempston style return bytes (one has bits that go low, the other high, with different bit orders) and select the IN port it responds to (127 for Fuller, 31 or optionally 55 for Kempston). In fact, if the Kempston IN port was customisable to anything, you could add multiple interfaces - at least until you ran out of power! And on that note, don't forget a through-port, too!
Re: New Development - Programmable Joystick Interface
It can easily flip the bits and order as it does that for keyboard vs. Kempston already, however I've hardwired Port 31 for Kempston & Port 255 for the keyboard which covers Sinclair & Cursor. With the ability to map to any key combo I think multiplayer should be covered although I could add a jumper so you could flip between 31 and 55 (read A3 instead of A5).Joefish wrote: ↑Tue Oct 10, 2023 12:36 pm If you want to make it truly versatile, have it able to simulate Fuller and Kempston style return bytes (one has bits that go low, the other high, with different bit orders) and select the IN port it responds to (127 for Fuller, 31 or optionally 55 for Kempston). In fact, if the Kempston IN port was customisable to anything, you could add multiple interfaces - at least until you ran out of power! And on that note, don't forget a through-port, too!
Through port is definitely on the list and I've created the adapter bracket already. While in test I'll keep it as a simple standalone as easier to work with. Idea is once final I will design a board with SMT components (other than the Pico) to shrink it down.
TomD
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
Re: New Development - Programmable Joystick Interface
Good spot, yes I meant port 0xfe which is 254 not 255.
TomD
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com