GaBuZoMeu wrote:
If you are going to use an EEPROM you probably not trying to break any speed records - most EEPROMs do require about 120..150ns access time. This would roughly end up in 3 MHz cycle time.
I'll have to double-check, I'm pretty sure I have faster parts on hand, but I need to dig out my list from my previous laptop.
Quote:
Using an EEPROM you should remember to insert a jumper or a pushbutton and pullup resistor into /WE to inhibit inadvertent writes.
Good to know; I hadn't thought of that.
Quote:
You didn't say anything about I/O - your decode logic needs at least to have one deselect input (unselect RAM and ROM) to add somehow somewhere I/O space!
Well, that was the point behind gating everything with /MREQ - if I did my homework correctly, the /CS line on each memory element should be high when /MREQ is high, and on bluesky's board /MREQ is the inverse of /IORQ, so I would think that should do it.
Quote:
If you wish to change the RAM-ROM boundary (even dynamically during runtime) you could use an adder instead of a comparator. They are both similar slow (propagation delay time). Using the CARRYOUT from the adder to select ROM (and deselect RAM) you could change the takeover address as you wish.
Hmm, now that's an interesting idea.
Quote:
If X comes from an I/O device (like 65C22) these lines are inputs after reset, so 4 pullup resistors are needed to start with X=$F => 4K RAM / 60K ROM. The power on setup program may change this then.
I'd wondered about that, but I was saving the question for after I get the logic nailed down and move onto the electronics-engineering side of things. Am I correct in understanding that the pullups would only affect the default, un-driven value of those lines, and changing the pins on a 65C22 to outputs would override that?