ATARICOM.DOC by Nick Kennedy NOTE TO SIO2PC USERS: What is this ATARICOM.ATR disk image and why do I need it? You don't. But I mentioned in my SIO2PC info that I had tied two Atari's together via SIO ports and via joystick ports, and someone asked me how I did it. So, for those who are interested, here are the programs, the source code, and the whole exciting story: This DOC describes some Atari communications programs I wrote, which were sort of forerunners of SIO2PC, for Atari to Atari file transfers. The idea was, I had one Atari with a disk drive and one without. I wrote a pair of programs, the "transmitter" program ran on the Atari with the disk drive and was called XMTSIO or XMTPIA. The "receive" program was designed to run from a cassette on the Atari without the disk drive. With the correct hook-up, the diskless Atari could request files from the Atari with a drive, which would transmit them. The reveive programs were called RCVSIO and RCVPIA. When run, these programs actually put the "real" receive program to a cassette boot file. There were also demonstration programs I called "intercom" programs, which allowed two people to talk to each other, teletype style, over their atari's. These two programs are called TALKSIO and TALKPIA. I did two versions of these programs. The first version communicated via the serial bus (SIO). It worked pretty well, but occasionally would lock up via an unidentifiable bug. Also, it was a pain to unplug the cassette cord and plug in the communications link cable. So the next version used the joystick ports (PIA lines) in an unclocked, fully handshaking protocall I made up myself. This version worked flawlessly. Following are some excerpts from my source code which told what the programs did and how the computers were to be hooked up: FROM TALKSIO.SOR: TALK ; ; Nick Kennedy ; ; 10-29-86 ; ; An experiment with the serial bus ; which will send characters between ; two Atari 800 computers using the ; serial port, but not using SIO.; Note: when I said "not using SIO," I mean I didn't use the Atari OS's routines to send the data, since they are device specific and send in fixed length blocks. I addressed the POKEY chip directly and sent one byte at a time. Also, I started out at 600 baud, but when that was ok, I changed the program to run at 19,200. I never had trouble (or did I?) even though I had about 75-100 feet of unshielded telephone wire between my Atari's. FROM XMTSIO.SOR: ; TRANSMIT ; ; A program to send DOS binary load ; files from one ATARI 800 to another ; using the SERIAL port. For ground, ; connect the pins # 6 and/or 4 ; together (via cord/connector). For ; data, connect pin 3 on computer A ; to 5 on computer B, and vice versa. ; 4 conductor phone cord is ok here. ; ; ; Nick Kennedy ; ; 11/21/86 Note, here's what the SIO jack on the Atari looks like for pin-out: 2 4 6 8 10 12 1 3 5 7 9 11 13 FROM RCVSIO.SOR: ; RECEIVE ; ; Nick Kennedy ; ; 11/15/86 ; ; This program is intended to receive ; and run binary files via the serial ; input port. ; ; This part of the program creates ; the cassette boot file. FROM TALKPIA.SOR: ; TALKP ; ; Nick Kennedy ; ; A program to send data between two ; Atari 800 computers using the PIA's ; (joystick ports). ; ; ; For STICK 0, bits 0-3 equal pins ; 1-4. (8 is ground) ; ; PINS: ; ; ; 1 2 3 4 5 ; View of jack on ; 6 7 8 9 ; console. ; ; NOTES: ; ; Pin 1 is data. ; Pin 2 is Transmitter status. ; (DATA READY or DR) (0 = READY). ; Pin 3 is Receiver status. ; (RECEIVER READY or RR) (0 = READY). ; ; Initialization: Before each byte ; sent/received all out lines are ; made high. Transmitter makes sure ; RR is high, then sets DATA lo. ; Receiver watches for DR high AND ; Data lo, then is freed to set RR ; lo (ready). Transmitter is then ; free to put data and set DR lo (rdy) FROM RCVPIA.SOR: ; RECEIVE ; ; Nick Kennedy ; ; 11/15/86 ; ; This program is intended to receive ; and run binary files via the ; joystick (PIA) port. ; ; This part of the program creates ; the cassette boot file. FROM XMTPIA.SOR: ; TRANSMIT ; ; A program to send DOS binary load ; files from one ATARI 800 to another ; using the JOYSTICK port. ; ; Nick Kennedy ; ; 12/22/86 OK. I had hoped that one of those told exactly how to interconnect the two computers via joysticks. But I'm pretty sure it's like this: Use stick 0 (the first joystick port) pin 1 to pin 1 pin 2 to pin 2 pin 3 to pin 3 pin 8 to pin 8 You can use connectors from dead joysticks for this purpose. I consider all these programs to be "public domain." You can use them, give them away, modify them at will. You can have the source code as well as the executable OBJ files. The source code was written for Atari's AMAC assembler. It's a good assembler when used with a ramdisk, but too slow for use with a real disk drive. (SIO2PC falls somewhere in between.) Oh yeah, when using the intercom (TALK) programs, the transmitting station must press control-A to give the other station the opportunity to send. COMMENTS? The author is: Nick Kennedy 300 South Vancouver Russellville, AR 72801