External ROM - What have I done wrong?? **SOLVED**
External ROM - What have I done wrong?? **SOLVED**
It's working kind-of OK -
I have built an external EPROM card with the idea of making an all-in-one expansion to take to a show next month.
Step 1 - External EPROM to replace the internal ROM. It's an LS138 driven by a13,14,15 as selectors and /memrq, /rd as enable. I have pulled /romcs high directly to 5v.
So far so good. When the machine boots the screen is filled-in black as the memory test proceeds then I'm given an inverse square as a prompt. I can type in and edit programs, but I can't see any characters.
What'd I do wrong??
Things I might try -
* use /nmi as an enable input for the 138 - (is it the ULA not getting data during display processing?)
* use a transistor inverter to pull /romcs low only when accessing the EPROM
Suggestions gratefully received
Charlie
I have built an external EPROM card with the idea of making an all-in-one expansion to take to a show next month.
Step 1 - External EPROM to replace the internal ROM. It's an LS138 driven by a13,14,15 as selectors and /memrq, /rd as enable. I have pulled /romcs high directly to 5v.
So far so good. When the machine boots the screen is filled-in black as the memory test proceeds then I'm given an inverse square as a prompt. I can type in and edit programs, but I can't see any characters.
What'd I do wrong??
Things I might try -
* use /nmi as an enable input for the 138 - (is it the ULA not getting data during display processing?)
* use a transistor inverter to pull /romcs low only when accessing the EPROM
Suggestions gratefully received
Charlie
Last edited by sirmorris on Tue Apr 21, 2009 11:07 pm, edited 2 times in total.
Re: External ROM - What have I done wrong??
Should have googled
Any suggestions?
Looks like I'll be re-jigging the address decoding for another range - though I have an internal RAM expansion sitting at 8-16 ..The Zeddy's ULA must be able to drive the lower address lines of the ROM to get access tho the character generator during refresh. So the Z80 address lines are decoupled from the ULA's address lines by resistors (see schema). The ULA-side of the address bus is only available at the ROM socket inside the Zeddy, not at the edge connector!
So the ULA cannot access the character generator located in an external EPROM and thus you get an unreadable display.
Siggi
Any suggestions?
- BrunoFlorindo
- Posts: 290
- Joined: Sat May 10, 2008 2:46 am
- Location: Anaheim, CA, USA
Re: External ROM - What have I done wrong??
I wish I had suggestions. I will get there one day though.
I'm really hoping that more and more people will find out about this forum and participate. I'm mainly a ZX Spectrum user but I still see the benefits of having a place like this. I hope everyone else will too.
I'm really hoping that more and more people will find out about this forum and participate. I'm mainly a ZX Spectrum user but I still see the benefits of having a place like this. I hope everyone else will too.
Re: External ROM - What have I done wrong??
Talking about the forum - at the Quanta Sinclair QL show over the weekend, I was surprised by how many people did not know about this forum! I have been promoting it - we need to let maybe the other ZX81 groups know about it - including the one in Germany...
Rich Mellor
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module
Also Involved in:
Icephorm
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module
Also Involved in:
Icephorm
Re: External ROM - What have I done wrong??
I believe that Siggi has already tipped the wink, so to speak.
I visited that forum a few days ago and although it's active it seems quiet too.
I visited that forum a few days ago and although it's active it seems quiet too.
- BrunoFlorindo
- Posts: 290
- Joined: Sat May 10, 2008 2:46 am
- Location: Anaheim, CA, USA
Re: External ROM - What have I done wrong??
One thing that would help would be a friendlier url, something easier to remember. That would help spread it. My WOS sig has the url already. I'm going to add it to my sig on every English and Spanish site I visit.
Re: External ROM - What have I done wrong??
A friendlier URL would help, but that would mean paying for more hosting - alas I cannot justify that - there is a donation button on this site, but no-one has donated to help keep it running!BrunoFlorindo wrote:One thing that would help would be a friendlier url, something easier to remember. That would help spread it. My WOS sig has the url already. I'm going to add it to my sig on every English and Spanish site I visit.
Rich Mellor
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module
Also Involved in:
Icephorm
RWAP Software
RWAP Adventures
SellMyRetro
Retro-Printer Module
Also Involved in:
Icephorm
- BrunoFlorindo
- Posts: 290
- Joined: Sat May 10, 2008 2:46 am
- Location: Anaheim, CA, USA
Re: External ROM - What have I done wrong??
I plan to, but one thing at a time.
Re: External ROM - What have I done wrong??
Hi Sirmorrissirmorris wrote: Looks like I'll be re-jigging the address decoding for another range - though I have an internal RAM expansion sitting at 8-16 ..
Any suggestions?
one solution could be to leave the internal ROM enabled, while the character generator (last 1/2 KB of the ROM) is accessed.
If you don't want to read the character patters of the character generator neither by your own programs nor the printer routine, the total ROM could be enabled during refresh-cycles and be disabled during normal /RD-cycles.
Another solution could be to rebuild externally the curcuit within the ULA to generate the modified addresses during display. Wilf did it for his external character generator.
See:
http://www.user.dccnet.com/wrigter/inde ... CHR$X4.htm
HTH Siggi
BTW: This forum is well known in the ZX-Team and a link to it is on the homepage:
http://www.zx81.de/english/_frame_e.htm
My ZX81 web-server: online since 2007, running since dec. 2020 using ZeddyNet hardware
http://zx81.ddns.net/ZxTeaM
http://zx81.ddns.net/ZxTeaM
Re: External ROM - What have I done wrong??
Hi Siggi!
Using /rfrsh is the right thing.
I am now using the following inputs to the ls138:
A0 = A13
A1 = A14
A2 = A15.
/E1 = /MREQ
/E2 = /RD
E3 = /RFSH
The /RFSH line is buffered through an npn transistor to drive /ROMCS high whenever the processor has control, as demonstrated by this circuit which uses a13 for the same end:
viewtopic.php?t=66
Thanks everyone!
Using /rfrsh is the right thing.
I am now using the following inputs to the ls138:
A0 = A13
A1 = A14
A2 = A15.
/E1 = /MREQ
/E2 = /RD
E3 = /RFSH
The /RFSH line is buffered through an npn transistor to drive /ROMCS high whenever the processor has control, as demonstrated by this circuit which uses a13 for the same end:
viewtopic.php?t=66
Thanks everyone!