>>>>>      -------------------------------------------------------------------->      >      from: Chuck Steinman>            CIS UID: 71777,3223>            DataQue Software>            PO Box 134>            Ontario, OH  44862>      >      to:   Interested Atari 8-bit users>      >      re:   GameLink 1.10 specifications>      >      date: July 9, 1990>      >      ---------------------------------------------------------------------->      >      Notice:>      >      This test file will set forth the 1.2 version of the GameLink specifi->      cation.  Any and all comments are appreciated, and can be forwarded to>      me at the above user ID, or to the SysOp of the indicated BBS.>      >      This file should only be distributed as an archive, with the original>      contents unmodified.>      >      ----------------------------------------------------------------------->      >


      A) Purpose and rights:>      >         1) The GameLink concept, in its current form, was conceived by myself,>            with input from Jim Cuppy (J.Cuppy2), with intrest also shown by>            other ***** users, including Matt Ratcliff (MAT.RAT).>      >         2) The link needed to be able to connect two Atari 8-bit computers>            together in an inexpensive manner.>      >         3) The link should not interfere with the normal operations of the>            Atari 8-bit computer system, including peripheral access, to>            allow maximum utilization of the link, with minimum>            incompatabilities with other applications.>      >         4) The link hardware components should be readily available, from>            multiple sources.>      >         5) No one will own the link hardware organization, as it is fully>            released into the public domain, and no one will market it as a>            product claiming ownership.  Pre-constructed cables if offered,>            must include a copy (hardcopy or file) of this document, and the>            GameLink/TT2 diskette.>      >         6) DataQue Software will retain rights to the software interface,>            which will be distributed as shareware.  The source code will>            be made available at no cost (other than any long distance,>            service, connect, or network charges) on the BBS, GEnie & CIS. A>>>>      page 1                       GAMELINK I                            page 1>>>>>>>>>            copy of the files on DOS 2.0 compatible diskette is available>            from DataQue Software for $5.00 at the above address. This>            disk will also contain the TT2 source and EXE files. (see below)>      >         7) All that I require of anyone using the GameLink hardware, or>            GameLink software in a product (whether commercial, public>            domain, or shareware) is credit for its origin.  No fees>            (well... I will accept them if you insist!), No registration>            (I would like to hear from you though!), just the following>            message in the documentation, and at some time during the>            program initialization/execution (minimum display time must>            be at least 10 seconds):>      >            "GameLink Copyright 1990 DataQue Software">      >         8) I will offer to sell a GameLink kit for the 'non-hardware'>            types for a total cost of $25, which includes a 15 foot>            cable with connectors wired, and the GameLink/TT2 diskette.>            This is offered for those individuals which don't know which>            end of a soldering iron gets hot.  Please allow 3 weeks for>            delivery, since I often get sent on software missions of>            mercy which take considerable time.>      >      


B) Implementation:>      >         1) To give a sample of the implementation of the GameLink design,>            I will release a program, called TT2, which will demonstrate>            the capabilities of GameLink.>      >         2) TT2, is a two player tic-tac-toe game, which allows two users>            to play the game, using two Atari 8-bit computers, and the>            GameLink interconnect cable.>      >         3) The source code to TT2 will be made available at no cost>            (other than any long distance, service, connect, or network>            charges) on the BBS and Genie/CIS.  A DOS 2.0 copy of the files>            on diskette is available from DataQue Software for $5.00>            at the above address.  This diskette also includes the GameLink>            source.>      >         4) GameLink is not a hard specification. It is flexible in that>            it allows the user to customize the protocol to suite the>            application.  This allows the specification to be optimized>            for a particular game.>      >         5) While there is a definate 'Master' and 'Slave' end to the>            cable, and software means to determine which end is connected>            to a particular system, there is no need (but there can be)>            for a seperate Master and Slave version of the software.>            TT2 clearly shows how this can be done with one file.>      >         6) The source files are in the listed format of MAC/65, so they>            can be fairly easily edited to work with other assemblers. If>            you are using MAC/65, you will need to ENTER each file and SAVE>>>>      page 2                       GAMELINK I                            page 2>>>>>>>>>            it back to disk before you can assemble the program.>      >      >      



