Sideways RAM

By Derek Walker

Originally published in EUG #06

To answer the first question, "What is it?", is fairly simple. It's the same as Sideways ROM except that you can change its contents easily. That statement might not mean anything to you, so I shall attempt to explain (if it did PROCproject).

The two terms that require explanation are 'Sideways' and 'RAM'. Can I assume you all know what RAM is! If not PROCram. 'Sideways' is the term used to describe a programming/hardware technique that makes available more memory to the user than can be actually addressed, be it ROM or RAM (PROCrom). Accompanying this article is a picture of the memory map of the Electron, showing where the 'Sideways' ROM/RAM fits in. You will notice it is in the same place as BASIC.

The Electron has the capability to address (called paging - PROCpage) this area with many different addons, but only some, such as the Slogger Rombox+, Plus 2 and the Pres AP6 & AP4 can accept and use Static RAM chips. If you buy the right combination of addons you will be able to get the full fourteen 16K pages (Pages 8 & 9 can't be used as they are reserved for the keyboard). That was easy! Now what can the extra RAM be used for?

Good question. The answer is almost anything these days! Printer buffers, temporary store for data (e.g. Pres's AFM will use it while copying) or writing your own ROM software (what I mainly use it for). I have more ROMs than available sockets and inserting and removing them is a risky business so I save the ROMs as "ROM images" on disk and load them into Sideways RAM when they are required.

PROCproject. END.

DEFPROCram. RAM is an acronym for Random Access Memory. RAM comes in all shapes and sizes but what they all have in common is that data (What is data? PROCdata) can be stored and retrieved from any location within its own limits. The Electron has 32K of Dynamic RAM (What is Dynamic RAM? PROCdynamic) arranged in four 64K x 1bit blocks. This is one of the reasons why the Electron is slower than the BBC; it has to address the four blocks twice to get an eight bit word out of it. ENDPROC.

DEFPROCrom - ROM is an acronym for Read Only Memory. As the name suggests, once the device is programmed, it can only be read. It cannot be altered. Ideal of permanent storage of programs such as word-processors, spreadsheets, etc. not forgetting Operating Systems. (Other types of ROM are EPROM Erasable Programmable Read Only Memory, EEPROM Electrically Erasable Programmable Read Only Memory). ENDPROC.

DEFPROCdata - This is what computing is all about. Data is information, concepts, directives - which is processed, stored or produced by a computer. ENDPROC.

DEFPROCdynamic - Dynamic RAM is a memory device that requires a periodic refresh since the stored data tends to fade with time as opposed to Static RAM which retains its stored data as long as the power is supplied. ENDPROC.

DEFPROCpage - An area of memory between &8000 and &C000 which can be mapped to one of sixteen blocks of memory, called banks. ENDPROC.

DEFPROCproject - REM For Pres AP6 and Slogger PLUS 2 owners.

To get the best of both worlds, RAM and ROM, I now present a circuit which not only gives you 16K of Sideways RAM but also has the facility to disable the 'write' signal from the processor and is battery-backed, so that the RAM can behave exactly like a ROM.

Circuit Description

The circuit fits neatly onto a small circuit board which plugs into socket 6 and/or 15 of the Plus 6 or socket 15 of the Slogger Plus 2 (in this socket, with the links set accordingly, the module will give 2 x 16K banks). The circuit breaks down into two parts:

  1. the Battery Back up circuit, and
  2. the 'write protect' circuit.
  1. I have strayed from the IC manufacturer's recommendations of keeping Vcc and CS high during loss of external power, because I found that corruption of the memory can still occur. See diagram 1. Instead, I have gone for a belts and braces technique of pulling every pin on the IC high. To achieve this I have employed a simple transistor circuit in series with the ground line of IC1 and four SIL (single in line) resistor packages.

    Q1 will isolate IC1's ground line when the external power supply is removed with D2 preventing the battery from discharging through R3 and the transistors base/collector diode. The SIL resistors act as pull-ups to keep every pin at battery voltage. I have also kept the power on the OR gate (IC2) and pulled its inputs/output high. S1 has been added in case a ROM image locks up the Electron; switching it resets the module.
  2. The W/R signal from the ROM/RAM socket is intercepted and passed to one input of a two input OR gate (IC2). The output of this gate is fed to the W/R pin of IC1. The other input is switched (S2) between 'High' and 'Low'. When it is high the 'write' signal is inhibited, thus preventing the contents of IC1 being altered. Conversely, when the input is 'low', both 'read' and 'write' signals are passed and IC1 behaves as RAM. See truth table.

This low cost module can be purchased from myself.

Derek Walker, EUG #6