home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / comm / boyan2.zip / OZBEXT84.DOC < prev    next >
Text File  |  1988-06-25  |  19KB  |  343 lines

  1. OZBEXT Documentation
  2. ====================
  3.  
  4. Version 8.4d (06/24/88)
  5. Copyright (c) 1987,1988 Steve Sneed/Ozarks West Software  (71520,77)
  6.  
  7. No charge or request for renumeration is made for private, non-commercial use.
  8. This program may be distributed by any means, magnetic or electronic, and
  9. may be included with another program package, as long as the following
  10. restrictions are met:
  11.  
  12.   1.  No charge is made for such distribution.  Bona-fide "User's Groups" and
  13.       computer clubs may charge a copying/media fee not to exceed $5.00.
  14.       Specific licence is given to FOG (the First Osborne Group) and The
  15.       Public (Software) Library to distribute this package.  Specific license
  16.       is also granted to CompuServe Inc. and its employees and assigns to use
  17.       the program and include it with other products and services if proper
  18.       credit is given.  Distribution via electronic Bulletin Board Systems
  19.       is encouraged.
  20.  
  21.   2.  The program and its documentation are distributed unchanged in any way,
  22.       and packaged together in original format.
  23.  
  24.   3.  Proper credit is given in other documentation referencing this work.
  25.  
  26.   4.  Commercial or business use requires a licence.  Contact the author at
  27.       one of the addresses below for more information.
  28.  
  29. Portions of this program are copyrighted by CompuServe Inc., TurboPower Soft-
  30. ware, Inc., and Borland International.  This program was written in Turbo
  31. Pascal 4.0.  "GIF" and "Graphics Interchange Format" are registered trademarks
  32. of CompuServe Incorporated, an H&R Block Company.
  33.  
  34.  
  35. What it is
  36. ==========
  37.  
  38. OZBEXT is an external protocol module supporting the CompuServe "B" and "B-
  39. Plus" (often known as "QuickB") protocols for transport layer communications
  40. with error-correcting file transfer capability.  It also supports a subset
  41. of the CIS "VidTex" (VT52) terminal emulation standard for screen and cursor
  42. handling, and VT100 emulation for block graphics and screen colors.  While
  43. there are currently no applications on CIS that use the actual "Transport
  44. Layer" capability of BPlus, there are several planned; I intend to make
  45. implementations of those applications available as they are documented and
  46. released.  Also, as of the release date of this version of the program, the
  47. full BPlus functionality for transfers is available only in Level 5 FILTRN
  48. on CIS as a testing venue and is limited to the restricted implementation
  49. ("QuickB") elsewhere, including the forums.  This will change "any day now";
  50. in the meanwhile this program supports the existing protocol implementation
  51. as well as the enhanced version soon to be released.  There are a few minor
  52. points of the protocol standard that are yet to be settled; updated versions
  53. of this program will be released as those points solidify.
  54.  
  55. OZBEXT allows almost anyone with communications programs that either support
  56. external protocol modules directly (such as Boyan, QModem, PibTerm or OzCom),
  57. or provides a "drop to DOS" capability, to take advantage of the superior per-
  58. formance of the "B" and "BPlus" (hereafter called BP) protocols for file
  59. transfers on CIS.  Some programs (such as earlier versions of BitCom) have
  60. problems with external modules; there are several exellent help files for
  61. these programs on the IBMNEW SIG on CIS which explain how to use this and
  62. other protocol modules with these "problem" programs.
  63.  
  64.  
  65. Calling
  66. =======
  67.  
  68. OZBEXT is totally command-line driven.  That is, the program is configured
  69. from information provided on the command line when calling the program.
  70. OZBEXT has been designed to default to a typical set of values, and if these
  71. default values are acceptable no command line parameters are required.
  72. Parameters are not required to be in any specific order, and capitalization
  73. is not important.  The program automatically detects the current baud
  74. rate and parity settings for the default or selected port so you typically
  75. do not have to provide that information unless you want to change one or
  76. more port settings.
  77.  
  78. Parameters consist of a slash (/) or dash (-), immediately followed by a
  79. command letter, and optionally followed by a space and a qualifying value.
  80. All parameters on the command line *must* be seperated by spaces.  The
  81. adjustable parameters (and their command line calls) are:
  82.  
  83. Port: Defaults to COM1.  If you have the environment variable OZPORT or
  84.       DSZPORT set (typically in your AUTOEXEC.BAT file), the default will
  85.       be overridden with that setting.  If you supply the parameter "-C"
  86.       followed by a space and a number (1 thru 4), the port will be set to
  87.       that value.  NOTE: It has come to my attention that the new IBM PS/2
  88.       machines have "non-standard" addresses for COMs 3 and 4.  A future
  89.       release of this program will provide command-line parameters for linking
  90.       to these odd base addresses.
  91.  
  92. BaudRate: Defaults to the existing baud rate for the port in question.  Can
  93.       be overridden by the "-B" parameter followed by a space and a valid
  94.       baud rate.  Available baud rates are: 300, 1200, 2400, 4800, 9600,
  95.       19200, 38400.
  96.  
  97. Parity: Defaults to the existing parity setting for the port in question.
  98.       Can be overridden by the "-P" parameter followed by a space and a
  99.       valid character for the parity type wanted.  Valid parity types are:
  100.       (N)one, (E)ven, (O)dd, (M)ark or (S)pace (characters in parenthesis
  101.       are the calling characters.)  *NOTE* If the port is set to None parity
  102.       and 8 data bits, and you call for a parity type other than None, the
  103.       data bits setting is automatically reset to 7.  Likewise, if the port's
  104.       existing setting is for something other than None parity and you call
  105.       for None parity on the command line, the data bits setting is auto-
  106.       matically set to 8.  This can be overridden via other parameters; see
  107.       below.
  108.  
  109. DataBits: Defaults to the existing port setting.  Can be overridden by the
  110.       "-W" parameter followed by a space and a valid databits value
  111.       (5 thru 8.)  Note that if 5 databits is selected, the stopbits value
  112.       is automatically set to 1.5 and cannot be overridden (this is built
  113.       into the 8250 and 16450 UART chips.)
  114.  
  115. StopBits: Defaults to the existing port setting.  Can be overridden via the
  116.       "-S" parameter followed by a space and a valid stopbits value
  117.       (1 or 2.)  See the note in the DataBits section concerning this value.
  118.  
  119. Duplex: Defaults to Full Duplex transmission.  Can be set to half duplex by
  120.       using the "-H" parameter.
  121.  
  122. Drop DTR on exit: Defaults to NO.  If you want the program to drop the modem
  123.       DTR control line (hanging up any call in progress), use the "-D"
  124.       parameter.  NOTE: some modems are finicky and do not drop a connection
  125.       when DTR is dropped - you should test this function with your modem
  126.       before totally relying on it to disconnect a call.
  127.  
  128. Exit on Transfer Completion: Defaults to NO.  If you want the program to auto-
  129.       matically exit cleanly after the successful completion of a transfer,
  130.       use this switch.  Setting this switch automatically overrides the state
  131.       of the "Alarm" internal switch (the Alt-S command) so no keypress is
  132.       required at xfer end.  This also can be controlled via the Alt-E command
  133.       inside the program.  This functionality allows you to establish an
  134.       automated script for your existing comm program that, on completion of
  135.       a download, returns you to your comm program and then automatically
  136.       logs off of CIS cleanly.
  137.  
  138. Clear screen on entry/exit: Defaults to YES.  If you do not want the program
  139.       to clear the screen on entry and exit (just give you a notice that the
  140.       program is loaded and operational), you can use this switch.  Using
  141.       this switch allows you to continue to see the last screen of the
  142.       calling program, and to see where you were when returning.
  143.  
  144. Parameters:
  145.  
  146. -C : Sets port.  Default is COM1.  Valids are 1 thru 4.
  147. -B : Sets baudrate.  Default is port setting.  Valids are 300, 1200, 2400,
  148.      4800, 9600, 19200, 38400.
  149. -P : Sets parity.  Default is port setting.  Valids are N, E, O, M, S.
  150. -W : Sets databits.  Default is port setting.  Valids are 8, 7, 6, 5.
  151. -S : Sets stopbits.  Default is port setting.  Valids are 1 or 2.
  152. -H : Sets half-duplex mode.  Default is full-duplex.
  153. -D : Sets to drop DTR on exit.  Default is to leave DTR high so as not to
  154.      disconnect a call in progress.
  155. -X : Exit-on-transfer-completion.  Default is to return to OZBEXT's internal
  156.      terminal emulation mode when the transfer is done.
  157. -Z : Clear-Screen-on-entry/exit.  Default is to clear the screen.
  158. -? : Display a help/info screen and exit.
  159.  
  160.  
  161. Command line examples:
  162.  
  163. OZBEXT{enter}
  164.    - calls OZBEXT for standard setting and default port and parameters.
  165.  
  166. OZBEXT /c 2{enter}
  167.    - calls OZBEXT for COM2 with all other settings standard.
  168.  
  169. OZBEXT /p E /h{enter}
  170.    - calls OZBEXT at Even parity, default port and speed, and sets half-duplex
  171.      mode.
  172.  
  173. OZBEXT /c 1 /p e /w 7 /s 1 /b 2400{enter}
  174.    - calls OZBEXT with all port parameters specifically defined.  Note that no
  175.      special order is enforced on the parameters.  While this is perfectly
  176.      legal for the program, it is typically overkill unless your comm program
  177.      does something wacky to the port when exiting.
  178.  
  179. OZBEXT /d{enter}
  180.    - calls OZBEXT with the "drop DTR on exit" flag set.  Never recommended un-
  181.      less you are using OZBEXT as a "stand-alone" comm program and want to
  182.      make sure the call is disconnected on exit.
  183.  
  184.  
  185. Using
  186. =====
  187.  
  188. OZBEXT is simple to use - consider it an extension of your existing comm pro-
  189. gram.  OZBEXT knows how to talk to CIS about itself so that CIS automatically
  190. takes advantage of the program's powers, with one exception: if you do not
  191. have VIDTEX set with CIS as your default terminal emulation, CIS will not
  192. "force" VidTex cursor controls on the system.  While I personally recommend
  193. you use the VidTex capabilities, it will also depend on the emulation of
  194. your main comm program - most general-use comm programs do not understand
  195. the VidTex control sequences and would cause garbage to be displayed.  If
  196. you want to use VidTex, do a "GO TERMINAL" at any CIS "!" prompt and follow
  197. the prompts for "Setting your terminal type", or type "SET TERM VIDTEX" at
  198. almost any "!" prompt.  The VidTex terminal emulation command set is very
  199. close to the DEC VT52 emulation, so if your comm program supports VT52 you
  200. can use that emulation with (usually) good success.  Many programs like the
  201. VT100/ANSI emulation - OZBEXT fully supports the VT100 screen-handling
  202. commands.  However, to use this program's VT100/ANSI support you must have
  203. ANSI.SYS loaded via a call in your CONFIG.SYS file (see your DOS documentation
  204. for more information.)  Also, if you use FANSIConsole (a multifeatured ANSI
  205. replacement), be sure to turn off Fansi's fast-screen-updating capability as
  206. it causes grief for this and many other programs that use DOS standard output
  207. redirection for character-based display.
  208.  
  209.  
  210. The following commands are available within OZBEXT:
  211.  
  212.   Alt-X: Exits the program.
  213.   Alt-E: Toggles the state of the Exit_On_Transfer_End flag.
  214.   Alt-S: Toggles the state of the Alarm_On_Transfer_End flag.  Note that this
  215.          flag is overridden if the Exit_On_Transfer_End flag is set ON.
  216.   Alt-R: If my OZRLE CIS graphics module is available in the same directory
  217.          as this program, it will be loaded.  See the OZRLE docs for info.
  218.   Alt-H: Toggles the Half-duplex/Full-duplex flag.
  219.   Alt-D: Toggles the Drop_DTR_On_Exit flag.
  220.  
  221. When calling OZBEXT, be sure to call the program *prior* to telling CIS you
  222. want a transfer.  CIS sends a special code to the remote program (you) asking
  223. the remote if it does in fact support BP.  Most comm programs are much more
  224. generic in nature and do not understand this special interrogation, so they
  225. do not reply and CIS aborts the transfer.  OZBEXT must be loaded prior to
  226. receiving this interrogation so that it properly responds and CIS allows the
  227. transfer to take place.  (This special interrogation is done only when a BP
  228. transfer is requested - it is not used and has no effect on any of the other
  229. transfer types supported by CIS.)  Some programs that support certain CIS
  230. capabilities, such as ProComm Plus, reply in their own way to this inter-
  231. rogation, and these program's replies may or may not match OZBEXT's actual
  232. capabilities - when using one of these programs, be sure to load OZBEXT
  233. before CIS sends the interrogation.
  234.  
  235. Also, it is important to note that you do not have to change your comm
  236. program's parameters in order to use this program.  It's come to my attention
  237. that some users are logging on to CIS at 7/E/1 but calling OZBEXT with the
  238. command-line switches set to 8/N/1 because they assume that they need 8/N/1
  239. for the transfer.  You do need 8/N/1 for the transfer *itself*, but CIS
  240. does not switch to 8/N/1 until it actually begins the protocol transfer -
  241. all prompt answering, etc. is still done at the caller's original 7/E/1
  242. parameters, including the interrogation/response sequence mentioned above.
  243. OZBEXT automatically switches to 8/N/1 at the proper time to do the
  244. transfer and then back as soon as the transfer is complete; the user is
  245. not notified and never sees or notices the changes.  Therefore, unless
  246. your comm software or system is unusual, you can best use this program by
  247. passing it no command-line parameters except those absolutely nessessary
  248. for operation or those flag settings you desire.  In other words, don't
  249. use the -C, -B, -P, -W or -S command-line params unless you *have* to.  Oh,
  250. yes:  there are some rather poorly-made modems and serial cards out there
  251. that do not like to change parity/databits once a connection is established.
  252. If you have problems trying to do a transfer when logged onto CIS at 7/E/1,
  253. do a GO TERMINAL at almost any ! prompt and follow the menus to set your
  254. default parity to NONE.  Be sure to save the new setting for future sessions
  255. as you exit the TERMINAL area.  From then on, log onto CIS at 8/N/1 and you
  256. should see no more problems.
  257.  
  258. If the comm program you are using does not restore keyboard control on
  259. return from a shell out to OZBEXT (or any other external program), a
  260. simple fix that often works is to go to that program's area for setting
  261. the communications parameters and switch from the current parity setting
  262. to some other setting and then back (example: if you are currently at
  263. 7/E/1, switch to 8/N/1 and then back to 7/E/1) - this will usually clear
  264. the port and restore your keyboard functions.  Older versions of the BitCom
  265. software included with many modems are known to demonstrate this problem.
  266.  
  267.  
  268. What's new with 8.4
  269. ===================
  270.  
  271. CIS recently changed the programming in the User Profile Area (GO TERMINAL),
  272. and these changes have caused some minor confusion because the host (CIS)
  273. switches to 7/E/1 parameters at a time when most comm programs do not expect
  274. it.  OZBEXT now maps all incomming characters at the port to 7 data bits
  275. (except during a protocol transfer) to eliminate this problem.
  276.  
  277. The processing of the B+ transfer was changed slightly.  Previous versions of
  278. this program did not display the transfer window until the actual file trans-
  279. fer itself was initiated.  However, right after telling CIS to start the
  280. transfer a negotiation packet (or series of packets) is processed between the
  281. host and the remote.  During periods of high network traffic, this negotiation
  282. process could take enough time to make a impatient user think the protocol
  283. had died.  Therefore I changed the transfer window opening process to display
  284. the transfer window while this negotiation is taking place so the user can
  285. see what is going on.
  286.  
  287. All keyboard Alt-key toggles now display a small information window at the
  288. top right corner of the screen.  For example, if you pressed Alt-D to toggle
  289. the Drop_DTR_On_Exit flag, a small reverse-video blurb is displayed telling
  290. the new state of the flag.
  291.  
  292.  
  293. Kudos, congrats, karma enhancements
  294. ===================================
  295.  
  296. Many, many thanks to the CIS IBMNET sysops, Connie Kageyama, Don Watkins and
  297. Chris Dunford, for their help with BETA testing and debugging.
  298.  
  299. Comm software can be very complex, even in a relatively small, single-purpose
  300. package such as this.  Very, very seldom is a program of any size the total
  301. work of one individual, especially in a comm program where so many areas of
  302. expertise are required.  Nothing irks me more than to hear some programmer
  303. say, "Yep, it's all mine!  Ain't it great?" when his code is peppered with
  304. one person's async handler, another person's video handling code, etc., etc.,
  305. ad infinitum ad nausium.  Here are some of the fine folks who's good honest
  306. skull sweat has made this program possible:
  307.    Kim Kokkonen and the folks at TurboPower Software: too many little handy
  308.       routines thruout the code to mention.  Exellent work!  If you program
  309.       in Turbo Pascal, and you don't use the Turbo Professional library,
  310.       you're missing a bet!
  311.    N. Arley Dealey: the majority of the timing routines.  Arley's timer code
  312.       is as bulletproof as any available for Turbo Pascal.
  313.    Russ Ranshaw, CIS: the overall implementation of the BPlus protocol.  Russ'
  314.       code is the heart of this program, although I've tweaked here and there
  315.       and implemented my comm routines.  The B series protocols are a very
  316.       tricky coding job - Russ' good, clean code and understandable docs
  317.       make it very easy.
  318.    Chris Dunford, CIS:  several years ago Chris released a Turbo Pascal in-
  319.       clude file called ASYNC.PAS - it is either the basis of, or the pattern
  320.       for, most of the Turbo Pascal serial port handlers in use today.  I've
  321.       modified the original code so many times it's almost unrecognizable, but
  322.       I still thank Chris for the stable foundation on which to build, and I
  323.       still defer to his deep expertise when I hit something I don't know.
  324.  
  325.  
  326. Finally, thanks to all the users who have pointed out bugs and deficiencies
  327. and provided exellent suggestions that have helped make the program what
  328. it is.  If you like the program and its capabilities, thank them instead
  329. of me.
  330.  
  331. This program is dedicated to my darling daughter Whitney.
  332.  
  333.  
  334. Steve Sneed
  335. Ozarks West Software
  336. 409 San Juanico
  337. Santa Maria, CA.  93455
  338. CIS ID  71520,77
  339.   or
  340. The C2G BBS  805-925-0378  300/1200/2400  24hrs.
  341.  
  342. <eof>
  343.