faybs wrote:
Can I assume that, other than instruction set differences, a 1MHz 6510 can be used as an accurate facsimile of a 1MHz 65C02 for prototyping this? Any tips from experienced C64 hardware hackers?
The 6510 itself is simply an NMOS 6502 with a 5 bit I/O port located at addresses 0/1 (one for data, the other for direction, don't remember the order). Which means that the pinout is different.
The C64 itself is another beast. The address and data busses available at the expansion port is are shared between the CPU and the Video chip. So during Phi1, the Video chip reads the video memory, while during Phi2 the CPU does what it has to do. This creates problems for example with the 6522, that expects to have valid address lines at the beginning of Phi2 - where actually the video chip just has released the bus and the lines are unstable. To use a 6522, delay the rising edge of Phi2 with the dotclock for example (see for example
http://www.6502.org/users/andre/cbmhw/c64csa/index.html )
The shared bus also needed an additional input on the 6510 IIRC, that allows to tri-state the busses so that the video chip can take over.
Quote:
I guess I also need to ask my 3.3v question again... and unfortunately I don't think I can run the C64 on 3.3v Smile Garth, I see your point about the resistors and the implicit capacitance in the traces forming a filter that bends the pulse trains out of shape, but at < 4MHz is it really likely to cause problems?
well, it depends - on the size of the resistor and the capacitance :-)
I rule out Open Collector signals at frequencies above 500kHz-1MHz. I have seen rise times for a /IRQ line on a long bus of as long as 3-4 cycles @1MHz, so I never assume those signals to be clock-related. For OC there even is a neat circuit I found somewhere with a FET that transfers in both directions :-)
But the resistor you describe still is for a totem-pole output (push/pull), so that is different. If the 3.3V is CMOS, my assumption is that a "high" on that 3.3V CMOS ouput is still in the valid range of a "high" on the TTL input side, so reading from a 3.3V is not the problem. Remember the different input/output levels of TTL and CMOS.
The other way round you need ICs that tolerate 5V input even when powered with 3.3V. Say, use a buffer of the 74LVC line.
I found this interesting thread elsewhere that discusses some of the logic level details:
http://www.embeddedrelated.com/usenet/e ... 0897-1.php
Hope this helps
André