Page 1 of 2

Going above 16K on ZX80

Posted: Sun Sep 03, 2017 11:53 pm
by Shaun_B
ZX80 with 32K can be emulated for 4K ROM machine, but is the 2nd 16K page of expanded RAM available easily?

Thanks,

Shaun

Re: Going above 16K on ZX80

Posted: Mon Sep 04, 2017 6:49 am
by Paul
The ZX80 has ROM and RAM shadow everywhere.
There is no ROMCS line on the edge connector.
So you could pull RAMCS high and use external RAM. This needs to be in the 16 to 32 K area and in case of more RAM also in the 48 to 64K area. This of course will not be recognized by basic and can be accessed by poke and peek.
New doesn't erase this.
I need to analyze further if the upper 16k can be used for machine code. I guess this will be possible.
Kind regards Paul

Re: Going above 16K on ZX80

Posted: Mon Sep 04, 2017 9:43 am
by Shaun_B
Thanks Paul,

Does the Chroma interface work with the ZX80? So could some ZX80 games be colourised?

Thanks,

Shaun

Re: Going above 16K on ZX80

Posted: Mon Sep 04, 2017 11:47 am
by Paul
I corrected a line in my previous post.
RAMCS needs to be pulled high.
Not the non existing ROMCS.
By the way if you pull the ROM of the ZX80 and supply ROM, RAM and adress decoder external than any amount of Ram can be used.

Re: Going above 16K on ZX80

Posted: Mon Sep 04, 2017 2:45 pm
by Shaun_B
Paul, does this mean that you could create your own cartridge format for the ZX80?

Regards,

Shaun.

Re: Going above 16K on ZX80

Posted: Mon Sep 04, 2017 3:24 pm
by Paul
Yes. That's exactly what I develop at the moment.
One has to pull out the ROM from its socket but other than that no modification of the ZX80 is needed.

Re: Going above 16K on ZX80

Posted: Mon Sep 04, 2017 3:29 pm
by 1024MAK
Careful, if you remove the ROM from the ZX80 and use an external ROM, it's likely you will also need some extra circuitry so that the character generation works. I'm mobile (on a train) so can't easily check the schematic at the moment.

Mark

Re: Going above 16K on ZX80

Posted: Mon Sep 04, 2017 3:31 pm
by Shaun_B
Paul wrote: Mon Sep 04, 2017 3:24 pm Yes. That's exactly what I develop at the moment.
One has to pull out the ROM from its socket but other than that no modification of the ZX80 is needed.
Are you not able to disable the ROM in any other way? Also did you see my question about the Chroma?

Regards,

Shaun.

Re: Going above 16K on ZX80

Posted: Mon Sep 04, 2017 3:58 pm
by Paul
About the chroma: I saw that question but I have no idea. The developer once said to me that there might come a ZX80 version so my guess is that it would not work out of the box.
From the outside no diable of the ZX80 ROM is possible. If you add ROMCS to the edge Connector than yes. But such modification is not to be considered.

Re: Going above 16K on ZX80

Posted: Mon Sep 04, 2017 4:08 pm
by 1024MAK
The Chroma interface does not work on a ZX80. For more information, the best person to ask is Paul (Fruitcake), the developer.

The ZX80 does not have all the same control signals in the edge-connector (the /ROMCS does not exist), so with a standard unmodified ZX80, there is no control signal to tell the internal ROM not to respond. As Sinclair used partial address decoding, the ROM appears between 0x000 and 0x3FFF and between 0x8000 and 0xBFFF. RAM appears between 0x4000 and 0x7FFF and between 0xC000 and 0xFFFF. With an unxpanded ZX80, there is only 4K bytes of ROM, but the same ROM contents appears in the Z80 CPU memory map lots of times. The same goes for the RAM, whereby the same 1k bytes of RAM is "echoed" in all the RAM areas.

Because there is a /RAMCS control line, an external circuit (RAM pack) can either take control of the internal RAM chips (like the 3k byte expansions) or just disable the internal RAM chips (like the 16k byte expansions).

But you can't do the same for the 0x2000 to 0x3FFF or the 0x8000 to 0xBFFF area unless either you modify the machine, or remove it's internal ROM chip.

Mark