Re: VIC-registers
Date: 1998-03-03 21:35:40

Hallo Andre,

> > Marko Mäkelä wrote:
> > But I think that $d031-$d03f would work with external decoding logic....
> IFF the VIC-II does _not_ return _anything_, i.e. does not drive the bus
> this _might_ work. If the VIC drives the bus high, you may fry your VIC
> when the other chip drives the bus low!

For further explanation about my remark using $D031 to DMA the C64: my idea was 
not using the databus at all. Reading $D031 sets a flipflop which on the end 
activates the DMA input at the expaqnsion slot. Reading $D030 resets it again. 
This reading must be done by the host processor/system of course. In this way a 
lot of simple I/O can be steered by just reading already used addresses. A step 
further was writing to the read-only registers of the SID. But as you could 
have read in a previous email, This idea is worthless for I/O attached to the 
expansion slot because of the CHARROM and RAM under the I/O.  Using it INSIDE 
the C64 it has even advantages above the de-mirroring you and I mentioned. The 
SCPU uses I/O in the $D000/$D3FF range. So this area cannot be de-mirrored 
because you run the risk that your own I/O gets in the way of the SCPU.

But my idea has one big unsolved problem yet: how can I read data? Maybe one of 
you knows how the SID behaves when you read a write-only register.

> The VIC-II does drive the data bus to high state, but keep in mind that it
> is an NMOS device.  You can always let the bus perform a wired-AND between
> NMOS outputs.  If the situation was like you described, then even moving

This could be a good answer for this problem.....

> the joystick might fry the CIA (remember, one of the joystick ports is
> normally an output, outputting high state).

I always have wondered about this. One is never to old to learn :-)

Other question regarding the 6510: as far as I know it does drive the 
addresslines and R/W line when readin/writing $0000 and $0001. Correct? But 
when it writes, does it drive the databus as well? 

Groetjes, Ruud

Archive generated by hypermail 2.1.1.