Short:    Let's you write Modem Linkable games easier (Oct 13 1997)
Author:   yogi@autobahn.mb.ca (Michael Veroukis)
Uploader: yogi@autobahn.mb.ca (Michael Veroukis)
Version:  36.2 Release 1.2
Type:     dev/misc
Requires: Amiga OS 2.0 or higher


                               ModemLink Device
                             Mike Veroukis - 1997

Introduction:
~~~~~~~~~~~~

  The ModemLink device was written in an attempt to make modem linkable
games easier to write on the Amiga.  We've seen hundreds of games on the
PC with modem play capabilities, but most Amiga games don't provide this
option.  This frustrates many Amiga game players, as everyone knows it's
much more fun to kill your friends then stupid computer-AI people!

  It's no secret that most Amiga programmers are not part of some rich
company.  Therefore, it's easy to understand why many developers don't add
modem play to their games.

  First of all, you may be adding a few months to development time just for
the modem link part of the game.  For many hobby programmers, they'd rather
just finish the game quickly, and move onto new and exciting things.  The
ModemLink device gives the developer all the code required for a basic
modem playable game, therefore saving on development time.

  Another problem is that you'd need two Amigas, with a modem on each, and
preferably two phone lines (although you could always use a null modem as
well).  Not everyone can have this kind of set up.  The ModemLink device
makes it a little easier to develope the modem linkable game, since there's
less to worry about.  You'll still need to test, but it's the sort of thing
a friend with an Amiga and a modem can help out with.  Since the ModemLink
device has been tested, and is known to work, a game developer only needs to
worry about how to interface with the ModemLink device.

  Well, this is all very cool and all, but how does it work???  Although I
don't want to get into the finer details of the device, this is a good
place to give a rough description of the thing.

  The ModemLink device provides two important functions;  Modem Connectivity
and a Reliable Serial Protocol.  What does this mean???

  Modem Connectivity:
  ~~~~~~~~~~~~~~~~~~

  The ModemLink device provides standard routines to dial/answer calls.
These routines can be used to easily set up a modem connection.  They have
been designed to be very flexible and provide significant control to the
programmer.

  Reliable Serial Protocol:
  ~~~~~~~~~~~~~~~~~~~~~~~~

  Once a modem connection is made, data must be sent and received across the
phone line.  One needs to be sure that the data received is correct, and
the data sent has been received.  To do this, some kind of protocol must
be used, which the ModemLink device provides.  Although designed to support
more protocols in the future, it currently only supports a single protocol
based on what is called the Stop And Wait protocol.

  Anyway, as you might have guessed, the main point to this entire project
is to make it easier for Amiga programmers to make modem linkable games.  I
offer this package (with source included) free for everyone to use.


Release History:
~~~~~~~~~~~~~~~

R1.2 V36.2 (Oct 26 1997):
     - ModemLink.device would not create the ModemLink Semaphore which is needed
       to make sure that only one instance of modemlink.device is running for a
       given Unit.  This has been fixed.


R1.1 V36.1 (Oct 25 1997):
     - SendModemCMD now checks to see if modem is OFF only if issued command is
       never echoed back from modem.  This is to be compatible with newer
       modems which auto power-up when first command is issued.
     - Cleaned up some documentation.
     - Changed the scoptions file so that it now sets PARAMS=BOTH.  It will now
       use both registers AND stack for parameters.
     - Added StormC pragma file in include/StormC_pragmas.


R1.0 V36.0 (May 10 1997):
     - Initial release


R0.0 V00.0 (July 4, 1996):
     - Modemlink Project begins


  - Mike


============================= Archive contents =============================

