home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 551.lha / Answerer_v1.0 / Answerer.docs < prev    next >
Encoding:
Text File  |  1991-09-08  |  7.1 KB  |  122 lines

  1. Answerer.BAS   v1.0   07/02/91      by Frank J. Perricone
  2.  
  3. As a SYSOP of a BBS I often felt the need for an "answering machine," i.e.,
  4. a program which answers the modem (as a BBS normally does) but only does
  5. things like inform the user that the SYSOP is down for maintenance.  There
  6. were a number of these available but many of them suffered from one of three
  7. problems:
  8.   1. They didn't support unusual modem setups.  This proves to be
  9.      necessary, since most SYSOPs are using BBSes that aren't tied to
  10.      single types of modems for a good reason.
  11.   2. Or they suffered from "creeping featuritis" where they ate up system
  12.      resources having 8-color graphics screens with imbedded fonts and
  13.      special mouse pointers, all for no good reason.  I mean, this is an
  14.      ANSWERING MACHINE, not a graphics system.
  15.   3. Or they couldn't deal with stubborn modems that didn't like hanging
  16.      up with a simple +++ ATH0 command, as many (maybe most) are.
  17.  
  18. Therefore, I wrote Answerer.  I thought it would be good practice for
  19. getting to know the modem anyway.
  20.  
  21. Answerer is a simple but powerful program.  Only 4.5K or so in size, and
  22. taking up little more than this in memory, Answerer also uses the least
  23. chip RAM possible, with a tiny, out-of-the-way window which tells you only
  24. the status.  A single menu controls all (both!) control functions: About,
  25. which is only there for my ego, and Quit.  These functions are ghosted when
  26. a connection is in progress.
  27.  
  28. To use Answerer, you must first create a file describing your configuration.
  29. If you intend to run Answerer from the Workbench or without parameters on
  30. the CLI, this should be named Answerer-config and is checked for in the
  31. following places:  the current directory, then SYS:Config/, and then s:.
  32. [Note: I think that the s: directory is supposed to be used for scripts,
  33. not startup/configuration files as it is all-too-frequently used, so I
  34. try to use SYS:Config/ instead in hopes other programmers will follow
  35. suit.  Look at the code for how to do this in BASIC; a similar approach
  36. works in C.  No extra work--so why not?]  If, on the other hand, you
  37. specify the filename on the CLI command line, it will be searched, and
  38. then Answerer checks to see if it is just a filename of a file in the
  39. above directories rather than a path.  One way or the other, it finds the
  40. file, or ends with an error.  Since you can provide a pathname at the CLI
  41. you can even have more than one configuration if you like.
  42.  
  43. The configuration is composed of a number of lines, each having a label,
  44. then an equal sign, then a value.  The labels are IGNORED but you have to
  45. have the values in the right order, so leave the labels in for your own
  46. sake!  The equal sign is the important part, notating the beginning of the
  47. real data.  The rest of the line up to the end-of-line is the actual data.
  48. All of these items must be present in the correct order; failure to do so
  49. can cause some strange results, like the modem getting the wrong codes at
  50. the wrong time, or having the program crash with a requestor saying
  51. something like "Read past end of file on #1" or something like that.
  52.  
  53. Follwing are some important notes about these parameters.
  54.  Text file= This is the full pathname of a text file to be displayed to the
  55.             user.  If this is blank, Answerer substitutes something
  56.             noncommital like "Sorry, no one is here to answer your call."
  57.             Typically the file says "Sorry, the Big Orange BBS is down for
  58.             maintenance; try calling back about 3:30."  Elaborate at will.
  59.  Log file= If present, this parameter is a pathname to a file in which a
  60.            log of Answerer-answered calls will be made, showing the date,
  61.            date, time, and baud rate.  If blank, no log is kept.
  62.  Message file= If this is not blank, the user will be presented with the
  63.                option of leaving a short message which will be appended
  64.                to this file along with the date and time of the call.
  65.                This can be the same as the Log file if desired.
  66.  Beeps= If you want the Answerer to beep when it connects, set this to a
  67.         non-zero value determing how many chords to arpeggiate (sp?).
  68.  Maximum baud rate= Whatever you put here should be your modem's maximum
  69.                     baud rate; don't put anything else on this line!
  70.  Modem setup= This should be a modem string which will set up your modem
  71.               and which MUST include the following details: it must set
  72.               auto-answer on (Hayes uses S0=2 or some other number of
  73.               rings), command echo off (Hayes E0), verbose codes on (Hayes
  74.               uses V1), and probably should shut the monitor speaker off
  75.               for your non-listening pleasure (Hayes M0).  Furthermore,
  76.               you need to make sure your modem reports Carrier correctly;
  77.               on 2400 baud Hayes modems, use &d2&C1 for this.  A typical
  78.               string for a SupraModem 2400 and most Hayes 2400 modems is
  79.               ATE0M0Q0X1V1S0=2S12=100&d2&C1
  80.  Modem reset= This is like Modem setup above but is what you want to do
  81.               when shutting Answerer down.  For example, shutting off
  82.               auto-answer is popular (S0=0) and it can't hurt too much to
  83.               zap it first (Z).  So try ATZS0=0&d2&C1.
  84.  Modem connect= There are actually 5 lines like this, numbered 300-9600.
  85.                 Fill in the string returned by the modem when a connection
  86.                 at that baud rate occurs.  Any that are not available on
  87.                 your modem should be listed as "not available" (logically).
  88. Check out my enclosed file for some working sample settings.
  89.  
  90. Now Answerer opens its little window with its text in white on orange (for
  91. visibility) and sets up, then loops through Idle mode (where you can pull
  92. down a menu for an About message or to Quit) to answering calls and doing
  93. its stuff.  There really isn't anything more to it.
  94.  
  95. Answerer tries to be small, quick, and quiet, but it isn't as quick as it
  96. wants to be as regards clock cycles--that is, it eats a bit too many.
  97. This is my intended main area of interest for the next revision.  I intend
  98. to concentrate on slowing down its appetite during Idle mode, but not
  99. anywhere else.  Hope it works.
  100.  
  101. If you like Answerer, SEND NO MONEY!  Just give me a call on my BBS and
  102. say hi.  (Or if Answerer is running--leave a message on my machine!)
  103. The Crystal Ship, 907-364-3362, 300-2400 baud, is open 24 hours and
  104. services all kinds of computers.
  105.  
  106. If you have some spare money laying around, pay off some other shareware
  107. you haven't paid for.
  108.  
  109. This program is in the public domain.  However, I retain the following
  110. rights:
  111.   1. I retain the right to use this code, concept, etc. for anything else
  112.      I want indefinitely.  So don't try to copyright it out from under me!
  113.   2. If you alter it, you must retain credit for me.  Expand the docs,
  114.      About window, etc. to give yourself credit but leave my credits in!
  115.   3. Any variations of any interest should be sent to me at my BBS above.
  116.      I guess I should give my address, though why someone without a modem
  117.      would use this program is beyond me... but you can USnail it to me
  118.      at Frank J. Perricone, 2132 Lawson Creek Road, Douglas AK 99824.
  119.  
  120.   //  Only Amiga
  121. \X/   makes it possible!
  122.