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:
This module can be used for ZX80 as well (but only 16k RAM available).
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.
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.
Schematic: 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:
Brilliant I really like itPokeMon 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.
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:
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.
See more pics here:
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: