Wow! After a few hard days at work, this thread has turned into a
very interesting one! Thanks a lot!
BigDumbDinosaur wrote:
An excerpt from the W65C02S data sheet dated October 19, 2010
Well, my datasheet was from
August 4, 2008... that explains everything:
design and specifications subject to change without notice Thanks for the link to newer ones!
Some more thoughts for this
brainstorming, in no particular order:
•VPA and VDA are definitely interesting signals -- just not needed for a simple MPU testing device. My ultimate goal is to connect a
very synchronous 65C816 to an
asynchronous VME-like bus, thus the aforementioned lines are great candidates for getting the required
Address Strobe.
There was some discussion here about this, but unfortunately the links are dead
I
think I got the way to do it, but would love to compare strategies anyway.
•Qualifying
writes via ø2 is absolutely
essential, of course. But now I find that qualifying
reads is as important -- it will avoid several contention causes (see below) and anyway it's needed for interfacing with
Intel-style peripheral chips (16C550, HD6445...). Tying such ¬RD signal to all ¬OE's out there is a brilliant idea. I think that would make unnecessary the '245 on the C816 databus (on the low phase of ø2 all the remaining outputs will be disabled, no problem with putting the bank address on the bus then) further reducing propagation delays etc.
•When more than one address bit is to change, because of
slight timing differences it may go thru several
anomalous, unrelated addresses temporarily --
Gray code wasn't developed just for the sake of it! In my previous designs (never actually built...) I kept the decoders
permanently enabled in order to get the correct address as soon as possible.
As long as all databus outputs (and inputs!) are disabled (should be so until ø2 goes high)
I find no problem even if some devices get momentarily selected, but no operation enabled. Or am I missing something?
•Also got interest on connecting a
65C02 to my asynchronous bus... but this one has no VDA/VPA signals
A quick and dirty way to obtain the
¬AS would be from ø2... but as already commented, such approach wastes some precious access time (between the address properly formed after
tADS and the rising edge of ø2) -- probably not an issue for the slowest clock speeds (2? 4 MHz?) but a real problem when trying to go
fast... perhaps a fixed delay from the
falling edge of ø2 might generate this signal OK, but that would make difficult to switch speeds and/or MPUs
•My current MPU-tester device (let's call it
Tommy) had RDY directly tied to Vcc because of convenience, and it wasn't goint to execute a WAI -- I find little to no use for it, especially since the active pull-up has been deleted on the '02. On my full system it would connect to the
wait states generating circuitry anyway.
•Ditto for the rather weak pull-ups -- no changes are to be expected on those lines, and the 22K pack-of-four was what I had at hand
I am aware (thanks to this site) of the issues with a weak pull-up on ¬IRQ because of the sluggish rise time.
•That DS1813 looks convenient. My (final) system will use automatically generated NMIs, besides those invoked by the user pushing the button... will the DS1813 debounce the button without interfering the other NMI sources? I know, a single gate is all that is needed for that, but they're sometimes so inconvenient...
•74AC, ABT (or even faster?) are definitely the way to go when the MHz rise... but for my 2 MHz tester, HC is enough. I am however trying to make
the real thing as low-power as possible, so I prefer staying with some sort of CMOS technology. I've read about GALs and the like, but I'm amazed by the static Icc, even those in CMOS
I understand that these are convenient but far from optimized solutions, and with tons of unused gates switching uselessly,
dynamic power consumption is going to be high. But, unless internal pull-ups/pull-downs are used, CMOS gates should draw
almost no power when staying on a fixed level... I don't understand what happens with these.
•Speaking of power consumption... these
oscillator cans are trouble-free, but they are power hungry! No one ever made a
less-thirsty version of these? Don't want them drawing more power than the rest of the computer together!
Cheers,