Tuesday 21 November 2017

Building the Next Spectrum - Part 4

Finished!
Probably not, only to version 0.1 Beta

OS Image here
Use at your own risk, not tested (Yet)




Building the Next Spectrum - Part 3

Wiring up the buttons and joystick port.


To keep things simple the GPIO uses the internal pull-ups for the joystick and function buttons.  Wiring is as follows;

Raspi BOARD pin numbers

 fire = 16
up = 15
down = 36
left = 13
right = 37
f1 = 22
f2 = 18
gnd = 20

Pin numbering for D (9 pin) socket, connect to corresponding pin above on the pi

up = 1
down = 2
left = 3
right = 4
fire = 6
gnd = 8

The buttons (f1 and f2) have a common ground this is  wired to pin (20) , pins 18 and 22 on the pi.

How it all works


The pi runs a python script that reads the GPIO and when a pin goes low a keyboard press is sent to the OS.  I have used uinput to do this as documented here.  I have then modified Fuse source so that the keys F8 - F12 emulate a joystick.  This allows for the mapping of the real joystick to any Fuse emulated joystick.  This key mapping has also been used in the menu system to allow control of settings/options using the joystick.  The two function keys on are used to enter the Fuse menu. (possible snapshot creation coming soon).

Menu Joystick controls are;

Fire - confirm
Right - select item
Left - escape
Up - up
Down - down


Joystick port


Function buttons





Thursday 16 November 2017

Building the Next Spectrum - Part 2


Software progressing well, needed to recompile Fuse on a Pre-Pixel version of Raspbian.  This was to allow me to run Fuse fullscreen from the console.  I now have an OS that boots to Fuse!




Original board fixed to the 'lid'


Pi Zero fixed to the back of the case to reduce the amount of cutting


I will make good the rear panel with a new sticky label for power and hdmi


Plastic wall to help support the Pi Zero


To allow for the PiZero to fix to the rear of the case the USB is connected to the test pads (I just cut down the USB cable that came with the RCZX.

Small strip-board to support the function buttons


The two buttons will be used to access thew Fuse menu and take snapshots.
I'm thinking of using the joystick as a way to control fuse menu.

Monday 13 November 2017

Building the Next Spectrum

I have managed to pickup a very, very cheap Recreated ZX Spectrum (RZXS).  This seems to be the ideal donor to improve my original ZX Spectrum Pi.  I have seen many projects online using this case and a Pi Zero. I would like to attempt to, first improve my own project, second document the conversion process.

Step 1. Testing the hardware
I have compiled the the latest version of Fuse on the Raspberry Pi to give support for RZXS in layer A mode (Game mode).  This seems to work well, but has raised the question:  How to access in game menus, my current thoughts are buttons at the rear of the unit. 


Ready for upgrade


Remove the screws from the bottom of the unit, be careful not to damage the two ribbon cables that attach between the top and bottom halfs 



My current layout thoughts, keep the Pi to the rear of the unit. This will allow for access to the power socket directly on the Pi. I’m happy with the idea of using an adapter for the HDMI on the outside or using a cable with the correct connectors. 

Using the test pads on the Pi it should be possible to connect the USB from the RZXS board to the Pi. 

Saturday 4 November 2017

Let the games begin

More retro goodness and a re-cap on my issue 2 speccy.