ijor wrote:
I'm not speculating. I'm commenting what I see at the chip layout. I'm not ready to post full schematics yet, but I can post seudo code of the relevant logic if you want.
If you made it that far through the chip layout, I trust you on this.
ijor wrote:
I think I figured out the issue about this supposed bug. The key is the Rockwell R65NC22 datasheet that has an enhancement, a fix if you want, to the bus interface. This version of the VIA latches the address lines only while the chip is still selected. Other VIA versions simply latch these signals at the clock raising edge (as every other 65XX peripheral chip).
Rockwell 1987 Controller Products Databook, PDF page 83: R65NC22/R65C22 differences.
R65C22: "Register select lines are decoded during /PHI2."
R65NC22: "Register select lines are decoded during /PHI2 only if /CS2 is active low."
If you are using a different datasheet, please provide a link.
//Offtopic:
6526 is not latching the address at the rising edge of PHI2, PDF page 4.
ijor wrote:
The wikipedia quote is inaccurate, or misleading at the very least.
Please provide a link\reference to this quote.
ijor wrote:
The reason, I guess, that the mentioned "fix" was implemeted only on the VIA, is probably because VIA was commonly used on non 65XX systems.
True:
Bus timing in general can be a bit tricky.
Especially when interfacing a peripheral to a CPU with a different bus interface and/or timing.
PC
EGA graphics cards had used the 6845 (cousin of the 6545) or a derivate thereof.
ijor wrote:
Also note that the issue should happen on very specific, and probably not common, circumstances only.
In the simple case that the write cycle is terminated too soon by the CPU, then the R65NC22 enhancement would not help because the write cycle would not be performed at all.
Bus timing of the system should not violate the datasheet parameters, of course.
Quote:
This is not HMOS.
Good to know it's not HMOS.
//Knowing which fabrication process was used could be helpful for estimating the typical propagation delay of a logic gate within the chip.