Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Serial Buss Behavior
2011-05-20 18:18
Fungus

Registered: Sep 2002
Posts: 668
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 =]
2011-05-20 20:27
Oswald

Registered: Apr 2002
Posts: 5076
http://codebase64.org/doku.php?id=base:how_the_vic_64_serial_bu..
2011-05-20 20:44
chatGPZ

Registered: Dec 2001
Posts: 11293
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 :)
2011-05-20 20:51
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.
2011-05-20 20:55
chatGPZ

Registered: Dec 2001
Posts: 11293
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)
2011-05-21 18:43
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. :)
2011-05-22 02:31
Fungus

Registered: Sep 2002
Posts: 668
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.

RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Didi/Laxity
Martin Piper
Guests online: 115
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 Wonderland XIV  (9.6)
8 Comaland 100%  (9.6)
9 No Bounds  (9.6)
10 Unboxed  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 It's More Fun to Com..  (9.5)
7 Morph  (9.5)
8 Dawnfall V1.1  (9.5)
9 Onscreen 5k  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Nostalgia  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.2)
Top Coders
1 Axis  (9.9)
2 Graham  (9.8)
3 Crossbow  (9.8)
4 Lft  (9.8)
5 HCL  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.054 sec.