Search This Blog
Repair and restoration of retro consoles, 8 bit computers. In this blog I hope to show you how to repair, retrore and modify old consoles and handhelds, from manufacturers such as Atari Amstrad Acorn Sinclair Commodore Dragon Sony MSX BBC Playstation Sega Microsoft xbox Spectrum ZX81 Vic 20 VIC20 C64 Amiga Binatone Grandstand.
Featured
- Get link
- X
- Other Apps
ZX Spectrum +2 – Making a Diagnostics ROM IC
As you will have seen from my previous posts, I am working on my £5 ZX Spectrum +2; I am in the middle of heavily modifying it with most of the known performance improvement modifications. Before I went any further I decided that I should check out the main board for any faults just in case I needed to buy any replacement parts.
Checking eBay I found several plug in diagnostics cartridges but most of them appeared to be running on Brendan Alford’s Diagnostics ROM information about the ROM can be found on his Github site
The below link is a direct download to the v0.37.zip containing the testrom.bin file required for flashing the eprom.
https://github.com/brendanalford/zx-diagnostics/releases/download/v0.37/Release-v0.37.zip
Many thanks to Brendan Alford for sharing this fantastic piece of software!
There are only two other things needed for this build:
An Eprom programmer; I bought a XGecu programmer (Model TL866 II Plus) on eBay for about £40 which I have also been using to program ROMs for my BBC Microcomputer. My only advice about purchasing this device would be to check the feedback left by others as there are some suppliers selling clones of this model which will not work when the software firmware updates the device on startup.
The software for this device can be found on
http://www.xgecu.com/EN/index.html
You will also need the following write once eprom
CY27C256
I bought four from ebay from a UK supplier for just under £10 (including delivery)
The above Eprom is fully compatible with the ZX Spectrum and no modifications are required to make it work (basically programme it then simply plug it into the spectrum)
Now let’s set up the PC and programmer
The picture above is of my desktop computer with an image of the programmer setup on the bottom right of the screen.
Double click the XGpro icon on your desktop
Click on the Select IC icon
Type CY27C256 in the box
Click on CYPRESS in the Manufacturer column
Click on CY27C256 @DIP28 in the device column then click Select
Deselect Skip Blank
Click Load
Select testrom.bin from the Release-v0.37 folder
Click on FLASH in the To Region(Buffer) section
Click OK
With the bin file loaded you should have something looking like this in the data section
Click PROG.
And it should show you a picture of the CY27C256 orientation in the ZIF socket of the programmer. Note that the notch which indicates pin 1 of the IC is located closest to the lever of the ZIF socket.
Place the CY27C256 IC in the programmer as shown in the placement digram above (See picture below)
Then click Program
The programmer will now start flashing the IC; you will notice that the LED’s on the programmer will blink on and off during this process
Once it has flashed the IC, the software will pop up with a Succeeded message
Then it will read the Eprom to verify that the data has been written to the Eprom correctly
Click Back
Then click READ to double check that the Eprom has been written correctly
Click Read in the pop up window to Read the Eprom
Then click Back after it has read the Eprom
Check that you have the same or similar data shown in the picture below
Then exit the software as the Eprom is now programmed
It is a good idea to label your eprom’s as they all look alike; I used a cheap and cheerful label writer to make a label for my ZX diagnostics IC.
It is also a good idea to store your static sensitive IC’s in a static sensitive box; failing that, you could always use the IC tube in which the CY27C256 IC was sent in.
Now let’s fit the ZX Diagnostics ROM chip to the ZX Spectrum +2
Highlighted below is the location of the Amstrad ROM chip (AMSTRAD 40054) which we are going to replace.
I used a spudger to lever out the AMSTRAD ROM chip; if you don’t have a spudger then you can carefully use a small flat bladed screwdriver to lever it out.
Take care when levering the IC from its socket as it is very easy to bend the pins of the IC whilst removing the chip. The best way to do this is to lever it up gradually from both ends a little bit at a time until you can simply lift the IC up with your fingers.
You can also use an IC extruding tool should you wish but in my experience I find the spudger or screwdriver technique is a whole lot easier.
Once the Amstrad ROM has been removed, place it in static sensitive storage then fit the ZX Diagnostics ROM. Care should be taken to place the IC in the correct orientation; On the +2 all of the Pin 1’s of the IC’s on the PCB are facing south.
Now lets test the ZX Diagnostics ROM... and the ZX Spectrum +2 as well. Set the system up and power it on
Hopefully you will be greeted with the menu on screen as shown below
Press S to start the soak test
The screen will display the following (this is completely normal)
Then the ROM will perform the Soak test; This test will continually test the memory on a loop. It will do a single test of the memory then reset and do another test. It will keep on doing this for as long as you wish and the number of tests can be denoted by the soak test: iteration 0000# number.
Soak test complete
Power off the System then reboot into the main menu again.
This time press U for the ULA test
The first test in the ULA test menu is the Microphone Port test. Pressing 1 should result in a loading type border of Red/Cyan with a sound outputting from the microphone port
Press 2 to perform the earphone test. This is almost the same as the MIC test but it will test the Earphone Port. The loading border should flash a familiar Yellow/Blue and you should also hear sound being outputted from the earphone port.
Pressing 3 will perform the border test. This should result in every colour available on the ZX Spectrum being displayed in the border.
Pressing 4 will perform the screen switching test; a good test is where Green and white stripes cover the complete area of the screen.
Pressing 5 will do the ULA addressing test; what you should be looking for is a flashing Green and White Border as shown below
Now lets have a look at the memory using the Memory Browsing feature; Press M during the setup screen.
This test will allow you to look at any memory address of the ROM or RAM.
Back to the main menu again; press SPACEBAR for the Testcard test.
This test will display all colours and sound on startup; during this test, if you press A you will also test the AY sound function of the +2
I then did the main ZX Diagnostics test; I believe that if you simply power on the +2 it will come up with the menu which will allow you to selet which ZX Spectrum you are testing. As I am testing the +2, I pressed the 3 key to select that series of tests.
The machine will now perform a number of tests on the Ram and should take around 90 seconds to complete.
The Final test I did on my +2 was the keyboard test which can be selected by using the K key on the menu screen.
This will not test the +2 keyboard completely as it is really designed for an original 48k Spectrum but you will be able to check that ever letter and number works.
A nervous Leo looks on holding his breath for the final moments of the test.
Keyboard test complete! My +2 is good!
All I have to say now is a huge thank you to Brendan Alford and his very handy ZX Diagnostics Rom!
The Video below shows you the whole process from start to finish in real time (apart from stripping down and rebuilding the +2)
I hope that you have found this entry useful; if you have any questions about this project then please feel free to get in touch. Either leave a comment or email me directly on
Any feedback, good or bad would be greatly appreciated.
Many thanks for taking the time to read this entry.
Popular Posts
Designing, building and fitting a TZX Duino Amplifier for the ZX Spectrum +2
- Get link
- X
- Other Apps
Comments
Post a Comment