Re: Gateway Drug
I added an external keyboard using a Tandy membrane keyboard, suitably modified by scraping tracks and repainting with conductive paint. This was attached by a ribbon cable long enough that ZX81 and rampack was some distance from the keyboard. Never had a wobbly rampack crash after that.
I also added a 7400 TTL on a small board in the Sinclair rampack to re-map the 1K of static memory to a usable memory address (which I used for small machine code assists to basic), and also added another 1K of static memory under the keyboard, attached to the ULA side of the bus isolation resistors. This allowed me to change the I register, which was used to hold the base address of the character generator table to point at an address in this RAM. This gave me a fully programmable character set! So my ZX81 was probably the only one with 18K of RAM!
I also had a sound board from QuickSilver which provided 4 channel (3+white noise) sound using an AY-8910 sound generator added to the video signal using an external modulator. QuickSilver also produced a point addressable graphics board, but I think that worked by doing a similar trick to mine with the RAM, and writing all the characters out to the screen, and manipulating the pixels in each character cell. I believe that it came with some M/C routines in an additional ROM that allowed basic line draw commands.
I had great fun getting it to produce harmonized music while drawing it on the screen at the same time. The only problem was that in 'slow' mode, the Basic was just a bit too slow to make it seamless.
Although it looked a bit Heath-Robinson, it drew some interest in the computer club of which I was a member.