home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / comm / qmqmpc31.zip / PCBOARD.DOC < prev    next >
Text File  |  1989-12-28  |  21KB  |  456 lines

  1.  
  2.  
  3.                            file:  PCBOARD.DOC
  4.                            ------------------
  5.                              by Brad Berson
  6.                                 12/28/89
  7.                                   v3.1
  8.  
  9.                   "Brief" documentation on PCBOARD.SCR
  10. the Generic PCBoard ProLogon Qmodem Qmail PCBud Fully Automatic Script
  11.  
  12.  
  13. First and foremost...
  14. ---------------------
  15.  
  16. This release of scripts and documentation represents a radical rewrite
  17. of both.  I've been meaning to re-write it for a while, and having just
  18. seen Chuck Seyboldts CS-SCR07.ZIP (whose contents bear some remarkable
  19. similarities to this package and its predecessor) was just the kick in
  20. the butt I needed.  I previously had two scripts - one for ProLogon and
  21. one for PCboard.  These have been combined.  Some more intelligence has
  22. also been added to simplify maintenance and operation, and a few ideas
  23. were lifted from Chuck's scripts.  Et tu.
  24.  
  25. Don't worry if this document occasionally seems to lapse into rambling
  26. incomprehensibility.  I write most of this stuff late at night, and I
  27. hate writing any documentation I can't smoke.
  28.  
  29.  
  30. What the heck is all this, anyway?
  31. ----------------------------------
  32.  
  33. This is "brief" documentation.  That doesn't mean I'm writing about my
  34. shorts.  I'm just assuming you already know what Qmail and scripts are,
  35. so I don't have to go through it all.  PCBOARD.SCR is a script file for
  36. Qmodem SST, version 4.1b.  If you are still using 3.1a, there's no
  37. reason not to upgrade to 4.1b.  Do it, and do it now!
  38.  
  39. PCBUD is a script generator for Qmodem.  You provide it with names and
  40. descriptions of files you wish to upload/download, and it produces a
  41. script for Qmodem with all the commands necessary for hands-off up- and
  42. downloading files.  Chuck Seyboldt is responsible for PCBUD202.ZIP.
  43.  
  44. The main idea behind this script is to avoid littering your disk with
  45. zillions of little script files for every BBS you call.  All of us who
  46. have 100 entries in our Qmodem phone directory and an automatic script
  47. generator know full well how quickly your disk's free space dwindles to
  48. zilch.  This script is designed to allow automated logon and use of
  49. nearly any PCBoard BBS.
  50.  
  51.  
  52. What exactly does this all do?
  53. ------------------------------
  54.  
  55. When dialing into a PCBoard BBS that does not use QwikMail, this script
  56. will provide automated log-on and will return control to you when the
  57. regular PCBoard command prompt is reached.  If you have been auto-joined
  58. into a conference at log-on, the script will automatically (A)bandon the
  59. conference. This was included mostly for the QwikMail end of things.
  60. QwikMail is accessed through a 'DOOR' out of the BBS, and the number of
  61. the QwikMail DOOR is not always the same from one BBS conference to
  62. another.  Starting out in the same ("main") conference all the time
  63. assures that you open the correct DOOR.
  64.  
  65. When dialing into a PCBoard BBS that is equipped with QwikMail, this
  66. script will then open the QwikMail DOOR, download all the new messages
  67. and upload any replies that you may have prepared from a previous
  68. off-line QwikMail session.
  69.  
  70. The script will also look for and execute a script generated by PCBud.
  71. Before issuing the (G)oodbye command to the BBS, a 10 second delay is
  72. employed, to give you a chance to interrupt the script and remain
  73. on-line.  In fact, between all major sections of the script there are
  74. brief delays to allow interruptions or typing.
  75.  
  76.  
  77. The inner workings...
  78. ---------------------
  79.  
  80. Upon a successful connection from dialing (Alt-D):
  81.  
  82. *  The welcome screen is checked to see if ProLogon or PCboard is
  83.    being used.  I like to take advantage of the time-saving speed
  84.    logon available in ProLogon.
  85.  
  86. *  Comparison is made to check if the BBS is a QwikMail BBS, using
  87.    the name in the dial directory.
  88.  
  89. *  If the BBS is a QwikMail BBS, variables are set for later use,
  90.    indicating the door number for QwikMail (qmdn) and the transfer
  91.    protocol and the name of the .QWK file to be downloaded (and
  92.    .REP file to be uploaded).  Then a test is made for the existence
  93.    of .QWK and .REP files for that BBS and a flag set as necessary.
  94.  
  95. *  A test is made for a PCBud script and a flag set accordingly.
  96.  
  97. *  The screen is cleared and a sign-on message indicating the
  98.    connect parameters and the BBS name is displayed.
  99.  
  100.    If you seem to have trouble with the script recognising QwikMail
  101.    BBS's, make note of the exact formatting of the BBS name between
  102.    the "-><-".  Trailing spaces can trip you up here, and having an
  103.    apostrophe in the BBS name can blow up everything.
  104.  
  105. *  The usual logon questions are answered - language, graphics,
  106.    name (edited into the script), password (from the dialing dir).
  107.    If ProLogon was detected the time-saving speed-logon is used.
  108.  
  109. *  If the "user not found" message appears, a "c" is sent for
  110.    "(C)ontinue to register" and control is returned to the operator.
  111.    If a password exists in that dialing directory entry it will be
  112.    used to register you.
  113.  
  114.    The script will re-enter your name and password twice before
  115.    giving up and registering you as a new user, to allow for line
  116.    noise or lost characters affecting script operation.
  117.  
  118. *  If a conference has been auto-joined, it is abandoned.  This is
  119.    done because many boards do not have the same doors available
  120.    in the conferences as they do in the main boards/conferences.
  121.  
  122. *  If the BBS is detected as being a QwikMail BBS, the QwikMail
  123.    handler is started.
  124.  
  125.    If the QwikMail up/downloading flag is set to <N>either, the script
  126.    does not bother opening the QwikMail door.  Otherwise, the door is
  127.    opened and the packet uploading and downloading is done.
  128.  
  129. *  If there is still a .QWK file in the QMAIL directory for the BBS
  130.    you are connected to, the script will not download a new packet.
  131.    Otherwise a new packet will be downloaded.  Two reasons: preventing
  132.    the loss of a wanted packet by overwriting it, and to provide a neat
  133.    mechanism for automatically avoiding downloading a new packet while
  134.    in the script.  You can fake it out by having any file in the Qmail
  135.    directory with the name filename.QWK.
  136.  
  137. *  If there is a .REP file in the QMAIL directory for the BBS you
  138.    are connected to, it is uploaded.
  139.  
  140. *  After uploading a .REP file the screen is polled for " successful"
  141.    to determine the successful upload of the packet.  The .REP file is
  142.    deleted after a successful upload.  If the .QWK file presently on
  143.    disk wasn't just downloaded (that is, associated with the deleted
  144.    .REP), then it too is deleted.
  145.  
  146. *  If UD.SEG exists it is executed after returning to PCboard, so that
  147.    file transfers may be performed.  If CONFER.SCR exists, it will be
  148.    executed just before UD.SEG.  This was intended as a way to join
  149.    special or restricted conferences before uploading or downloading,
  150.    and can be used for other purposes as well.  See example CONFER.SCR
  151.  
  152. *  Once UD.SEG has completed the UD.SEG file will be renamed to UD.BAK.
  153.    Any previous UD.BAK is first deleted.  Re-using a .SEG file is as
  154.    easy as "REN UD.BAK UD.SEG".
  155.  
  156. *  If you were signed onto a QwikMail board but no mail was transferred
  157.    due to an existing .QWK file and no .REP file, and if UD.SEG did not
  158.    exist, it will be assumed that you want control returned to you.
  159.  
  160. *  Otherwise, the count-down to logoff is performed and the connection
  161.    subsequently terminated.
  162.  
  163.  
  164. In short (sort of)...
  165. ---------------------
  166.  
  167. The script is controlled mostly by what files happen to be lying around.
  168. In the case of BBS's set up for QwikMail:
  169.  
  170. BBSNAME.QWK    BBSNAME.REP    BBSNAME.QWK    UD.SEG         BBSNAME.QWK
  171. BBSNAME.REP    UD.SEG         UD.SEG
  172. UD.SEG
  173. -----------------------------------------------------------------------
  174. no qmail d/l   qmail d/l      no qmail d/l   qmail d/l      no qmail
  175. qmail u/l      qmail u/l      no qmail u/l   no qmail u/l   no xfers
  176. file xfers     file xfers     file xfers     file xfers     stay online
  177. auto logoff    auto logoff    auto logoff    auto logoff
  178.                                              +--------------------------
  179. BBSNAME.REP    BBSNAME.REP    no             |With BBS's not set up for
  180. BBSNAME.QWK                   files          |Qmail, existence of UD.SEG
  181. ------------------------------------------   |will start file xfers and
  182. no qmail d/l   qmail d/l      qmail d/l      |auto-logoff.  Otherwise,
  183. qmail u/l      qmail u/l      no qmail u/l   |the script will leave you
  184. no xfers       no xfers       no xfers       |on-line
  185. auto logoff    auto logoff    auto logoff    +--------------------------
  186.  
  187. The script tries to delete REP files after they've been uploaded and
  188. renames the UD.SEG file to UD.BAK, so just the QWK files are up to you.
  189.  
  190.  
  191. What do I have to do now?
  192. -------------------------
  193.  
  194. You don't use QwikMail or offline readers?  Then you don't have to do a
  195. single thing, except maybe delete the lines in PCBOARD.SCR that try to
  196. identify the BBS you are using for Qmail.  Just type PCBOARD.SCR in the
  197. "attached script" field of your dial directory entries.
  198.  
  199. The automated Qmail feature does not come without some work to get it
  200. all going.  The first thing you should do is make a printout of the
  201. PCBOARD.SCR file.  Much of what you need to know or to find out is
  202. already in there.  Look at the script carefully so that you understand
  203. most of what it's doing.  Some of the logic may seem warped due to the
  204. inflexible script language.  A copy of the Qmodem SST documentation will
  205. also help.  Read the comments carefully.  And I cannot stress the next
  206. recommendation enough:  READ ALL THE DIRECTIONS for this script, Qmodem
  207. scripts and PCBud.
  208.  
  209. The first thing you should do is edit your own particulars into the
  210. PCBOARD.SCR file.  Your own name should be edited into the script, as
  211. well as the directory specification for your QwikMail files and reader.
  212. Make sure PCBud leaves its UD.SEG file in the directory that Qmodem
  213. has been configured to look for scripts in.  The variables here are
  214. 'name' and 'qdir.'
  215.  
  216. Next, start up Qmodem SST and edit your phone directory to specify this
  217. PCBOARD.SCR file next to all PCBoard BBSs in your directory.  Also edit
  218. your phone directory to include the respective passwords for each BBS.
  219. Using Alt-N/D/S, make sure Qmodem can find where you put your scripts.
  220.  
  221. Once you have gotten this far, you can dial into your PCBoard BBSs and
  222. lean back to watch fully automated log-ons.  It's Willer time...
  223.  
  224. IMPORTANT NOTES:  If you receive a Qmodem error about "Insufficient
  225. space" while the script is executing, you will need to increase script
  226. variable memory.  Qmodem uses 2K as a default - 3K should do fine.  Use
  227. Alt-N/O/M/S to change this value, and restart Qmodem for the change to
  228. take effect.
  229.  
  230. If you remove some of the tests for Qmail BBS's that I have included in
  231. the script and just have one or two of your own, you may not need to
  232. increase the script variable memory.  Removing this "excess baggage"
  233. will also speed the script loading and execution.
  234.  
  235.  
  236. But what about QwikMail???
  237. --------------------------
  238.  
  239. If you live in or around New York City, most of the dirty work has been
  240. done already.  Otherwise, you will need to know the number of the DOOR
  241. used to access QwikMail for each individual QwikMail BBS.  You will also
  242. need to know the filename that each QwikMail BBS uses for its respective
  243. QwikMail upload and download packets.  You can find this out when you
  244. log onto a QwikMail BBS, open the QwikMail door, and configure the
  245. QwikMail system for yourself.
  246.  
  247. The Qmail-3 door has configuration options for extended and delayed
  248. script prompts. These are not required.  This script has been designed
  249. to work without special prompts.
  250.  
  251. Armed with all this knowledge, edit the script starting where the lines
  252. read 'IF "$board" = '.  This is how the script knows whether you are
  253. using a QwikMail-capable BBS or not.  These lines compare the dialing
  254. directory information.  Thus, the comparisons should match your dialing
  255. directory entries EXACTLY.  Trailing spaces can screw things up, so make
  256. sure to go into the dialing directory and check that the Qmail board
  257. entries don't have trailing spaces after the name.
  258.  
  259. The variable 'qmdn' is the DOOR number to be used for QwikMail, and
  260. 'qbbs' is the filename for the QwikMail packets.  Make sure that each
  261. target of a successful comparison has the line 'GOTO STARTUP.'  You can
  262. add as many comparisons as you need, following the same logic as shown
  263. in the script.  Just pick a new label.  Example:
  264.  
  265. Add the comparison:    IF "$board" = "Sleepy Hollow BBS" HOLLOW
  266. Add the code block:    HOLLOW:
  267.                        ASSIGN qbbs "SLEEPY"    ; this is correct
  268.                        ASSIGN qmdn "5"         ; door # here may not be!
  269.                        ASSIGN spro "Z"         ; zmodem to be used
  270.                        GOTO STARTUP
  271.  
  272. The section of PCBOARD.SCR for identifying Qmail boards is separated
  273. by dotted lines for easy identification.  When upgrading the script
  274. (assuming no drastic changes have been made to the script logic) you
  275. can simply "cut-and-paste" everything between the lines.
  276.  
  277.  
  278. There's more?
  279. -------------
  280.  
  281. To use the Ymodem protocol (aka Xmodem-1K), just use the appropriate
  282. letter for the variable(s) $spro - "O".  To use Zmodem it must be
  283. installed as an external protocol.  Since my up/download directories
  284. are not the same as my Qmail directory, I installed Zmodem for regular
  285. upload- and downloading as "Z", and as "Q" for the Qmail directory.
  286.  
  287.  
  288.              ═════ Setup Menu ══════════════════
  289.              Host *   Protocols *   Files    O
  290.              ═════╒═══════════════════╕═════════        (Isn't Desqview's
  291. Make this "Z" --> │ 0 -  DSZ Zmodem   │                  cut-and-paste
  292. Make this "E" --> │ 1 -  DSZ Recovery │                  wonderful?!)
  293.                   │ 2 -  DSZ Qmail    │
  294.                   ╒═════════════════════════════════╕
  295.                   │ Select character   Q            │
  296.                   │ Protocol           DSZ Qmail░░░ │
  297.                   │ Upload BAT         QSZ.BAT░░░░░ │
  298.                   │ Download BAT       QRZ.BAT░░░░░ │
  299.                   │ Filename Prompt    N            │
  300.                   ╘══════════════════════════F1 Help╛
  301.  
  302. This is how your Qmodem external protocol setup might look like.
  303. (Your DSZ parameters may need to be different!)
  304.  
  305. QRZ.BAT contains:
  306.  
  307. ECHO OFF
  308. CLS
  309. ECHO %0 - Qmodem Q protocol - Zmodem receive for Qmail use
  310. CD \COMM\QMAIL
  311. C:\COMM\DSZ port %2 handshake both pB8192 rz C:\COMM\QMAIL
  312.  
  313. QSZ.BAT contains:
  314.  
  315. ECHO OFF
  316. CLS
  317. ECHO %0 - Qmodem Q protocol - Zmodem send for Qmail use
  318. CD \COMM\QMAIL
  319. C:\COMM\DSZ port %2 handshake both pB8192 sz %3
  320.  
  321.  
  322. Just some notes:
  323. ----------------
  324.  
  325. Are you using the Sparkware QwikMail Reader you downloaded from the BBS?
  326. Yeah, seems kinda clunky, doesn't it?  You can pay yer bucks and hope
  327. you like the Qmail Deluxe Reader or you can download EZ-Reader now and
  328. and get almost complete functionality immediately.  I think EZ-Reader
  329. is a much better product, too.  Whatever you settle on, register it.
  330. Please do your part to support shareware.
  331.  
  332. All the files you need are from the Qmail or EZ-Reader programs,
  333. PCBUD202 and of course PCBOARD.SCR and all the Qmodem SST files.  I've
  334. included Chuck's PCBUD program for simplicity.  The files in this
  335. archive are:
  336.  
  337.         PCBOARD.SCR     The QModem PCboard ProLogon QMail PCbud script.
  338.         PCBOARD.DOC     You're reading it!
  339.         PCBUD202.COM    PCBud executable progam.
  340.         PCBUD202.DOC    Documention for PCBud.
  341.         PCBUD202.PAS    Turbo Pascal source code for PCBud.
  342.         CONFER.SCR      Example conference-joining script.
  343.         DBBS.SCR        A bonus!  This is for dBBS logons.
  344.  
  345. If this helps avoid some confusion in the script file, or to organise
  346. your own system, the way my system directories are set is:
  347.  
  348.         C:\COMM                 Qmodem and other comm. related programs
  349.         C:\COMM\UPDOWN          Upload and download files
  350.         C:\COMM\SCRIPTS         Script (.SCR) files and PCBud program
  351.         C:\COMM\QMAIL           EZ-Reader Qmail reader program files
  352.                                 - also destination for Qwikmail packets
  353.  
  354.  
  355. Other notes:
  356. ------------
  357.  
  358. Warning:  Some versions of Chuck Forsberg's DSZ only accept a pathname
  359. on the command line in copies registered via the PUTSNP program.  The
  360. workaround is to "CD" to the directory and just use a filename without
  361. a path specification.  Certain versions will abort inexplicably due to
  362. this usage - later versions explain the error.
  363.  
  364. While "QwikMail" is used consistently through this document, this script
  365. is compatible with MarkMail as well as all current versions of QwikMail.
  366. Your reader program may be the Shareware Qmail reader, the "commercial"
  367. Qmail Deluxe or (my preference) Eric Cockrell's Shareware EZ-Reader.
  368.  
  369. You don't like the way the script handles things like file renaming or
  370. deletion?  Fine.  Feel free to edit the script.  The language is nearly
  371. self-explanatory.  You can disable lines simply by inserting semicolons
  372. before them.  You're familiar with DOS commands by now, so they're easy
  373. enough to change to.  The ">NUL" in the DOS lines are so you don't have
  374. to see messages from DOS while the script is doing its thing.
  375.  
  376. Known problems:  The PCBud scripts need one or two small tweaks.  It
  377. looks for "Aborts Transfer" to begin a file transfer, but some PCBoards
  378. send "Aborts the Transfer" instead.  The source can always be edited and
  379. recompiled to look just "Aborts ".  Also, it doesn't seem to reliably
  380. detect when a filename has not been found.  But heck, you've got the
  381. source code!
  382.  
  383. All this stuff works for me, tested mostly on boards local to New York
  384. City.  It's pretty reliable but nothing in the world is guaranteed,
  385. which brings me to...
  386.  
  387. If you have any suggestions or comments please leave them addressed to 
  388. BRAD BERSON on the Sound of Music BBS (516) 536-8723 or the Invention
  389. Factory BBS (212) 431-1273.  I can also be reached through Compuserve 
  390. EasyPlex at [71631,132].  Another good way to reach me is by leaving
  391. me a message on the International Qmodem support BBS echo.  There you
  392. can find the Qmodem author, John Friel, and many knowledgable Qmodem
  393. users, supporters and enthusiasts to answer your questions and give you
  394. the latest news about Qmodem SST!
  395.  
  396. You can send me money, gold, titles to cars and homes, 80486 systems,
  397. OS/2 software, expensive consumer electronics, yuppie furniture, rare
  398. art, exotic motorcycles and young, attractive HIV-negative women at
  399. ABC-TV, Inc., 47 West 66th Street, New York, NY  10023.
  400.  
  401.  
  402. You thought I forgot to include what changed...
  403. -----------------------------------------------
  404.  
  405. *  This is almost totally rewritten!  Less filling!  Tastes great!
  406.  
  407. *  PROLOGON.SCR is history, functions now integrated.
  408.  
  409. *  Speed logon is handled better, routing directly to Qmail door.
  410.  
  411. *  No longer quits door before logoff.
  412.  
  413. *  Password on door exit and logoff questionnaire handlers fixed.
  414.  
  415. *  Supports MarkMail, Qmail-2 and Qmail-3.
  416.  
  417. *  My proofreader's on strike but I used a sperling checker.
  418.  
  419. *  I'm making believe I have a sense of humour.
  420.  
  421. *  Detection of successful REP uploads independant of protocol.
  422.  
  423. *  Also deletes QWK file along with REP file.
  424.  
  425. *  Renaming of used UD.SEG to UD.BAK (previous UD.BAK overwritten).
  426.  
  427. *  Count-down at logoff timing is corrected.
  428.  
  429. *  I'm still trying to make an Epson MX-80 into a rolling machine.
  430.  
  431. *  I still haven't found a source for continuous-form EZ-widers.
  432.  
  433. Version 3.1:
  434.  
  435. *  Beeps at logoff, and keeps beeping/trying if can't drop carrier.
  436.  
  437. *  New users into ProLogon fixed up.
  438.  
  439. *  Assumes PCboard if can't decide which.
  440.  
  441. *  Fixed script stopping with "graphics mode off".
  442.  
  443. *  Fixed Qmail-2 skipping empty packets when not scanning new files.
  444.  
  445. *  One-keystroke interruptable countdowns between routines.
  446.  
  447. *  Fixed DBBS.SCR for when error-correcting modems eat its welcome.
  448.  
  449. *  Changed logic in numerous places for absolutely no reason at all.
  450.  
  451.  
  452. ***********************************************************************
  453. **  Smoking this documentation has been known to cause sudden death  **
  454. **  in laboratory ani ;askdffffffffffffffffffffffffffffffffffffffffffff
  455.  
  456.