pico-zxspectrum
pico-zxspectrum copied to clipboard
Help for Keyboard Matrix pinout for support full 48+ keyboard
Hi, I have a spare empty 48+ case (no pcb and no membrane) and want to fit it with rp2040 (etc etc) and a custom made pcb with a tactile switch for each of 58 key of the 48+.
I can't understand how the matrix for this configuration and if exist a ready to use uf2.
Many thanks for your help and a big thanks for this wonderful emulator.
Hi there, glad you are enjoying the project.
If you look here https://github.com/fruit-bat/pico-zxspectrum/blob/main/docs/pico_zx48_128_2.png there is a circuit diagram that matches the target below.
ZxSpectrumPicomputerVgaAukBob.uf2
There are a bunch of other possible layouts, but this one matches that of the original spectrum.
I've updated the previous comment. Sorry for the miss direction.
I've started a page with the stuff I think you need. I will split out all of the firmware targets onto separate pages.... I didn't expect there to be so many versions when I started the documentation!
https://github.com/fruit-bat/pico-zxspectrum/blob/main/docs/pico_zx48_128.md
I've started a page with the stuff I think you need. I will split out all of the firmware targets onto separate pages.... I didn't expect there to be so many versions when I started the documentation!
https://github.com/fruit-bat/pico-zxspectrum/blob/main/docs/pico_zx48_128.md
Many thanks for your reply… and sorry if ask again some stupid questions but I’m still a bit confused :-(
in the schematic the matrix is 7x7 but the zx+ and 128 have 56 keys so it need 7x8 at least or I’m wrong? In the schematics there are some keys in row1 and row7 that no exist in real zx, zx+ and 128 It mean that not all keys activated by the original zx+ or 128 lower membrane (invvideo, truevideo, caps-lock, breack etc etc) are supported or not needed by emulator? watching some videos I understand that the additional keys on row1 and row7 have special function required by the emulator and they need to be connected to dedicatd key (as on bobricius pcb) but they are mandatory or not? Or Can I omit them for cabling all original keyboard keys?
In other word can the emulator to be compiled to support a base configuration of all original 56 keys, vga, audio out and cassette in? Even taking away other feature as SD and joystick?
Feel free to ask questions (sometimes I have more time to answer than others):
- I think the 128 and 48k Spectrum had the same keyboard connections but some buttons hit combinations of rows and columns.
- Row1 of this hardware layout is used to support a few 'extra' buttons and a DB9 joystick port
- The emulator should run with no extra components added to the Pico
- If you want to access the menus you will need to wire up the menu button (or we need to decide on a set of membrane presses, which is usually harder than you might imagine)
See https://zxrenew.co.uk/ZX-Spectrum-48k-128k-Toastrack-keyboard-membrane-p69999635
With regards to:
In other word can the emulator to be compiled to support a base configuration of all original 56 keys, vga, audio out and cassette in? Even taking away other feature as SD and joystick?
Yes, but it's not trivial. Each target has at least some custom code to make sure everything is in the right place. Happy to help out with this sort of thing but need to agree exactly what is going where first... and the Pico only has a certain number of pins and some of them are tied to specific functions.
If you go with this VGA circuit you get some extra pins (at the expense of some extra diodes)...
https://github.com/fruit-bat/pico-zxspectrum/blob/main/docs/Pico%20VGA%20RGBY1111.svg
I've just test zx spectrum plus keyboard with my board based on ZxSpectrumPicomputerVgaAuk/ZxSpectrumPicomputerVgaAukBob and keyboard works great.
very late reply...
I would like to assemble on breadboard for testing and then make a new PCB with these characteristics:
- real 48k+ keyboard
- db9 joystick
- audio out
- audio in for load real cassette
- vga rgb1111
- sd card
- usb host
what firmware can I use?
many thanks
There is not a configuration for that organisation at the moment... but it sounds possible. Hopefully, just by creating additions to the 'make' system.... but at the moment I am 'trying' to fix the VGA builds which have broken since the SDK update for the RP2350.