That ancient Memotech looks like a prototype. It even has its own power supply!
Units surveyed:ZX MEMORY PACKS: page 16
Stephen Adams tests the range of ZX-81
memory packs and tries to decide which is the
most useful and which represents the best
value for money.
* JRS Software 16K RAM Pack
* Hilderbay [identical to the JRS unit]
* Audio Computers 32K RAM pack with 16K populated
* Audio Computers 32K RAM pack with 32K populated
* Audio Computers 128K
* Sinclair Research 16K RAM pack
* Memotech 48K RAM pack
* Ceedata 4K
* Quicksilva 4K
tldr; I put the CONCLUSIONS at the beginning
CONCLUSIONS
■ The two 4K static RAM packs from Quicksilva and Ceedata are 3.5in. by
2.5in. printed-circuit boards which use the 1K of internal RAM as part of
the unit. They are well made and extremely stable. Their memory capacity
cannot be augmented.
■ The 16K RAM packs from JRS and Hilderbay are supplied in neat black
boxes, 2in. by 3in. by 1.5in. They are as stable as the static RAM, but the
cost per K is lower.
■ The Sinclair is now much more expensive than the other two 16K RAM
packs and is not as neat. It also emits an annoying buzzing sound from its
3.5in. by 3.5in. by 2in. case.
■ The 32K RAM from Audio Computers is available in kit or ready-assembled
form, but requires an extra +12V power supply. It has a very good amount
of detail, but its edge connector detracts from any good qualities it might
have. The 128K RAM pack by the same company has problems as only 32K
can be used at one time.
■ The Memotech pack gives a full 48K of Basic memory — with certain
restrictions. It will be useful for large databases as long as precautions are
taken about overheating during long periods of use. There is also a 15 per-
cent educational discount available.
ZX-81 RAM PACKS SURVEY
Stephen Adams tests and compares a
clutch of seven of the main RAM packs on
the market for reliability, expandability
and value for money per kilobyte.
Only one of the review RAM packs was supplied without the 40-way edge connector needed to create the interface with the ZX-81 through its expansion port. These edge connectors are soldered directly on to the RAM's printed-circuit board. This means that the weight of the RAM pack and all its components pull the edge connector contacts away from the ZX-81. Also, when the keyboard is pressed at the edges, it tends to lift the back of the ZX-81 and the RAM pack with it. Both these instabilities can mean that laboriously entered problems are lost.
The manufacturers use several methods to overcome these defects. One is to add a foam rubber strip just above the RAM pack edge connector. This foam strip, which is about 0,25in. thick, stops the RAM pack wobbling by creating a wedge. With this method, the RAM pack does not move unless firmly struck on the keyboard — as a small child might.
Two manufacturers have employed this solution, JRS Software and Hilderbay. Their RAM packs arc identical, and are 2in. by 1.5in. including the edge connector.
The two 4K RAM packs — 3K of on-board RAM and the internal 1K of RAM — used tighter edge connectors and were the most stable of all. The edge connector on the Audio Computers 32K RAM pack made it extremely difficult to use. The only way I could find to keep it steady was to pull the top of the RAM pack forwards and bind it to the top of the ZX-81 with a 6in. piece of insulation tape. This meant that the edge connector was held tightly against the ZX-81's expansion port. It also meant that the RAM pack could not even be used just after switching on the power and was certainly the worst case I encountered.
The Sinclair Research 16K RAM pack has no foam strip on its case, but by attaching a piece of foam to the ZX-81 and the RAM pack with double-sided sticky tape, you can make it immovable. It also emits an annoying hiss, absent in other RAM packs. This must be due to its use of a small transformer to produce the required voltages.
The Memotech 48K RAM pack was attached to the ZX-81 by a small board, holding the edge connector and a ribbon-cable connector. The ribbon cable connects to a similar printed-circuit board arrangement to connect to the RAM pack. As these boards are virtually weightless, they place no strain on the ZX-81 expansion port. The ZX-81 sits on a well in front of the hump of this RAM pack and this eliminates the problem caused by the keyboard flexing. A sticky pad is provided to hold the ribbon cable in place.
The power for almost all these RAM packs is produced by the Sinclair power pack, via the edge connector +9V line and the internal + 5V regulator — the two exceptions are the Memotech and the Audio Computers RAM packs. Both these functioned satisfactorily, even when loaded with a motherboard and two extra boards.
The Memotech powers the ZX-81 separately from the RAM pack via a 3.5mm. plug on a 1ft. long cable which leaves the left-hand side of the hump. The hump contains two mains transformers fed from a filtered and fused supply. One transformer feeds the ZX-81, the other supplies the RAM pack with + 12V. The 9V line to the ZX-81 will also run the Sinclair printer without any trouble.
The Audio Computers 32K RAM pack was supposed to run with the Sinclair power pack; it does not, though I did not try the modification to the power pack suggested in which vou add 1.5m. of enamelled wire to a number of turns around the transformer. That should raise the voltage of the transformer to 11V. I do not think it should be attempted by anyone who is not building the RAM pack as a kit. Instead, I replaced the Sinclair power pack with a proper +12V unregulated supply which was home-made and which worked well enough after the RAM had been secured as explained.
It took, however, a good deal of pulling the power plug in and out to reset the RAM pack. A +12V power supply is available to power the RAM pack from Audio Computers, but unless you intend to install it in a case, the mains connections arc exposed which could be dangerous.
The +12V supply, if used to power the ZX-81, could cause the + 5V regulator to overheat. Therefore, the manufacturer provides a link so that an external power supply can run just the RAM pack.
Quicksilva, Memotcch and the Audio Computers arc the only ones to use sockets for the integrated circuits, which means that the boards can be easily checked and faulty components changed quickly.
All the dynamic memory chips used in the 16K, 32K and 48K packs are industry standard 4116s. These are 16K by one-bit chips and you need eight of them to give the eight-bit byte required by the ZX-81's Z-80A microprocessor. They also required a special signal called /REFSH given out by the ZX-81. This tells the RAM when to refresh its memory by reading from one bit and writing it back into the same location.
This must be done in a cycle, so that every memory is refreshed before the capacitors which hold the memory bits discharge. If this is not done, the memory bits are corrupted. This cycle is 2ms. long and 16K of addresses must be covered in this time. Therefore, if any interruption is made to this process, the data stored is corrupted.
The static RAM chips used on the 4K RAM boards are the standard 2114 chips used in some ZX-81s. They need no refresh signal since the bits are stored in a latch which holds them until the power is removed from the chip. Then the data is left scrambled. Only four bits arc stored for each memory location, so two chips are required for each 1Kbyte of data to be stored.
The main reason for using dynamic memory is that it can store 16K in just eight chips — static memory would need 32. Dynamic thus saves both power and space. The type of chip used on the Audio Computers 128K board is a new design which can store 64K by one bit. They take even less power than the 16K version.
The amount of memory which can be stored depends on the amount of space the micro-processor can address directly. Because the ZX-81 uses a Z-80A, which has 16 address lines, A0 to A15, the maximum amount of memory which can be addressed is 64 Kbytes. This is the maximum number when all address bits are binary 1.
To decode these address lines correctly, the logic circuitry between the address lines and the actual memory chips must operate the memory chips only when the correct address appears on all 16 address lines. Since the minimum 1K chip will handle the address lines A0 to A9 inside the chip, we need decode only the address lines A15 to A10 externally to operate the chip-select pin CS.
Sinclair Research, however, decided to reduce the amount of logic gates required to decode this memory by dividing the memory map into four sections. This meant that each could be decoded by using only the address lines A15 and A14. This is why the maximum RAM available according to Sinclair was 16K -- 64K/4=16K.
All the RAM was supposed to be turned on only when A14 was binary 1; the ROM containing the Sinclair 8K Basic was turned on only when A14 was binary 0 and the display was turned on only when A15 was binary 1. This meant that the 1K internal memory was appearing 16 times in the 16K memory map as any address in that section operated the CS of the 1K chip.
When the 16K pack was introduced this had 16K of memory inside it, properly decoded into its correct 1K sections. So the internal 1K RAM is permanently disconnected by the 16K RAM pack so that it does not interfere. This is done by the /RAM_CS line on the expansion port.
This inexpensive method of decoding the RAM and ROM also leads to problems if you want to install more memory. For instance, the ROM not only appears at 0 to 8K on the memory map but also any time A14 is binary 0. Therefore, it appears at 8K to 16K, 32K to 40K, and 40K to 48K as well. The 16K of Sinclair RAM also appears at 48K to 64K and this is used to advantage in the programming of the ROM for the screen display.
That is, however, a disadvantage if you want to install more memory in this space as the 48K to 64K is necessary to display the screen and cannot be used. Help is at hand in the form of the /ROM_CS line on pin 23B of the expansion connector. By connecting this pin to binary at the correct time, the ROM can be turned off completely from the memory map and extra RAM inserted. This is one of the reasons that these packs for over 16K cannot be used on the ZX-80 8K ROM without internal modification. The ZX-80 has no /ROM_CS line on pin 23B as it was not used.
The ROM, when setting Basic, expects to see all the RAM starting at 16K on the memory map, so no extra Basic memory may be used below 16K. The normal 16K RAM pack is addressed then into the 16K to 32K part of the map. The Audio Computers 32K RAM pack extends the Basic memory to 48K of the memory map; the Memotech pack extends, by a cunning trick, to 64K on the memory map. As usual, there is a disadvantage with these larger memory packs.
Add-on requirements
The first 16K must contain any machine code to run from Basic. It must also contain the display file. Furthermore, since the display file sits on top of the program, the program and display file must not leave the lower 16K or the program crashes without warning.
Since the RAMtop is altered to show Basic that there is extra memory available, nothing can be stored above RAMtop. The extra 16K and 32K provided over and above the normal 16K must, therefore, be used only for storing variables and stacks. Yet machine-code routines could be transferred for running into the lower 16K from the variables section. This would have to overwrite a previous machine-code routine in order not to disrupt the Basic listing.
Certain add-on boards use the 32K to 48K region for ports, sound, new character set. So when buying one, remember that you cannot have two devices using the same memory location. The 128K RAM extension, using the new 64K chips, is divided up into 32K sections and only one can be used at a time. They are presented with manual switches which select the 32K section you want to use. The 32K section, after a manual switch, must be set up by using a reset button. This means that the memory has to be cleared of any program before use.
Audio Computers suggests using an input/output port to switch these sections or banks of memory.
The program to run this would have to be situated in the 8K space above the ROM because it must be immune from the switching of RAM banks. A special routine would have to be written in machine code to do the switching and cope with the transfer of variables between programs in different banks. It would be complicated to write and would require both hardware and software knowledge to write. Audio Computers is offering prizes for applications using the 128K. pack on the ZX-81.
We performed a soak test on all the units. This consisted of 12 hours continuous operation with a memory check program to detect any corruption of the bits in memory. The only one to be affected by this long running time was the Memotech 48K which overheated the ZX-81 and corrupted the data.
The ZX-81 sits on top of the Memotech and some of the heat from the RAM underneath rises, just where the regulator for the ZX-81 is housed. The regulator is already relatively hot and this just pushes the temperature to an unworkable level. If separated by an insulated material from the ZX-81, the problem does not occur.
Adequate instructions were included with all the RAM packs, most of them consisting of a Poke 16389,X where X is the size of memory available. A New then starts the ZX-81 testing and searching the RAM from this point, setting the RAMtop at the highest location found. The two kit instructions for the Memotech and Audio Computers were excellent, apart from Audio's lack of a circuit diagram, and the fact that the capacitor C1 is not mentioned anywhere except on the printed-circuit board.
[Image captions]Code: Select all
Company Capacity Price Quicksilva, 4K £18 95 Upper Brownhill Road, Southampton, Hampshire. Tel: 0703-771248 Memotech Ltd, 48K £148.35 assembled 103 Walton Street, £125.35 kit Oxford. 15 percent educational discount. Sinclair Research, 16K £52.90 Freepost 7, Cambridge CB? 1YY. Audio Computers, 32K - with 16K of RAM £37.95 87 Bournemouth Park Road. - with 32K of RAM £51.75 Southend. 128K £141.45 Tel: 0702-613081 Ceedata, 3K £16 Lead House, Amfield Close, West Molesey Trading Estate, East Molesey. Tel: 01-941 4889 Hilderbay Ltd., 16K £42 8-10 Parkway, Regents Park, London NW1 7AA. Tel: 01-465 1059 JRS Software, 16K £35 19 Wayside Avenue, Worthing, Sussex BN13 3JU. Tel: Worthing 65691 (evenings) All prices include postage and VAT.
Hilderbay used a foam strip to stop wobble.
A full 48K from the Memotech pack.
32K from Audio — kit or ready-built.
Quicksilva uses the 1K of internal RAM.
The extremely stable 4K pack from Ceedata.
■