Hi all.
I wanted to pitch in at this stage and (hopefully) clear up how SRAM/NVRAM works as it may help the OP with the reported problem. Disclaimer: I’m basing this on how WPC works as I don’t have schematics for System 11. If someone would be good enough to let me see the System 11 schematics, I’d be happy to decipher them and try to explain what is going on in this case.
A standard CPU board is fitted with Static RAM (SRAM). An earlier post suggests this is a 2K x 8 SRAM. This means that it has the capacity to store 2000 bytes (a byte being 8 bits – shown as D0-D7 on the schematics).
The SRAM is used to store information written to it by the CPU during game operation and configuration. This may include high scores, system settings, date/time settings etc. To ensure this information is retained when the machine is powered off, the SRAM is kept alive using power sourced from batteries (VBatt on the schematics). When the machine is powered back on again, VBatt is replaced by power derived from the big transformer in the belly of the pinball machine – known as Vcc (5V). Note that the electronics is designed in a way that ensures the RAM is supplied by VBatt OR Vcc – not both at the same time. This is achieved using diodes (think of them as one-way valves for the power). This ensures that the batteries don’t receive any power from Vcc when the machine is powered on, and the batteries don’t attempt to power all the machine electronics when the mains power is off.
- When the mains power is off, VBatt powers the SRAM through a diode (lets call it diode 1) – whilst another diode (diode 2 - fitted in the ‘other direction’) prevents the power from VBatt making it to the rest of the electronics in the machine (which would flatten the batteries very quickly).
- When the mains power is on, Vcc powers the SRAM through diode 2, whilst diode 1 prevents this power making it to the batteries (standard alkaline batteries are not designed to be charged from an external source).
The net result is that the SRAM is always powered on. It always has 5V connected to it – whether that be derived from VBatt or Vcc. That way, it always retains the information that the CPU wrote to it – until you power off the machine AND remove the batteries.
Some people choose to replace the SRAM with NVRAM (NV = Non-Volatile). NVRAM works in the same way as SRAM in that it just stores data written to it by the CPU. The main difference is that NVRAM retains the data written to it even when power is removed. This means that you don’t need VBatt to keep the stored data alive when you turn off the machine. As such, the batteries can be removed (they can be left in place if required – they won’t do any harm).
To summarise: -
- SRAM needs power at all times (from VBatt or Vcc) or it will lose its stored data.
- NVRAM only needs power when something is trying to write data to it or read data from it (from Vcc).
The only problem with replacing SRAM with NVRAM is the system clock. Many pinball machines (including WPC based systems) have a real time clock circuit (RTC). This is contained within the ASIC on a WPC board and is clocked with a 32KHz signal (from a 32.768KHz crystal). The circuitry for this RTC is powered by VBatt (it’s only a crystal and an inverter chip so it takes very little power.
The time/date used by the RTC is stored in RAM.
- If you use SRAM (with VBatt and Vcc power supplies), the time/date is always retained as the RTC circuit and SRAM are never powered down.
- If you use NVRAM (with VBatt and Vcc power supplies), the date/time is again retained as the RTC circuit and SRAM are never powered down.
- If you use NVRAM with Vcc power supply only (i.e. batteries removed), the date/time will stop counting when the machine is powered down as the 32KHz clock will stop running.
- In the above NVRAM cases, the other data (system settings, configuration etc) are always retained – even after turning off the power.
Hopefully, I’ve explained the differences between SRAM and NVRAM well enough. Just to add my 2 cents on the subject, I’m currently redesigning the electronics in my WPC machine with 21st century technology. I had the option of fitting NVRAM but I’ve chosen to use SRAM and batteries as it is nice and easy – and ensures that RTC information is retained even when the machine is powered down.
Let’s assume you still want to fit NVRAM (or a new SRAM) and are concerned about which parts to fit. The short story is that you can fit pretty much what you like – but it will require soldering skills and an understanding of how RAM is addressed.
If we assume we have a 2K RAM, we will need 11 address bits to be able to access all the RAM locations. These can be found on schematics as A0-10 (we always count from 0 in electronics). If you raise 2 to the power of 11, you get 2048 – or 2K.
Using this model, you can see that extra address bits/lines means we can address/store more data – 12 address bits gives us 4096 bytes, 13 gives us 8192 bytes. You can see that this means 64 bit PCs can address a staggering amount of memory.
Note that it is increasingly difficult to obtain small RAM chips nowadays. You can fit larger RAM chips (SRAM or NVRAM) as long as you can connect the address pins/lines on the new chip to the CPU board. All you need to do is ensure that the address lines, data lines, write enable (WE), output enable (OE) and chip enable (CE) lines match and you should be fine – the system will read data back from the locations it left the data in. The only thing you really need to do is make sure the access speed of the replacement RAM is at least as fast as the original SRAM. Back in the day, SRAM speeds were in the order or 70 something nanoseconds (70ns) which is pretty slow by today’s standards. I would expect and modern RAM to be faster than this – but it is worth checking.
Looking at the original post, the reported problem is that the previous scores have been lost and the system restored to factory defaults after being powered off. Being honest, I’m unsure as to why the system would remember the player initials but not the score if the problem was related to SRAM or NVRAM.
BTW, I’m also concerned that the OP reports that nearly every transistor in the switch matrix column drivers has failed – this suggests a deeper, perhaps more generalised problem (e.g., power supplies?).
Again, if someone could let me look at the schematics, I can work out the differences between WPC and system 11 and have a better guess at what might be causing the problem.