ZX Spectrum and ZX81 emulation - your setup?
-
IN my ideal world I would love to have the Pi work in a similar way to a DIVMMC Future - connect to my original Spectrum and act as a sd loader and joystick interface - if this can be done please, please, PLEASE tell me how!
However, as I have searched the web I know this is not possible, unless I have missed something.
So, the very next best thing would be to have a Pi setup inside a ZX Spectrum or ZX81 case and have it boot straight to the emulator and allow me to use the normal keys etc.
So, if you play ZX Spectrum games on your Pi with Retropie, what exactly is your setup - I find it difficult using a usb joystick to start games etc as they use different keys and the virtual keyboard in the emulators seem difficult to use?
Any examples of how people have theirs set up would be greatly appreciated...
-
I have defined per ROM core config files with the appropriate controls settings (keyboard mappings or default joystick).
The latest lr-fuse version allows you to map gamepad buttons to keyboard inputs.
Granted, I only have a fairly small library with some classics.
-
There is no one-size-fits-all setup for Spectrum since many games used different control schemes. I advise to set up Kempston as your default joystick (most common) and then adjust for other games.
Before the update having a keyboard would be greatly recommended since many games did not use any joystick at all - but now you can redefine & map, which is great. My real USB keyboard stopped working after I updated though, which is rather strange because it worked fine on the previous version... currently trying to sort it out.
-
The original keyboards are matrix-based.
That is, when you press Q, it just notices that row 1 and column 1 are electrically connected (for example) by measuring the row and column.
When you press, say, Q and W at the same time, it can't tell whether you're pressing Q, W, Q and W or some other combination (not a real world example, but it gives you an idea). It was referred to as keyboard clash back in the day, and you had to be careful when choosing multiplayer keyboard controls!
As such, the Speccy keyboard has a number of row inputs and a number of column inputs. You feed it a "ground" signal through the common connector and then look see what rows/columns are joined to ground. That means you'll be interfacing via GPIOs or some custom chip and then recreating the keyboard input manually.
I'm not aware (but it's not impossible) if anyone has made a chip to do the hard work for you, and feed it over USB or similar as just ordinary keyboard input. But I don't think so for original Speccy keyboard matrices (which are also notorious for degrading over time) and it'll probably not be worth the effort - you'll get "real" keyboard clash on the keyboard, and then "virtualised" keyboard clash in the emulator itself too (because it can't tell the virtual speccy that Q and W are depressed simultaneously, etc.)
I would suggest for Speccy games that you connect a real keyboard (I have a cheap £10 Bluetooth thing that I use for Speccy games). Personally I use "Interface II" controls as they just pretend to be keyboard keys (similar to Cursor joysticks but much more commonly supported) so when you can't use a joystick in the game, you can "Redefine Keys" and just waggle the joystick appropriately.
If you want to really annoy yourself, try playing Chaos! That used diagonals (which not all joysticks supported properly) on the keys around S plus keys like 0, Y/N etc. Basically, trying to play it without a keyboard is a nightmare.
TL;DR: Speccy was a keyboard machine. Use a keyboard. If you want to use an original Speccy keyboard, I hope you can wire electronics yourself.
-
@pjft said in ZX Spectrum and ZX81 emulation - your setup?:
I have defined per ROM core config files with the appropriate controls settings (keyboard mappings or default joystick).
The latest lr-fuse version allows you to map gamepad buttons to keyboard inputs.
Granted, I only have a fairly small library with some classics.
Looks like this is the way to go for me - I have been holding off upgrading because I have a sweet set up and don't want to mess with it and it not work, but I guess I could just get a new card and have a specific Spectrum one...
I don't want to play a million Spectrum games, just a few classics that I used to really love - Lunar Jetman, Knight Lore, Chuckie Egg plus a few others.
Thanks for the replies guys, particularly ledow's very detailed explanation - much appreciated!
-
@chubsta If you are having problems, why not try finding those games on on other platforms? I also wanted to play Chuckie Egg, but I grew up playing it on a BBC Micro, and as yet Retropie doesn't support those, however there is an Atari ST version, which presumably would have better graphics than the Speccy one. Reading your post triggered that thought, and I found it today, and am hopefully going to find out how it works sometime this week.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.