Re: 74ls612, clocking 6502and others...

From: Marko Mäkelä (msmakela_at_cc.hut.fi)
Date: 1998-04-22 14:16:17

On Wed, 22 Apr 1998, Andre Fachat wrote:

> Does that work with indexed access as well?

I vaguely remember that with some indexed or indirect addressing, I was
able to get the wrong number, maybe off by one.  But it was a very long
time ago, and I don't remember this very well.  Let's see what happens
with LDX#$80:LDA $2080,X, with PC initially $1000:

1000 a2
1001 80
1002 bd
1003 80
1004 20
2000 20*
2100 20*

The data marked with * is what remains from the last valid bus access on
the bus.

> If it is the second one, I assume it's something to do with capacitance,
> i.e. the internal (input) pullups cannot get the lines high in time 
> without active (output) NMOS pullups. The signal lines have a capacitance
> and the together with the resitors you get an exponential rise with 
> tau ~ (R * C).

This could be the explanation.  Most C64s are not "de00 compatible", i.e.
reading from $de00-$dfff will not directly reflect the data read by the
video chip on the previous halfcycle.  It's again a very long time ago,
but I think that all the errors with "de00 incompatible" C64s I tested
were so that a bit was set while it shouldn't be.

Hmm, to make the computer more "de00 compatible", you will need to add
some capacitors to the bus.  Or just use a very long ribbon cable on the
cartridge port. :-)

	Marko

Archive generated by hypermail 2.1.1.