ZX80 2114 RAM test?

Discussions about Sinclair ZX80 and ZX81 Hardware
Post Reply
zeddex
Posts: 14
Joined: Fri Jun 02, 2017 6:41 pm

ZX80 2114 RAM test?

Post by zeddex »

Does a ZX80 booting up to BASIC prove the RAM is OK?

The reason I ask is because I have a selection of 2114 RAM chips and would like to sort them into "good" and "bin"... there does not appear to be many (cheap, or off the shelf) ways of testing this RAM

Obviously if it fails to boot at all, I can deduce it's bad, but wasn't sure how conclusive this test is
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZX80 2114 RAM test?

Post by 1024MAK »

I've not looked at the ZX80 ROM code, but keep in mind that the ZX81 nor the ZX Spectrum have proper RAM tests. The object of the ROM tests in these later machines is simply to try to work out how much RAM is present.

Having said that, with both the ZX80 and ZX81, because the CPU is part of the video display system, almost any failure of the RAM cells used will crash the CPU causing either a black screen or a white screen.

So if the ZX80 or ZX81 runs with the suspect RAM, and you can enter and run a BASIC program, it very likely that that RAM chip is okay. To confirm, maybe load and play a 1k game ;)

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.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX80 2114 RAM test?

Post by PokeMon »

Yes it does have a very simple RAM test (which is not reliable for possibly bit errors in RAM) - otherwise it couldn't detect if a RAM pack was installed or not. ;)

Code: Select all

; ----------------------------
; THE 'INITIALIZATION' ROUTINE
; ----------------------------
; A holds $3F, HL holds $7FFF.

;; RAM-FILL
L0261:  LD      (HL),$01        ; fill location with 1 (null).
        DEC     HL              ; decrement address.
        CP      H               ; compare address high byte to $3F.
        JR      NZ,L0261        ; back, while higher, to RAM-FILL.

;; RAM-READ
L0267:  INC     HL              ; address the next higher location.
        DEC     (HL)            ; decrement to zero.
        JR      Z,L0267         ; back, if successful to RAM-READ.

; else we have encountered first unpopulated RAM location.

MaFli
Posts: 75
Joined: Mon May 08, 2017 5:14 pm

Re: ZX80 2114 RAM test?

Post by MaFli »

I could use a useful program as well. I have over 40 2114 from different brands and the only thing I can do now is stick 'm in my DIY RAM pack and type in the following:

10 POKE 16896,33
20 POKE 16897,0
30 POKE 16898,0
40 POKE 16899,57
50 POKE 16900,201
60 PRINT USR(16896)-16384+12

But that basically just adds the value of the SP to HL (which is initialised to 0x00). So it returns 4096 for a fully populated RAM pack. Doesn't tell if there are any errors though...

*EDIT*

Just read the initialisation code and it should give you at least a rough idea if a 2114 is working. Unless there are bits that are stuck to a '0'.
MaFli
Posts: 75
Joined: Mon May 08, 2017 5:14 pm

Re: ZX80 2114 RAM test?

Post by MaFli »

I just received another batch of 2114 chips. Too many to stick into a RAM pack and test them in sets of six and then figuring out which one failed. Thinking of using an arduino and a bread board to make a small test jig.
And then write a sketch that uses different patterns to test the device. Shouldn't be too difficult. Will share it when I'm done.
zeddex
Posts: 14
Joined: Fri Jun 02, 2017 6:41 pm

Re: ZX80 2114 RAM test?

Post by zeddex »

MaFli wrote: Mon Jun 19, 2017 10:39 pm I just received another batch of 2114 chips. Too many to stick into a RAM pack and test them in sets of six and then figuring out which one failed. Thinking of using an arduino and a bread board to make a small test jig.
And then write a sketch that uses different patterns to test the device. Shouldn't be too difficult. Will share it when I'm done.
Sounds very promising! Wish I knew how to make such things 8-)
User avatar
1024MAK
Posts: 5101
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZX80 2114 RAM test?

Post by 1024MAK »

I'm currently (slowly) working on a RAM tester using a PIC micro-controller.
The original idea was just to test 4116 DRAM and 4164 DRAM chips. But a while ago I decided that I would expand it to include three other DRAM chips and now I am going to include 2114 SRAM chips.

The plan is to use a zero insertion force (ZIF) sockets, if I can find suitable ones.

There is no plan to include large capacity SRAM chips (32k and above), as some EPROM programmers can already test those apparently.

However, don't let me stop you. My project will take rather a long time to get to the prototype stage at the current speed of development.

Good luck ;) :D

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.
MaFli
Posts: 75
Joined: Mon May 08, 2017 5:14 pm

Re: ZX80 2114 RAM test?

Post by MaFli »

zeddex wrote: Tue Jun 20, 2017 11:18 pm Sounds very promising! Wish I knew how to make such things 8-)
If you can code for a ZX80/1, programming an Arduino is a breeze! Especially if it needs to be done quick and dirty 8-)
1024MAK wrote: Wed Jun 21, 2017 12:45 am I'm currently (slowly) working on a RAM tester using a PIC micro-controller.
The original idea was just to test 4116 DRAM and 4164 DRAM chips. But a while ago I decided that I would expand it to include three other DRAM chips and now I am going to include 2114 SRAM chips.
The plan is to use a zero insertion force (ZIF) sockets, if I can find suitable ones.
There is no plan to include large capacity SRAM chips (32k and above), as some EPROM programmers can already test those apparently.
However, don't let me stop you. My project will take rather a long time to get to the prototype stage at the current speed of development.

Good luck ;) :D

Mark
Could use that! I've got two ZX Spectrums with broken lower RAM. 2114s only have a single power rail, so easy to test with an Arduino. The 4116 needs 12V and -5V :? So that takes a bit more effort... Found some el-cheapo ZIF sockets here btw:
https://www.hobbyelectronica.nl/product ... 0wod7akBSA
Post Reply