The Sinclair ZX80 was the most popular personal computer in Britain at the beginning of the 1980s, due to its low price which was enabled by extreme minimalism; it consisted of not much more than a Z80 CPU and a kilobyte of static RAM, with an edge connector to which RAM expansion could be connected; according to https://en.wikipedia.org/wiki/ZX80#rampack

Other than the built-in cassette and video ports, the only provided means of expansion was a slot opening at the rear of the case, which exposed an expansion bus edge connector on the motherboard. The same slot bus was continued on the ZX81, and later the ZX Spectrum, which encouraged a small cottage industry of expansion devices, including memory packs, printers and even floppy drives. The original Sinclair ZX80 RAM Pack held either 1, 2 or 3 KB of static RAM[9] and a later model held 16 KB of dynamic RAM (DRAM).[10]

But as I understand it, the then current 16kbit RAM chips actually required three different voltages: -5, +5, +12. And I don't see those in the pinout of the expansion connector: http://projectspeccy.com/documents/Edge_Connector_Diagram_ZX80.pdf

So how did the machine supply the necessary voltages to use dynamic RAM?

  • 1
    A comment since it's partly speculation rather than something I know for certain: The ZX80 and ZX81's edge connectors are more or less identical, and the ZX81's 16K RAM pack contains a DC-DC converter circuit to generate -5V from the +9V supply on the edge connector: retroisle.com/sinclair/zx81/Technical/Hardware/… - look at the analogue circuitry in the bottom-right. It seems likely that the ZX80 RAM pack would have the same or similar design.
    – pndc
    Dec 28 '19 at 11:32

But as I understand it, the then current 16kbit RAM chips actually required three different voltages: -5, +5, +12.

Right, and the 'missing' voltages (-5V,+12V) get generated from the +9V source via a discrete DC-DC converter - that's all the little pieces on the second board.

The difference between the RAM-Packs for ZX80/81 is all in the colour :) In fact, for a short time, the new (black) packs were delivered using the old boxes.

ZX80 and ZX81 are basically the same machine, their board connector only differ in pin 23, not connected on the ZX80, but /ROMCS on a ZX81. This was done to simpify ROM updates.

As the schematic shows the RAM-Pack doesn't use /ROMCS in any way.

ZX RAM-Pack Schematics

All it uses are data lines, address lines (to be multiplexed) and associated control signals. For power supply the +9V supplied on lower side (B) pin 9 get turned into minus 5 Volt and plus 12 Volt, as shown in the lower right corner - the +12V tap is a bit hard to find as it's hidden within, below the leftmost 22 uF capacitor.

  • I'm a bit surprised that there is a refresh counter on this board, given that the Z80 itself issues refresh cycles. What is the reason for the counter? Dec 28 '19 at 20:42
  • 1
    @AndreasKrey ZX80/81 video uses the refresh counter to count characters within a line, thus it's not running thru all needed values. As a result, the DRAM did need it's own refresh counter. After all, the /RFSH signal can still used to control the cycle.
    – Raffzahn
    Dec 28 '19 at 22:00
  • 1
    @Tommy already wrote some information in another answer - including good links to details about how ZX80/81 video works. Maybe open a related question, so he can add details missing.
    – Raffzahn
    Dec 28 '19 at 22:24
  • 1
    I think that you may intend that the pack doesn't care about /ROMCS ("doesn't care for" means that it would have problems if the line is asserted). Dec 28 '19 at 22:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.