Re: Managing the 65816 multiplexed bus
Posted: Thu Mar 07, 2013 5:19 am
Dr Jefyll wrote:
BigDumbDinosaur wrote:
Also missing were the 65C816's VDA and VPA address bus qualification outputs. Their omission strongly suggested that something had to have been done to prevent the false address bus states that the '816 generates during certain stages of some instructions, especially those with <addr>,X and <addr>,Y addressing.
If the '816 and '802 are the same basic die, differing only in some of the metalization, it doesn't seem plausible that invalid-address cycles would appear (as we know they do) on the '816 but not on the '802. What seems more likely to me is that the '802 also exhibits the invalid-address cycles, and, since VPA and VDA outputs are absent, this is a hazard with no good solution. IOW, people using the '802 would need to be on guard against the possibility that an invalid address would read from an IO device, which, on some devices, can erroneously alter status.
Odd (and disappointing) as this seems, it doesn't contradict the definition of the '802 as a drop-in replacement for an NMOS 6502, since the latter exhibits the same hazardous behavior. (Or was the '802 touted as a drop-in replacement for the 'C02 as well?)
Edit: to answer my own question, I tried it out, and the '816 does generate an invalid address cycle for abs,X (but with VDA not asserted, of course). Still, since they had the logic for the 'C02, it is plausible that they have a metal option to switch between the 'C02 and the '816 behavior.