C) Hardware Connections:>      >         1) The hardware link is via the #2 joystick port of Atari 8-bit>            computers (XL/XE/400/800/XEGS).  This was by no accident,>            since it is common to all systems, and also simplifies>            software, since it lets me use the BIT instruction to test>            the upper 2 bits! (if that means anything to you!).>      >         2) The connection is made using two (one for each computer)>            9-pin, female, DB type connector.  Shells for these are>            suggested.>      >         3) The connector, looking at it from the solder side, has its>            pins numbered as follows:>      >                                 ------------------------->                                 \   1   2   3   4   5   />                                  \  o   o   o   o   o  />                                   \   o   o   o   o   />                                    \  6   7   8   9  />                                      --------------->      >         4) Two 1/4 to 1/2 watt 5% 4.7k (4700 ohm) resistors are needed.>            You can trim the lead lengths to a length of 1/8" to 1/4".>      >         5) Two short pieces of small diameter heat shrink, or if not>            available, electrical tape.>      >         6) The interconnections are made using a 8 conductor sheathed>            cable, up to 20 ft in length.>      >         7) To make things easier to follow, I will refer to wire>            colors.  If your cable uses different colors, just make a>            new cross-reference list.>      >         8) Solder the resistors the Slave Connector.>      >            a) One end of resistor #1 should be soldered to Slave Pin-9.>            b) One end of resistor #2 should be soldered to Slave Pin-7.>            c) leave the other ends of the resistors unconnected for now.>      >         9) Make the following connections between the two connectors:>      >            a) Master Pin-1 to Slave Pin-4 (orange).>            b) Master Pin-2 to Slave Pin-6 (yellow).>            c) Master Pin-3 to Slave Pin-3 (green).>            d) Master Pin-4 to Slave Pin-1 (blue).>            e) Master Pin-5 to Master Pin-7, and to the free end of>                 resistor #1 on the slave connector (pink). If you>                 are using heat shrink, remember to slide it on BEFORE>                 you solder this connection.  It should be long enough>>>>      page 3                       GAMELINK I                            page 3>>>>>>>>>                 to fully cover the resistor, and its exposed leads.>            f) Master Pin-6 to Slave Pin-2 (white).>            g) Master Pin-8 to Slave Pin-8 (black [ground]).>            h) Master Pin-9 to the free end of resistor #2 on the>                 slave connector. If you are using heat shrink, remember>                 to slide it on BEFORE you solder this connection.  It>                 should be long enough to fully cover the resistor, and>                 its exposed leads.>            i) Secure the D-shell over the connectors.>      >        10) Graphically this becomes:>      >            Master                                     Slave>            Connector                                  Connector>      >            (1)-----------------[orange]------------------(4)>            (2)-----------------[yellow]------------------(6)>            (3)-----------------[green]-------------------(3)>            (4)-----------------[blue]--------------------(1)>            (6)-----------------[white]-------------------(2)>            (5)-----*-----------[red]-------/\/\/\/\------(9)>                    |                      resistor #1>            (7)-----*>            (8)-----------------[black]--------------*----(8)>                                                     |>                                                     *----(5)>            (9)-----------------[pink]------/\/\/\/\------(7)>                                           resistor #2>      >      >            where (n) is a pin number>            /\/\/\/\  is a resistor>            '-' and '*' and '|' are conductors>            [xxx] is a conductor color>      >      


D) Hardware interface:>      >         1) The software will configure the PIA Port A, with the>            following states:>      >            a) Bits 0-3 are input only (joystick plug #1)>            b) Bit-4 is TX data output>            c) Bit-5 is TX data clock output>                        RX data clock acknowledge output>            d) Bit-6 is TX control output>                        RX control input>            e) Bit-7 is RX data input>      >         2) The joystick(1) trigger line is used as the clock input sense.>      >         3) Paddle control Pot(2) is used as the host sense.  a reading>            below 128 is considered the master, while above is considered>            the slave unit.>      >>>>      page 4                       GAMELINK I                            page 4>>>>>>>>>         4) Paddle control Pot(3) is used as the power sense.  a reading>            below 128 indicates the other system is powered.>      >      


E) Software interface:>      >         1) A command packet is sent via the TX_CMND routine, and>            received via the RX_CMND routine.>      >         2) A command packet contains the following:>      >            a) byte-1, command prefix, value: $aa>            b) byte-2, command prefix, value: $55>            c) byte-3, command number, currently: $20 (TX) $A0 (RX)>            d) byte-4, command packet size, currently: $14>            e) byte-5, transfer address lsb, currently unused>            f) byte-6, transfer address msb, currently unused>            g) byte-7, peek/poke data byte lsb, currently unused>            h) byte-8, peek/poke data word msb, currently unused>            i) byte-9 to 19, program data>            j) byte-20, checksum of previous 19 bytes, simple sum, no carry.>      >         3) Some features of the GameLink software are not functional at>            this time, and will be implemented as I feel demand warrents.>      >      


F) Comments.....>      >          Remember, this is a freebee... dont expect me to debug your>          30,000 line pinball game, but I will gladly help out, if I>          can, and it is possible.  I will help with understanding>          the way things work, but will shy from teaching 6502 assembly>          language as a whole.  If you have questions ask, I probably>          can help out.>      >          Thanks for your interest, and support of the Atari 8-bit>          computer systems!>      >               Chuck.>      >>>>>>>>>>>>>>>>>>>>      page 5                       GAMELINK I                            page 5>>>>

