ZX Spectrums problems : diagnostic software ?
ZX Spectrums problems : diagnostic software ?
Hello,
I have some problems with my ZX Spectrum 48K : if I don't do anything with it, after a few minutes I can see some colored squares appearing on the screen. I am using a Divmmc on it, everything is fine except that a lot of games are failing to start. I think I may have some RAM problems on it, but not sure.
So I was wondering if anybody knows a diagnostic software (in .Z80 or .TAP format) that I can use to test the Spectrum hardware, does anybody now ?
Thanks !
I have some problems with my ZX Spectrum 48K : if I don't do anything with it, after a few minutes I can see some colored squares appearing on the screen. I am using a Divmmc on it, everything is fine except that a lot of games are failing to start. I think I may have some RAM problems on it, but not sure.
So I was wondering if anybody knows a diagnostic software (in .Z80 or .TAP format) that I can use to test the Spectrum hardware, does anybody now ?
Thanks !
-
- Posts: 2161
- Joined: Sat Nov 26, 2016 2:42 am
Re: ZX Spectrums problems : diagnostic software ?
I have a Retroleum Smart card - it has built in diagnostics
https://www.retroleum.co.uk/spectrum-peripherals
I also managed to download some software which ran tests but not sure if it was run as a ROM on the smart card or loaded in RAM - not used it for quite a while.
The Smart cards are nearly always out of stock (no surprise at that price!) but contact the seller he has always been very good at letting you know when they are back in.
https://www.retroleum.co.uk/spectrum-peripherals
I also managed to download some software which ran tests but not sure if it was run as a ROM on the smart card or loaded in RAM - not used it for quite a while.
The Smart cards are nearly always out of stock (no surprise at that price!) but contact the seller he has always been very good at letting you know when they are back in.
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
Re: ZX Spectrums problems : diagnostic software ?
thanks a lot, but I hoped to find just a software to not buy a new interface again ...
-
- Posts: 2161
- Joined: Sat Nov 26, 2016 2:42 am
Re: ZX Spectrums problems : diagnostic software ?
I’m pretty sure this is what I downloaded:
https://github.com/brendanalford/zx-dia ... i/Firmware
I guess they need to run from ROM because if the RAM is dodgy you can’t load the software in the first place?
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
- 1024MAK
- Posts: 5104
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
Re: ZX Spectrums problems : diagnostic software ?
If there is a hardware fault, a lot of the time it is caused by one (or more) of the ‘lower’ RAM chips (type 4116 or equivalent) failing. This is the memory between 16k and 32k.
As BASIC uses this RAM extensively for its own internal operation, a failure of this section of RAM can cause all sorts of strange symptoms.
So the best method of running diagnostic software is not to use any of the RAM until it has been tested. Hence all the good diagnostic software runs from ROM and therefore does not need any working RAM to perform a RAM test. There are many ways of running diagnostic software in ROM. Using an external interface which includes a ROM chip, cartridge slot (with suitable cartridge) or an interface that has modern EEPROM or flash ROM is the easiest method. There is also a design for a special diagnostic board. Alternatively it is possible to program (burn) a custom EPROM/EEPROM and if your ZX Spectrum has the BASIC ROM in a socket, put the ‘test’ EPROM/EEPROM in the socket.
However, here are some test programs that can be loaded into RAM and run...
PLEASE NOTE that I have not tested most of these myself, so can’t help with usage.
ZX Spectrum test programs
https://www.worldofspectrum.org/infosee ... id=0008884
https://www.worldofspectrum.org/infosee ... id=0022292
ZX Spectrum memory test
https://www.worldofspectrum.org/infosee ... id=0008674
https://www.worldofspectrum.org/infosee ... id=0023040
https://www.worldofspectrum.org/infosee ... id=0023074
ZX Spectrum loading test
https://www.worldofspectrum.org/infosee ... id=0011138
Mark
As BASIC uses this RAM extensively for its own internal operation, a failure of this section of RAM can cause all sorts of strange symptoms.
So the best method of running diagnostic software is not to use any of the RAM until it has been tested. Hence all the good diagnostic software runs from ROM and therefore does not need any working RAM to perform a RAM test. There are many ways of running diagnostic software in ROM. Using an external interface which includes a ROM chip, cartridge slot (with suitable cartridge) or an interface that has modern EEPROM or flash ROM is the easiest method. There is also a design for a special diagnostic board. Alternatively it is possible to program (burn) a custom EPROM/EEPROM and if your ZX Spectrum has the BASIC ROM in a socket, put the ‘test’ EPROM/EEPROM in the socket.
However, here are some test programs that can be loaded into RAM and run...
PLEASE NOTE that I have not tested most of these myself, so can’t help with usage.
ZX Spectrum test programs
https://www.worldofspectrum.org/infosee ... id=0008884
https://www.worldofspectrum.org/infosee ... id=0022292
ZX Spectrum memory test
https://www.worldofspectrum.org/infosee ... id=0008674
https://www.worldofspectrum.org/infosee ... id=0023040
https://www.worldofspectrum.org/infosee ... id=0023074
ZX Spectrum loading test
https://www.worldofspectrum.org/infosee ... id=0011138
Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.
Re: ZX Spectrums problems : diagnostic software ?
Thank you very much for these links, I will try them, but as you said, I understand now that it's better to run the test from external ROM.
I own a "DIVMMC Pro" which is running ESXDOS, I was wondering if it was possible to run a diagnostic software from the DIVMMC itself (via ESXDOS or any other solution), does anyone know ?
Here is a video on youtube but the guy did not give any clear explanations on how he did run the test its DIVMMC :
https://www.youtube.com/watch?v=wiPi8fVeYN8
The mantioned Velesoft website does not talk about this diagnostic test.
I own a "DIVMMC Pro" which is running ESXDOS, I was wondering if it was possible to run a diagnostic software from the DIVMMC itself (via ESXDOS or any other solution), does anyone know ?
Here is a video on youtube but the guy did not give any clear explanations on how he did run the test its DIVMMC :
https://www.youtube.com/watch?v=wiPi8fVeYN8
The mantioned Velesoft website does not talk about this diagnostic test.
Re: ZX Spectrums problems : diagnostic software ?
Finally, a program found here worked :
https://www.planetemu.net/rom/sinclair- ... est-3-19xx
The first time I started it, I started the RAM test, and I had this message :
This Spectrum has faulty memory
Location 7F70
With 00 entered, reads - 00
With FF entered, reads - FF
Then I tried to restart the RAM test, but it is now always failing, I have been lucky that it worked once ...
Now I have to figure out where this RAM is physically on the motherboard.
Does anyone know how can I physically locate the faulty RAM, knowing that the utility says it is the location "7F70" ?
EDIT : I restarted the test several times, and the faulty location now changed to 7EF8 ...
Does anyone know how can I physically locate the faulty RAM, knowing that the utility says it is the location "7F70" or "7EF8" ?
I need to find a memory map which would link the RAM address with the physical location on the motherboard.
https://www.planetemu.net/rom/sinclair- ... est-3-19xx
The first time I started it, I started the RAM test, and I had this message :
This Spectrum has faulty memory
Location 7F70
With 00 entered, reads - 00
With FF entered, reads - FF
Then I tried to restart the RAM test, but it is now always failing, I have been lucky that it worked once ...
Now I have to figure out where this RAM is physically on the motherboard.
Does anyone know how can I physically locate the faulty RAM, knowing that the utility says it is the location "7F70" ?
EDIT : I restarted the test several times, and the faulty location now changed to 7EF8 ...
Does anyone know how can I physically locate the faulty RAM, knowing that the utility says it is the location "7F70" or "7EF8" ?
I need to find a memory map which would link the RAM address with the physical location on the motherboard.
- 1024MAK
- Posts: 5104
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
Re: ZX Spectrums problems : diagnostic software ?
The RAM is a type known as DRAM - meaning Dynamic RAM. In the 1980s when the ZX Spectrum was designed, this was only widely available in chips that could only store only one bit wide data. So to store one 8 bit byte, you need EIGHT chips. Each chip stores one bit from the 8 bit wide CPU data bus.
In the ZX Spectrum (16K and 48K machines) the memory map is as follows: Hence a 48K ZX Spectrum has sixteen DRAM chips.
So just an address only tells you if it is the ‘lower’ RAM or the ‘upper’ RAM. What you need to know, is which bits in the byte are failing (if it is a DRAM chip or chips) that are actually failing. The addresses that you quoted are both in the ‘lower’ RAM area. This would be why the ZX Spectrum is so unstable.
Note that there are other failures that ‘look like’ RAM failure, but are actually may be other problems.
Do you know how to program in BASIC?
The ‘lower’ (4116) DRAM chips are on the front left hand edge of the board (for 16K and 48K machines) as viewed with the rear connectors furthest from you.
Mark
In the ZX Spectrum (16K and 48K machines) the memory map is as follows: Hence a 48K ZX Spectrum has sixteen DRAM chips.
So just an address only tells you if it is the ‘lower’ RAM or the ‘upper’ RAM. What you need to know, is which bits in the byte are failing (if it is a DRAM chip or chips) that are actually failing. The addresses that you quoted are both in the ‘lower’ RAM area. This would be why the ZX Spectrum is so unstable.
Note that there are other failures that ‘look like’ RAM failure, but are actually may be other problems.
Do you know how to program in BASIC?
The ‘lower’ (4116) DRAM chips are on the front left hand edge of the board (for 16K and 48K machines) as viewed with the rear connectors furthest from you.
Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.
Re: ZX Spectrums problems : diagnostic software ?
Thanks a lot for your answer Mark. In fact another ram test with my tool gave me another address : 5F18.
So still in the lower RAM. This is confirmed by the fact that if I remove all the upper RAM chips (they are socketed), my Spectrum still has the same issue (random bugs on screen, sometimes crashes when playing or loading games).
I tried both guides to try to locate the defective RAM :
http://www.worldofspectrum.org/SpectrumRepairGuide/
https://www.projectavr.com/diagnosing-4 ... am-faults/ (this tuto seems to have errors in it ...)
But none of these tests are failing, the values returned by the POKEs are the expected ones.
Only the Sinclair test tool (from 1985) says I have defective RAM, and it always do, the only thing is that the defective address changes from time to time.
To what I understand, we cannot locate the RAM chip just by one address.
So I am stuck now, out of idea ...
I know how to program in BASIC, do you have some other tests for me ?
EDIT : I finally could run the ZX-diagnostics tests using "ownrom" but the result is the same : I have a message saying that I have a failing ram, and it display "1 345" or "01234567", so I can't say which one ... I think my only chance now is to order hardware diagnotic card ... But I need one which will tell me which RAM to replace, does anyone know a good diagnostic card which would tell me where exactly is located my faulty RAM ?
So still in the lower RAM. This is confirmed by the fact that if I remove all the upper RAM chips (they are socketed), my Spectrum still has the same issue (random bugs on screen, sometimes crashes when playing or loading games).
I tried both guides to try to locate the defective RAM :
http://www.worldofspectrum.org/SpectrumRepairGuide/
https://www.projectavr.com/diagnosing-4 ... am-faults/ (this tuto seems to have errors in it ...)
But none of these tests are failing, the values returned by the POKEs are the expected ones.
Only the Sinclair test tool (from 1985) says I have defective RAM, and it always do, the only thing is that the defective address changes from time to time.
To what I understand, we cannot locate the RAM chip just by one address.
So I am stuck now, out of idea ...
I know how to program in BASIC, do you have some other tests for me ?
EDIT : I finally could run the ZX-diagnostics tests using "ownrom" but the result is the same : I have a message saying that I have a failing ram, and it display "1 345" or "01234567", so I can't say which one ... I think my only chance now is to order hardware diagnotic card ... But I need one which will tell me which RAM to replace, does anyone know a good diagnostic card which would tell me where exactly is located my faulty RAM ?
- 1024MAK
- Posts: 5104
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
Re: ZX Spectrums problems : diagnostic software ?
So just to see how much RAM the BASIC system thinks it has, type this in:
PRINT PEEK 23732 + PEEK 23733 * 256
If you have all the RAM chips fitted, it should return 65535
If the ‘upper’ RAM is not fitted, e.g. it is running as a 16k machine, it should return 32767
If the machine is stable enough to type either of these in, give them a whirl:
Mark
PRINT PEEK 23732 + PEEK 23733 * 256
If you have all the RAM chips fitted, it should return 65535
If the ‘upper’ RAM is not fitted, e.g. it is running as a 16k machine, it should return 32767
If the machine is stable enough to type either of these in, give them a whirl:
Code: Select all
48K ZX Spectrum quick ‘n simple RAM test
1 CLEAR 24999
2 FOR a=25000 TO 65535 STEP 250
3 PRINT AT 0,0;a: POKE a,0: LET d=PEEK a: IF d<>0 THEN GO SUB 8
4 POKE a,255: LET d=PEEK a: IF d<>255 THEN GO SUB 8
5 NEXT a
6 PRINT “done”: STOP
8 PRINT “error at “;a;” “;d
9 RETURN
Code: Select all
16K ZX Spectrum quick ‘n simple RAM test
1 CLEAR 24999
2 FOR a=25000 TO 32767 STEP 250
3 PRINT AT 0,0;a: POKE a,0: LET d=PEEK a: IF d<>0 THEN GO SUB 8
4 POKE a,255: LET d=PEEK a: IF d<>255 THEN GO SUB 8
5 NEXT a
6 PRINT “done”: STOP
8 PRINT “error at “;a;” “;d
9 RETURN
Code: Select all
Lower RAM test, test one address only looking for a bit error
1 CLEAR 24999
2 LET a=25001
3 PRINT AT 0,0;a: POKE a,0: LET d=PEEK a: IF d<>0 THEN GO SUB 8
4 POKE a,255: LET d=PEEK a: IF d<>255 THEN GO SUB 8
5 GOTO 3
8 PRINT “error at “;a;” “;d
9 RETURN
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.