The ZX81 like it's predecessor the ZX80 came with only 1KB of memory as standard primarily because memory was very expensive at the time and the prices were very volatile mainly due to the ongoing 'war' between Far East(mainly Japanese) and USA suppliers. So i guess it made sense to put in the minimum amount of memory to make a basic usable unit, to keep costs down and then allow users to add what they wanted to. The RAM packs were quite difficult to get for the first 6 months or so after it was announced and i was lucky to stumble across some stock although i was not looking for one at the time.
This is the ZX81 16KB RAM pack in its original packaging. It was very difficult to get in the early days after its release. There were long waiting lists if you ordered it via mail order which for Sinclair products was common at that time.
Sinclair started selling the ZX81 on the High Street via 'W H Smith'. I happened to be in the Princes Steet, Edinburgh branch and they had some in stock so although i was an impoverished student at the time i pounced and took the plunge. It cost £29.99 at the time which was a lot of money especially as it was getting close to the end of the University term and funds were running low.
This photograph shows the ZX81 RAM pack in half of its packaging. It was a fairly sturdy case but my unit came with two rather ugly slotted head screws securing the case. I think they must have run out of cross head screws the day they made mine because i have never seen another unit assembled this way. Let me know if you also have one like this.....
This shows the very simple, utilitarian finish of the memory pack. It was easy to install and i never suffered any of the 'wobbly RAM pack' problems that other people complained bitterly about. The ugly slotted head screws are more clearly visible in this picture.
The RAM pack came with a single sheet of instructions on how to use it and what to avoid doing with it!
The instructions also had a small machine code program that could be used to verify how much memory your ZX81 had. If you had the RAM pack installed the answer should be 16KB!
The program consisted of a series of BASIC 'POKES' to memory locations to write data values that were in fact the Z80 instruction codes. The last line of the program uses a BASIC 'USR' command to tell the system to run the program starting at the first 'POKE' address and a BASIC 'PRINT' to display the result to the user.