| |
Fungus
Registered: Sep 2002 Posts: 686 |
Serial Buss Behavior
Is there some kind of document or can someone tell me how exactly the serial buss behaves when data/clock in/out are set on the 64 and the drive (1541)? I can't quite figure out the truth table for how they affect each other, or if they do at all.
Like, c64 data out hi, 1541 data out hi, serial state = ?
I know the bits are inverted when set on 1541, but I can't find any documentation about how the serial buss states are when both are set high, low or opposite each other.
Anything is appreciated =] |
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
http://codebase64.org/doku.php?id=base:how_the_vic_64_serial_bu.. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
oswald: that doc doesnt even touch the subject fungus is asking about. (one line driving against the other)
fungus: i doubt there are useful docs on this. you have to write test programs similar to what i did for the keyboard a while ago so you can find out yourself :) |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
IIrc the bus is an open collector. I'm not 100% sure, but I think that if any device drives a logical 1 on the line and nobody drives a 0 the line become 1. If any device drives a 0 the line becomes 0. I.e. a logical AND. You control if the device drives the line or not by setting the data direction on each device (C64 and 1541). ATN is special though and IIRC (again!) the 1541-side inverts either DATA or CLK when ATN is 1.
But I'm really not 100% sure.... you really need to test it yourself. Last time I fiddled with drive code I actually check the logics in VICE, it's quite simple in the code. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
that is mostly true.... however (look at the keyboard test in vice svn) the different ports of the CIAs and VIAs behave differently, one is "stronger" than the other, resulting in different behaviour when driving against each other. (for VIA this difference is even documented in the datasheet as far as i remember) |
| |
terric Account closed
Registered: Feb 2009 Posts: 47 |
Yes, I read what you asked about. And when I was looking on crossdevelopmenttools, I ran across this file.
Perhaps a file which you are looking for.
ftp://ftp.zimmers.net/pub/cbm/programming/serial-bus.txt
guess it the same as above.
Get an Oscilloscope. :) |
| |
Fungus
Registered: Sep 2002 Posts: 686 |
Well ZrX kinda sorta offered to have a look at it. I managed to get SOME help with it by asking a HW guru to help me with understanding the schematics. I've made some notes on the various conditions and how they effect the buss, but still need to know if messing with the DDR on the 64's inputs can be enough to drive the buss high or low, as they are unbuffered.
|