How to do internal RAM mod for 8-16K area ?

Discussions about Sinclair ZX80 and ZX81 Hardware
Post Reply
Bean
Posts: 73
Joined: Fri Aug 01, 2014 8:40 pm

How to do internal RAM mod for 8-16K area ?

Post by Bean »

I have the 62256 32K RAM chip and I have found schematics for 16-32K and 48-64K areas.
I would like to have RAM from 8K thru 32K so that the 8-16K area doesn't get erased when resetting. (I will do the battery backed option).
I believe the ROM repeats in the 8-16K area, so do I need to pull "ROM CS" high during access to 8-16K area ?
I was thinking I would use A13 NOR A14 and feed that to "RAM CS" then invert that and feed it to "ROM CS". Does that sound like it would work ?
Do I have to factor in A15 in any way ?

Thanks for any help you can provide,
Bean
User avatar
mrtinb
Posts: 1911
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: How to do internal RAM mod for 8-16K area ?

Post by mrtinb »

This circuit gives you 64k battery backuped memory.

The 8k ROM can be replaced with RAM with a switch.

https://web.archive.org/web/20210224003 ... mories.htm
Last edited by mrtinb on Tue Sep 12, 2023 9:30 pm, edited 1 time in total.
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: How to do internal RAM mod for 8-16K area ?

Post by 1024MAK »

Yes, to use the 8K to 16K area, your circuitry has to prevent the ROM from being activated. In an unexpanded ZX81/TS1000 there is actually no part of the memory map where there is no memory… This is because of incomplete address decoding.

The /ROMCS line has to be be taken logic high on the ROM side of resistor R28 to disable the ROM.

Have you read this topic?

Also, because of the way that the system gets the video data from RAM and the pixel data from ROM, you should also read this description of how it works.

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
User avatar
Paul
Posts: 1517
Joined: Thu May 27, 2010 8:15 am
Location: Germanys west end

Re: How to do internal RAM mod for 8-16K area ?

Post by Paul »

Bean wrote: Tue Sep 12, 2023 8:17 pm I would like to have RAM from 8K thru 32K so that the 8-16K area doesn't get erased when resetting. (I will do the battery backed option).
I believe the ROM repeats in the 8-16K area, so do I need to pull "ROM CS" high during access to 8-16K area ?
Yes you have to pull ROMCS high when RAM in 8-16K is activated.
If you have a 32k RAM (62256) the you can have RAM in 8-40K.
I have a schematic for this that I can post tomorrow.
I'm not at home at the moment.
In theory, there is no difference between theory and practice. But, in practice, there is.
User avatar
Paul
Posts: 1517
Joined: Thu May 27, 2010 8:15 am
Location: Germanys west end

Re: How to do internal RAM mod for 8-16K area ?

Post by Paul »

Bean wrote: Tue Sep 12, 2023 8:17 pm I will do the battery backed option
RAM in 8-16K is always reset resident.
Battery is only necessary if you want to preserve the content when power is switched off.
In theory, there is no difference between theory and practice. But, in practice, there is.
Bean
Posts: 73
Joined: Fri Aug 01, 2014 8:40 pm

Re: How to do internal RAM mod for 8-16K area ?

Post by Bean »

Thanks for all the info.
I will give it a try in the next couple days.

I am clear now on the ROMCS.
So I don't have to do anything with A15 if I only want 8K to 32K ?

Thanks again,
Bean
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: How to do internal RAM mod for 8-16K area ?

Post by 1024MAK »

If A15 is not included in the decoding, but A13 is, the ROM will appear in the Z80 memory map in two places: 0x0000 to 0x1FFF and 0x8000 to 0x9FFF.

If you include both A13 and A15, the ROM will appear in the Z80 memory map only one place: 0x0000 to 0x1FFF.

For the RAM, you can use full address decoding for 0x2000 to 0x3FFF. But for the area 0x4000 to 0x7FFF, for the video system to work, the Z80 must be able to execute the very same RAM when the address bus is in the range 0xC000 to 0xFFFF. Meaning either A15 is not considered in the address decoding for these ranges or your circuitry includes the /M1 signal from the Z80 (sometimes known as “M1 NOT”).

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
Post Reply