pico-zxspectrum icon indicating copy to clipboard operation
pico-zxspectrum copied to clipboard

Help for Keyboard Matrix pinout for support full 48+ keyboard

Open emilen72 opened this issue 1 year ago • 31 comments

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.

emilen72 avatar Feb 02 '24 12:02 emilen72

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.

fruit-bat avatar Feb 02 '24 20:02 fruit-bat

I've updated the previous comment. Sorry for the miss direction.

fruit-bat avatar Feb 03 '24 04:02 fruit-bat

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

fruit-bat avatar Feb 03 '24 07:02 fruit-bat

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

fruit-bat avatar Feb 03 '24 07:02 fruit-bat

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?

emilen72 avatar Feb 03 '24 09:02 emilen72

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.

fruit-bat avatar Feb 03 '24 11:02 fruit-bat

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

fruit-bat avatar Feb 03 '24 17:02 fruit-bat

I've just test zx spectrum plus keyboard with my board based on ZxSpectrumPicomputerVgaAuk/ZxSpectrumPicomputerVgaAukBob and keyboard works great.

DPRCZ avatar Feb 11 '24 15:02 DPRCZ

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

emilen72 avatar Aug 14 '24 06:08 emilen72

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.

fruit-bat avatar Aug 14 '24 07:08 fruit-bat