working 6s crash with diag rom

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

Re: working 6s crash with diag rom

Post by 1024MAK »

So, the requirements for just using a ROM (PROM/EPROM/EEPROM/flash) without bank switching/paging are:

Z80 address lines A0 through to A14 go to the respective pin of the ROM chip.

A14 and A15 are combined (using suitable logic chips) with /MREQ to drive the /CS or /CE pin of the ROM chip. That is A14, A15 and /MREQ should all be logic low. And if all three are, the /CS or /CE pin of the ROM chip should only then be driven logic low.

/RD connects to the /OE pin on the ROM so that the ROM only outputs when the Z80 is trying to read.

Note that there is an alternative (non-preferred) system where the /RD line is not used, and instead /MREQ is used to drive the /OE pin.

Obviously all eight data lines are also required.

In addition, the card has to force the /ROMCS line to +5V or logic high to deselect on ROM on the ZX Spectrum board.

Where bank switching/paging is used, the latch/register used to enable/disable the ROM, and the data bits that are used to feed the higher address pins of the ROM (A14 upwards) also come into it.

So those are the areas to investigate.

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.
amateus
Posts: 57
Joined: Wed Mar 21, 2018 2:28 pm

Re: working 6s crash with diag rom

Post by amateus »

1024MAK wrote: A14 and A15 are combined (using suitable logic chips) with /MREQ to drive the /CS or /CE pin of the ROM chip. That is A14, A15 and /MREQ should all be logic low. And if all three are, the /CS or /CE pin of the ROM chip should only then be driven logic low.
Mark
ok so a little confused...

First A and D lines are all correct from Z80 to ROM.

Tested /A14 and /A15 on the diag card they are low. Also tested /MREQ and it's high.
Assuming /CS or /CE is pin 20 in the rom ic (was not able to find any pinout of the 48k rom), with or without cartdrige the value is always high ~5V.

Tested /romcs on the diagnostic card and it's low. But it's also low on other units

What am I doing wrong?
Post Reply