Jump to content



2

data transfer question...


3 replies to this topic

#1 Syntaxerror999 OFFLINE  

Syntaxerror999

    Moonsweeper

  • 402 posts

Posted Thu Nov 3, 2011 2:16 AM

A couple people have expirimented with using the bidirectional data lines in the control ports to communicate between two ataris (examples : teleterm2600 at http://www.biglist.c...8/msg00119.html and Batari's multiplayer adventure prototype http://www.atariage....-5561-2600-lan/ ) or even to write to a pc via telenet, or a tape recorder (2600 cart dumper http://www.atariage....00-cart-dumper/) But no ones realy explained this in detail... at least in a way a N00B would understand.

Im interested to know how one can do this in their own programs and how many clock cycles it takes to transmit a single byte.

#2 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,782 posts
  • Busy bee!
  • Location:North, England

Posted Thu Nov 3, 2011 3:14 AM

Google for "bit bashing", "bit twiddling" or "bit banging". Basically its the simulation of I/O devices that you haven't got by reading/writing your available I/O registers at the correct time.

#3 Mr SQL OFFLINE  

Mr SQL

    Chopper Commander

  • 121 posts

Posted Thu Nov 3, 2011 7:34 AM

syntaxerror999,
GroovyBee's description is right on and so are your programming questions about clock cycles and timing; you could write a low level routine to do this in assembly and then call it from Batari Basic but the architecture of such a routine always comes down to judicious use of NOP's - this mnemonic literally stands for no operation but it does something very important, in fact it's invaluable in creating a software driven bit banger port to spec because you can pad the timing just so in your loops - instructing the CPU to do nothing takes time ;)

#4 Syntaxerror999 OFFLINE  

Syntaxerror999

    Moonsweeper

  • 402 posts

Posted Mon Nov 7, 2011 8:46 PM

ok, I see... makes sense... its like the early fax machine made in the late 1800's - early 1900's that transmitted on telegraph lines. Never heard of it? Not surprised... I think it was a failure because it required exact timing of two swinging pendulums on each machine to actualy work right. And probably only worked in lab conditions.

So then what commands would I use to read/write to the lines, and how many clock cycles for a single bit? I've looked over the source code of the examples, but being a quasi noob (and not realy having the time to actualy sit down and read up on the 'how tos' its still mostly greek to me.

Edited by Syntaxerror999, Mon Nov 7, 2011 8:51 PM.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users