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
working 6s crash with diag rom
- 1024MAK
- Posts: 5527
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
- Contact:
Re: working 6s crash with diag rom
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Amp
Standby alert 
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Spring approaching...
ZX81 Chip Pin-outs
ZX81 Video Transistor Amp


There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb

Spring approaching...
Re: working 6s crash with diag rom
ok so a little confused...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
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?