ZX81XRAM - external 32k memory module +HRG

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
Post Reply
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

ZX81XRAM - external 32k memory module +HRG

Post by PokeMon »

Some people saw it already at Mahlerts and here it is. I developed an external memory kit 32k RAM, HRG compatible which is available now for sale.

These are the features of the RAM:
* add-on module for Sinclair ZX81 via ZX81 bus/slot connector (don't need to open/solder your ZX81)
* 32k RAM from address $4000-$BFFF (ROM shadow disabled in $8000-$BFFF)
* automatic memory detection on startup / after reset (no POKE necessary)
* HRG compatible (RAM is enabled during refresh if addressed)
* up to full 32k BASIC
* machine code can be used in first 16k, combination of 16k machine code + 16k BASIC
* no rom pack wobble
* module only 70x55 mm (2,75x2,15 inches) and fits into original Sinclair/Timex 16k memory case "1016" (*)

(*) for putting it into the original case a small modification is necessary as shown below in another posting

This memory module offers more memory than the 16k memory blocks known from Sinclair. Anyway these modules are often faulty due to it's construction with 2 additional voltages (+12V, -5V) created with a simple inductor circuit. If they are not faulty there is a big chance of crashing programs on the ZX81 from time to time, also known as ram pack wobble.

The contents of this old 16k memory blocks can be simply replaced with this module by removing the old board and inserting this module. There is only a small jut which need to be removed with a mini drill set and a cutting disc (see next page). This module can be used for full 32k BASIC programs as well as for up to 16k machine code plus 16k BASIC. The machine code has to be placed into the lower part of memory ($4000-$7FFF) in some REM lines because it can not be executed after boundary of $8000 as this is used for generating video display. The upper part from $8000-$BFFF can be fully used for BASIC or for storing data.

Here are pictures of that module:
IMG_5975k.JPG
IMG_5975k.JPG (181.13 KiB) Viewed 6803 times
IMG_5955k.JPG
IMG_5955k.JPG (152.02 KiB) Viewed 6803 times
IMG_5960k.jpg
IMG_5960k.jpg (71.75 KiB) Viewed 6803 times
This module can be used for ZX80 as well (but only 16k RAM available). 8-)
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX81XRAM - external 32k memory module +HRG

Post by PokeMon »

For using the original case of Sinclair you need to modify the case with a mini drill set and a cutting disc as you see on the picture. A small jut has to be removed to fit the board into this case:
IMG_5949k.gif
IMG_5949k.gif (96.14 KiB) Viewed 6801 times
First open the case by removing the screws and remove its contents (the board shown on the left part of picture). Then remove the jut on the upper part of the case in the lower corner beside the connector neckline.
IMG_5961k.jpg
IMG_5961k.jpg (73.22 KiB) Viewed 6801 times
After removal the board will fit into the case and can be closed again with the screws. It will look like the original Sinclair memory module with the additional features.
IMG_5962k.jpg
IMG_5962k.jpg (76.45 KiB) Viewed 6801 times
Finished. ;)
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX81XRAM - external 32k memory module +HRG

Post by PokeMon »

Some technical information about ZX81XRAM:

Schematic:
ZX81XRAM_sch2.zip
(28.62 KiB) Downloaded 407 times
The RAM is enabled with A14 or A15 high (from $4000-$FFFF) and the ROM is disabled when A15 is high (shadow copy from $8000-$BFFF disabled). The RAM area $4000-$7FFF is shadowed at $C000-$FFFF. The RAM is enabled during all MREQ access as well as during REFRESH, so the RAM is enabled during HIRES graphic display as well and should work with nearly all known HIRES solutions. The automatic detection is done with disable ROM at address $0004 which causes the BC register to load with $FFFF due to pull up resistors instead of RAM test starting from $7FFF.

It is now available at sellmyretro.com:
http://www.sellmyretro.com/user/profile/PokeMon
User avatar
zsolt
Posts: 214
Joined: Wed Apr 20, 2011 11:43 am
Location: Fót, Hungary

Re: ZX81XRAM - external 32k memory module +HRG

Post by zsolt »

PokeMon wrote:...The automatic detection is done with disable ROM at address $0004 which causes the BC register to load with $FFFF due to pull up resistors instead of RAM test starting from $7FFF.
Brilliant :o I really like it :D
ZX81 (8K), ENTERPRISE 128, [ZX SPECTRUM (48K,+,+128K,+2,+2A), TS1000, TS1500, TS2068, Cambridge Z88, PRIMO A64 (red)]
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: ZX81XRAM - external 32k memory module +HRG

Post by sirmorris »

Me too - very clever :D
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX81XRAM - external 32k memory module +HRG

Post by PokeMon »

Well today I had to made a small modification after test of several boards.

In the old schematic (and on the board of course) is a connection between IC2a pin 8 und IC2c pin 10.
Background was to activate RAM when ROM is deactivated. This was planned only when flipflip was
set during video execution to prevent display file overflow, but I thought could do this always when
ROM is deactivated. Well this was a mistake. It shouldn't be enabled during ROM disabling at startup
when reading address 4 and let the pullup resistors deliver $FF instead of $7F. Some RAM circuits work
anyway but some do no and deliver something other than $FF when RAM is not initialized.

The changed schematic here:
ZX81XRAM_sch2.zip
(33.26 KiB) Downloaded 373 times

So the connection between pin 8 and 10 of IC2 has to be cutted and an additional pulldown resistor (R6, 1k)
has to be soldered between pin 8 and 7 (GND) of IC2. I added this part to the parts list and do cut this
connection before delivering the boards. The resistor can be soldered on the component side ordinary,
see the picture (right side of IC2).

Sorry for this change, thought it works without as well but some RAMs do - some not.
So this should be a general change.
IMG_5979k.JPG
IMG_5979k.JPG (187.68 KiB) Viewed 6746 times
zx81user
Posts: 54
Joined: Mon Mar 25, 2013 3:14 am

Re: ZX81XRAM - external 32k memory module +HRG

Post by zx81user »

PokeMon wrote:It shouldn't be enabled during ROM disabling at startup when reading address 4 and let the pullup resistors deliver $FF instead of $7F.
That is a tricky one indeed!

Michel
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZX81XRAM - external 32k memory module +HRG

Post by PokeMon »

There are now versions available mounted ready to use in a case with reset button:

Image

See more pics here:
viewtopic.php?f=8&t=1130


And last but not least:

The ZX81XRAM module has been tested with the ZX80 as well and can be used with one restriction without modifications:
The ZX80 supports only 16k of RAM, in address range $4000-$7FFF.
The RAM is also enabled during refresh phase and so called "HRG compatible".

You can find all items here:
http://www.sellmyretro.com/user/profile/PokeMon
hans61
Posts: 1
Joined: Tue Apr 05, 2022 9:32 pm

Re: ZX81XRAM - external 32k memory module +HRG

Post by hans61 »

I own a ZX81 and would be interested in expanding the memory. Is there another ZX81XRAM PCB to buy or can I get Gerber Files somewhere?
I can also replicate it, but I have a question about the schematic. The published one has pin 9 open on IC3C, which doesn't make sense to me.
Post Reply