Original  Packed Ratio    Date     Time    Name
-------- ------- ----- --------- --------  -------------
   38552    9820 74.5% 20-Oct-97 23:36:28 +ModemLink.doc
     858     342 60.1% 25-Oct-97 11:55:24 +ModemLink.doc.info
   10560    6509 38.3% 26-Oct-97 18:10:06 +modemlink_000.device
   10540    6515 38.1% 26-Oct-97 17:59:46 +modemlink_020.device
   41684   14723 64.6% 26-Oct-97 16:36:24 +ModemLink.guide
     840     323 61.5% 19-Mar-97 23:30:14 +ModemLink.guide.info
     841     501 40.4% 11-Mar-97 22:05:36 +Build.info
    2632    1711 34.9% 04-Jul-96 15:15:16 +Debug
     831     382 54.0% 11-Mar-97 22:05:36 +Debug.info
    2771     840 69.6% 06-Apr-97 10:49:22 +DeviceStuff.c
     600     252 58.0% 11-Mar-97 22:53:16 +DeviceStuff.h
     838     541 35.4% 11-Mar-97 22:05:36 +Edit.info
     842     451 46.4% 11-Mar-97 22:05:36 +Find.info
     122      88 27.8% 26-Oct-97 18:10:30 +SCoptions
    2954     458 84.4% 11-Mar-97 22:05:36 +SCoptions.info
     990     435 56.0% 25-Mar-97 21:13:16 +smakefile
   17400   11053 36.4% 26-Oct-97 18:10:48 +TestML
    4673    1402 69.9% 25-Oct-97 09:33:14 +TestML.c
     835     392 53.0% 11-Mar-97 22:05:36 +TestML.info
   10584    6625 37.4% 26-Oct-97 18:11:00 +TestMLDev
    5251    1533 70.8% 25-Oct-97 09:33:12 +TestMLDev.c
     835     395 52.6% 11-Mar-97 22:05:36 +TestMLDev.info
     632     283 55.2% 16-Mar-97 15:24:52 +clib.info
    2712     881 67.5% 06-Apr-97 11:51:50 +ModemLink_protos.h
     840     329 60.8% 25-Oct-97 11:55:56 +ModemLink_protos.h.info
     632     277 56.1% 16-Mar-97 15:23:58 +ModemLink.info
    3765    1534 59.2% 26-Oct-97 17:23:34 +ModemLink.h
     840     326 61.1% 25-Oct-97 11:55:42 +ModemLink.h.info
     632     276 56.3% 16-Mar-97 15:26:04 +pragmas.info
     677     217 67.9% 16-Feb-97 12:05:28 +ModemLinkDev_pragmas.h
     840     326 61.1% 25-Oct-97 11:55:50 +ModemLinkDev_pragmas.h.info
     632     281 55.5% 16-Mar-97 15:25:18 +proto.info
     200     134 33.0% 16-Mar-97 14:42:14 +ModemLink.h
     840     327 61.0% 25-Oct-97 11:56:04 +ModemLink.h.info
     632     282 55.3% 25-Oct-97 11:39:46 +StormC_pragmas.info
    1051     391 62.7% 26-Oct-97 16:30:40 +ModemLinkDev_pragmas.h
     840     326 61.1% 25-Oct-97 11:56:10 +ModemLinkDev_pragmas.h.info
   10688    6138 42.5% 26-Oct-97 18:10:06 +ModemLink_000.lib
   10668    6137 42.4% 26-Oct-97 17:59:46 +ModemLink_020.lib
     456     252 44.7% 26-Oct-97 18:10:06 +ModemLinkDev.lib
     841     500 40.5% 06-Apr-97 12:07:24 +Build.info
    3832    2013 47.4% 24-Oct-97 20:23:58 +CRC.c
      98      94  4.0% 28-Dec-96 13:02:04 +CRC.h
    2632    1711 34.9% 04-Jul-96 15:15:16 +Debug
     831     387 53.4% 06-Apr-97 12:07:24 +Debug.info
       0       0  0.0% 26-Oct-97 18:10:10 +
    3032     968 68.0% 24-Oct-97 20:25:32 +DeviceStuff.c
     600     252 58.0% 13-Mar-97 21:56:10 +DeviceStuff.h
     838     542 35.3% 06-Apr-97 12:07:24 +Edit.info
     842     449 46.6% 06-Apr-97 12:07:24 +Find.info
       0       0  0.0% 26-Oct-97 18:10:10 +
    7519    2178 71.0% 24-Oct-97 20:56:24 +Link.c
    2987    1170 60.8% 22-Oct-97 19:59:54 +Link.h
     827     429 48.1% 24-Oct-97 20:35:24 +LinkDevTags.c
     224     165 26.3% 11-Mar-97 22:41:20 +LinkDevTags.h
     732     385 47.4% 24-Oct-97 20:36:24 +LinkTags.c
     213     156 26.7% 13-Mar-97 20:53:46 +LinkTags.h
    9431    2313 75.4% 24-Oct-97 20:40:18 +Modem.c
    1802     668 62.9% 25-Mar-97 20:35:08 +Modem.h
    1118     466 58.3% 24-Oct-97 20:44:30 +ModemDevTags.c
     386     206 46.6% 11-Mar-97 22:41:34 +ModemDevTags.h
     835     395 52.6% 26-Oct-97 14:45:14 +modemlink.device.info
    1043     495 52.5% 24-Oct-97 21:00:08 +ModemLinkAPI.c
     177     126 28.8% 09-Mar-97 18:37:08 +ModemLinkAPI.h
    2990    1052 64.8% 26-Oct-97 16:33:48 +ModemLinkDev.c
     508     248 51.1% 16-Feb-97 12:00:54 +ModemLinkDev.fd
     677     217 67.9% 11-Mar-97 22:33:48 +ModemLinkDev_pragmas.h
    2869     790 72.4% 24-Oct-97 20:52:30 +ModemLinkDevAPI.c
     521     262 49.7% 25-Mar-97 21:09:52 +ModemLinkDevAPI.h
   14317    3308 76.8% 24-Oct-97 20:54:22 +ModemLinkTask.c
     681     354 48.0% 26-Jan-97 15:59:42 +ModemLinkTask.h
    1042     433 58.4% 24-Oct-97 20:44:28 +ModemTags.c
     378     202 46.5% 13-Mar-97 20:53:58 +ModemTags.h
     186     115 38.1% 26-Oct-97 18:00:00 +SCoptions
    2954     455 84.5% 06-Apr-97 12:07:24 +SCoptions.info
    4768    1256 73.6% 26-Oct-97 16:30:02 +smakefile
     628     266 57.6% 25-Mar-97 21:17:54  ModemLink.info
     632     279 55.8% 25-Mar-97 21:17:54 +AutoDocs.info
     632     284 55.0% 25-Mar-97 21:17:54 +Devs.info
     632     283 55.2% 25-Mar-97 21:22:32 +Docs.info
     632     283 55.2% 25-Mar-97 21:17:54 +Examples.info
     632     276 56.3% 25-Oct-97 11:39:14 +include.info
     632     280 55.6% 25-Mar-97 21:17:54 +lib.info
     632     277 56.1% 25-Oct-97 11:38:54 +Source.info
-------- ------- ----- --------- --------
  271393  110996 59.1% 27-Oct-97 04:26:24   84 files
