home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 June / SIMTEL_0692.cdr / msdos / cis / ozbext13.arc / OZBEXT.DOC next >
Text File  |  1989-09-19  |  37KB  |  727 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                                     OZBEXT
  21.                                  Version 13.2b
  22.     An external protocol module for the CompuServe "B" and "BPlus" protocols
  23.  
  24.                            Copyright(c)1987,1988,1989
  25.                                   Steve Sneed
  26.                                 CIS ID 71520,77
  27.  
  28.  
  29. Welcome to OZBEXT!
  30. ------------------
  31.  
  32. OZBEXT is an "external protocol module", a program that allows you to add
  33. the CompuServe "B" and "BPlus" file transfer protocols into other communi-
  34. cations programs.  While not designed primarily as such, the program can
  35. also be used as a (limited) stand-alone communications package for accessing
  36. the CompuServe Information Service (CIS).
  37.  
  38. Popular file transfer protocols such as XMODEM do not function well under
  39. CompuServe's complex packet-switching network.  The KERMIT protocol, while
  40. operational, is very slow on CIS.  CompuServe developed the B/B+ protocols
  41. to provide optimum performance on the network - it is the recomended method
  42. of file transfer when using CIS.
  43.  
  44. In addition, OZBEXT supports both the ANSI/VT100 and VT52/Vidtex terminal
  45. emulations used by CIS for attractive screen handling.  A wide range of
  46. options, both on the command line and within the program, allow you to
  47. configure the program to match your needs.  The program automatically
  48. matches itself to your existing communications port configuration, meaning
  49. you do not have to worry about setting things like baud rate and parity
  50. when calling the program.
  51.  
  52. OZBEXT works with all major commercial and shareware/freeware communications
  53. programs, and can be used with any comm program that can shell out to DOS
  54. without dropping the connection.  On those programs that provide the capa-
  55. bility, OZBEXT works best when set up as an external protocol callable from
  56. within the program (examples are ProComm Plus, QModem, Boyan and GT-PowerComm.)
  57.  
  58. If you want or need the ability to view CompuServe's RLE and GIF graphics,
  59. such as the radar weather maps, CB pictures, stock trends analysis, and the
  60. over 5000 graphics images in the Graphics Trilogy forums, you will want to
  61. get OZBEXT's sister program, OZRLE.  OZRLE provides all the capabilities of
  62. this program plus adds the ability to view, offline or online in realtime,
  63. the available graphics files and displays CIS provides.  In addition, OZRLE
  64. automatically captures images viewed online to a file for later offline
  65. viewing, saving you substantial connect-time charges.  OZRLE supports all
  66. major IBM video hardware types, including Hercules monochrome, CGA, EGA,
  67. MCGA, VGA, and many "Super" VGA cards.
  68.  
  69.  
  70. Before we start...
  71. ------------------
  72.  
  73. Please read this documentation completely.  I know you want to get using the
  74. program right away, but taking a few minutes now may well save you time and
  75. money (in connect-time charges) later.  The program is very simple to use,
  76. and for most users' configurations is fully automatic, but an ounce of pre-
  77. vention is worth a pound of cure.  Thanks!
  78.  
  79. It is assumed throughout this document that you have a good basic under-
  80. standing of DOS commands, batch files and batch file commands, what
  81. "environment variables" are and how to set them.  If this is not the case,
  82. please have a good MS-DOS tutorial book handy in case I use unfamiliar
  83. terminology.
  84.  
  85. Help for this program is available online in the IBMNew forum on CompuServe.
  86. Many program-specific help files written by SysOp Connie Kageyama are
  87. available in LIBrary 2 of that forum.  Do a "DIR *.HLP" at the "!" prompt
  88. in that library for a list of those files, or do a "BRO/KEY:HELP" at the
  89. same prompt.  The sysops themselves are available to answer questions, and
  90. of course I frequent the forums to help users.
  91.  
  92.  
  93.  
  94. The Legalese...
  95. ---------------
  96.  
  97. This program is the copyrighted work of its author, Steve Sneed.  All rights
  98. under US copyright law are reserved.  The author hereby grants to private,
  99. noncommercial users of this program a limited license to use, copy and
  100. distribute the program free of charge, as long as:
  101.  
  102. a) the program and its accompanying files are not modified in any way other
  103.    than changing the "archive format" used to store and transmit the program;
  104.  
  105. b) no charge is made for any distribution beyond a nominal disk/duplication
  106.    fee; and
  107.  
  108. c) the distribution of the program is not done by a business, company or
  109.    private entity whose primary business purpose is the distribution of
  110.    public domain and/or "shareware" software, by any means magnetic or
  111.    electronic, for profit.  Specific exclusion of this clause is hereby
  112.    granted by the author to The First Osborne Group (FOG) and The Public
  113.    (Software) Library.  This clause does not limit distribution by Bulletin
  114.    Board Systems or other information services, and a fee may be charged
  115.    for such access.
  116.  
  117. If the program is used for commercial purposes, a license from the author
  118. is required along with payment of a $15 license fee per copy.  Multi-copy
  119. and site licenses are available; contact the author at the address listed
  120. at the end of this document for more information.  "Commercial purposes"
  121. as used above is defined as use by a company or government service or
  122. organization in an official capacity, or use by a company or individual
  123. whereby financial profit is made from such use - for example, a stock broker
  124. who uses the program to aquire ticker information for clients.  Specific
  125. exclusion of this clause is hereby granted by the author to CompuServe Inc.,
  126. Borland International, TurboPower Software, and PCMagNet.  No other rights
  127. are in any way relinqushed by the author, and the author reserves sole right
  128. to grant and administer licensing and distribution.
  129.  
  130. This software is provided "as-is", without warranty of any kind, including but
  131. not limited to any warranty of mercantibility or suitability for a specific
  132. purpose.  At no time will the author be held liable for any loss or damage,
  133. including loss of data or time, due to any operation or use of this program,
  134. even if the author has been informed of such loss or potential for loss.
  135.  
  136. "GIF", "GIF Format" and "Graphic Interchange Format" are Service Marks of
  137. CompuServe Inc., an H&R Block Company.
  138.  
  139.  
  140. Installing OZBEXT
  141. -----------------
  142.  
  143. OZBEXT generally should be installed in the same location as your comm program.
  144. If you use a hard disk, this means in the same subdirectory.  If you use more
  145. than one comm program with OZBEXT and have different programs in different
  146. subdirectories, be sure to place OZBEXT in a subdirectory that is on your DOS
  147. path.
  148.  
  149. OZBEXT is delivered to the CompuServe forums in "archived" format, using the
  150. standard ARC format utility ARCA.COM by Vern Buerg and Wayne Chin.  Some
  151. forums (and BBS systems, if that is where you aquired this program) may re-
  152. compile the program files into a different archive format such as the .ZIP
  153. format, or may use a utility like LHARC to create a self-extracting program
  154. archive.  Once you have copied the archive file or self-extractor onto your
  155. disk, you will need to use the appropriate un-arc utility (if not a self-
  156. extractor) to un-arc the program files back to their original runable state.
  157. Utilities for this purpose are available in most forums on CompuServe, and on
  158. nearly every BBS in the world.
  159.  
  160.  
  161. Configuring OZBEXT
  162. ------------------
  163.  
  164. Configuration of OZBEXT is very simple.  The program uses a "standard"
  165. internal configuration that will be correct for 90% or better of users.
  166. The program is quite flexible, however; almost any type of special con-
  167. figuration used on CIS is supported by the program, as well as several
  168. options governing the way the program functions or performs.
  169.  
  170. The following list contains OZBEXT's nominal configuration.  Only if
  171. your particular configuration differs from this list should you worry
  172. about the various settings available.
  173.  
  174. * Uses the COM1: serial port/modem.
  175. * Uses the chosen port's existing baud rate, parity and data/stopbits settings.
  176. * Uses full-duplex communications.
  177. * Provides an audible alarm at the end of a protocol transfer.
  178. * Returns to its own internal terminal mode at the end of a transfer.
  179. * Uses the DOS current working directory for storage of downloaded files,
  180.   and looks in the same directory for files to upload.
  181. * On exit, leaves the modem CarrierDetect line high and restores the port to
  182.   the same configuration in which it was found.
  183. * Perform no logging of transfer success.
  184.  
  185.  
  186. Setting Options
  187. ---------------
  188.  
  189. If one or more of the above settings does not match your configuration, there
  190. are two possible ways to change things.  The first, and recommended, way is
  191. thru setting variables in the DOS environment.  The second is to use command
  192. line parameters when executing the program.  If you are calling OZBEXT from
  193. a program such as QModem that wants to see a batch file rather than a free-
  194. standing program to execute, it is simpler to use the command line parameters
  195. within the batch file (saving the DOS environment space for other programs.)
  196. Parameters set via environment variables can be overridden via command line
  197. options.
  198.  
  199. Below is a list of OZBEXT's environment variable names and the associated
  200. options:
  201. DSZPORT=?
  202.   or
  203. OZPORT=?         Replace ? with your commport number (1 thru 4)
  204. OZBASE=?         Replace ? with the Base Address of your port hardware
  205. OZIRQ=?          Replace ? with the Int Request # of your port hardware
  206.    (NOTE: the above two variables are used *only* if your comm port resides
  207.     at a non-standard base address and/or int request line (for example,
  208.     PS/2 systems on COM3 or 4.)  If one is used, the other *must* be used
  209.     as well.)
  210. OZPATH=?         Replace ? with the full path to use for up/downloaded files
  211. OZMAC=?          Replace ? with the full path/filename of your macros file
  212. OZOPT=?...       Replace ? with one or more of the option letters in the
  213.                  parameters list below.
  214.  
  215.  
  216. When using command line parameters, all parameters must begin with either
  217. a dash (-) or a forward slash (/) character.  Parameters that require qual-
  218. ifying information (such as the port selection parameter) must have the
  219. information immediately after the option letter with no space.  At least
  220. one space must separate each parameter.  Below is the list of available
  221. parameter option letters:
  222.  
  223. C{portnumber}   Select the comport.  If you use COM2, this would be "/C2".
  224.                 The default is COM1.  Ports 1 thru 4 are available.
  225.  
  226. A{baseaddress}  Specifies the non-standard base address for the chosen
  227.                 port.
  228.  
  229. I{irqnumber}    Specifies the non-standard Int Request line # for the chosen
  230.                 port.  If either the A or I parameters are used, both must
  231.                 be used.
  232.  
  233.  
  234. If you are using the program as a stand-alone comm program rather than from
  235. within another comm program (and, generally, _only_ when you use it as such),
  236. 4 other parameters are available to configure the port.  They are:
  237.  
  238. B{baudrate}     Specifies the baud rate setting at which to open the port.
  239.                 Available baud rates are 300, 1200, 2400, 4800, 9600 and
  240.                 19200.  The default is to use whatever setting the port
  241.                 currently holds.
  242.  
  243. P{parity}       Specifies the parity setting to use.  Normally either None
  244.                 or Even, but Odd, Mark and Space settings are available as
  245.                 well.  You only have to provide the first letter of the
  246.                 parity type word (so setting None parity would be "/PN".)
  247.  
  248. W{dataword}     Specifies the data word length; 5, 6, 7 or 8 databits.
  249.  
  250. S{stopbits}     Specifies the number of stop bits (almost always 1.)
  251.  
  252.  
  253. The other available parameters are used to configure the way OZBEXT works.
  254. These are the "options" settable with the OZOPT= environment variable.
  255. They are:
  256.  
  257. X               Exit OZBEXT immediately on completion of a protocol transfer.
  258.                 The default is to return to OZBEXT's internal terminal mode
  259.                 so you can download more files or navigate to another area
  260.                 of CIS.  This option is normally only used when the program
  261.                 is being called from within another comm program's script
  262.                 file for automatic execution.
  263.  
  264. J               Log results of all transfers to OZBEXT.LOG.  The file is
  265.                 created if it does not exist.  The default is to not log
  266.                 xfers; this just allows those that want logging to have it.
  267.  
  268. D               Drop carrier on exit.  The default is to leave CarrierDetect
  269.                 high.  Using this parameter will mean that OZBEXT will break
  270.                 any existing connection on the modem when exiting - not a good
  271.                 idea when you are loading the program from within another
  272.                 comm package.
  273.  
  274. N               Turn off the audible alarm normally provided at the end of a
  275.                 protocol transfer.  The default is to provide a beeper at
  276.                 the end of a proto transfer and wait for a keypress before
  277.                 continuing.  When this switch is used, no alarm sounds and
  278.                 the program does not wait for the keypress.  (Version 13.1cd
  279.                 note: this turns off *all* noise, including the system bell
  280.                 when a ^G is received.)
  281.  
  282. Q               Automatically send an XON character on startup.  This param
  283.                 is normally only used with the CIS-specific "auto-navigator"
  284.                 programs AUTOSIG and TAPCIS, both of which send an XOFF flow
  285.                 control command to CIS when shelling out to DOS.
  286.  
  287. U               Automatically send a Ctrl-U character on startup.  Using this
  288.                 parameter means that, on startup of OZBEXT, the CIS system
  289.                 will automatically interrogate OZBEXT for its terminal-type
  290.                 and protocol-support capabilities.  This option should be
  291.                 used with caution; in a few places that you might call OZBEXT
  292.                 the sending of the Ctrl-U may confuse the CIS system or may
  293.                 abort the imput prompt that was waiting when you called OZBEXT.
  294.  
  295.  
  296.  
  297. O               Turns off checking for the Carrier Detect signal from the
  298.                 modem during use.  Normally OZBEXT checks for this signal
  299.                 during a protocol transfer and if the signal is lost (for
  300.                 example, when the phone line connection is broken due to
  301.                 line noise or other problem) the protocol transfer is
  302.                 automatically aborted.  Some CIS users are lucky enoough
  303.                 to be connected to the network via direct serial link; these
  304.                 links are usually a minimal 3-wire connection without CD
  305.                 support.  Users so configured should use this switch; do
  306.                 NOT use this switch if you connect to CIS via modem.
  307.  
  308. Z               Forces use of program's monochrome screen colors set.  Some
  309.                 monochrome video hardware tries to "emulate" color; on these
  310.                 video systems the normal colors used for the prompt line and
  311.                 protocol status window may be unreadable.  If you find this
  312.                 to be the case (common on some Leading Edge machines), use
  313.                 this option.
  314.  
  315. L{filespec}     Tells OZBEXT to look for and load a macros file named
  316.                 {filespec}.  OZBEXT does _not_ search the DOS path for this
  317.                 file, so you must explicitly provide any path information
  318.                 if the file is not in the DOS current working directory.
  319.  
  320. F{path}         Tells OZBEXT to put all downloaded files in the {path}
  321.                 drive and/or subdirectory, and to take all uploaded files
  322.                 from that same location.  OZBEXT verifies that the specified
  323.                 path does exist and if it does not notifies you of the error
  324.                 and reverts to the current DOS working directory.  Note that
  325.                 you can override this path by including any desired path with
  326.                 the filename when answering the "Filename for your computer:"
  327.                 prompt from CIS right before beginning the transfer.
  328.  
  329. G{numberlist}   "Go" keys list for startup.  See below.
  330.  
  331.  
  332. Running OZBEXT
  333. --------------
  334.  
  335. OZBEXT is simple to use.  Depending on what general communications software
  336. you use, it can be made almost automatic.  Due to the wide range of different
  337. communications programs available, no one setup will always be right for
  338. your particular configuration.  However, following these guidelines will make
  339. using the program simple and straightforward.
  340.  
  341. A)  If your comm program supports it, always install OZBEXT as an external
  342.     protocol module.  Some programs or versions of programs do not support
  343.     defined external protocol modules but do allow the definition of external
  344.     programs (like editors.)  If this is true for your software, use that
  345.     type of setup.  Only use OZBEXT from a "general" DOS shell if your soft-
  346.     ware provides no other support for external programs.  Installing OZBEXT
  347.     as an external protocol module means calling OZBEXT will be done in the
  348.     same manner as all other protocols, giving you a consistant interface.
  349.  
  350. B)  If your program requires batch files for external protocol modules (ala
  351.     QModem and a few others), do all parameters options on the batch file
  352.     command line.  Here is an example batch file for QModem:
  353.  
  354.     ECHO OFF
  355.     CLS
  356.     OZBEXT /c2 /fA:\DNLD\TODAY /lC:\QMODEM\VT100.KEY %1 %2 %3 %4 %5 %6 %7
  357.     CLS
  358.  
  359.     There are several things to notice here.  First, we establish the port to
  360.     use as COM2: (/c2), then the path for downloaded files to be stored under
  361.     (/f...), and finally the macros file to use (/l...), then we provide for
  362.     passing other command line settings as we may need from time to time.
  363.     Note that the files path can be on any drive.  Also note that QModem's
  364.     VT100.KEY file redefining the keyboard to more closely emulate a true
  365.     DEC VT100 terminal will work nicely in OZBEXT.  Finally, you can set the
  366.     standard settings you use most of the time as environment variables, and
  367.     then remove the /c, /f and /l parameters from the command line above but
  368.     leave the batch variable identifiers; this way allows you to easily
  369.     override your envirnment variable settings with command line parameters
  370.     if a special case warrants.
  371.  
  372.     This type of setup is also recommended if you use the program from a
  373.     "plain" DOS shell or from within AutoSIG or TAPCIS, or if you run the
  374.     program standalone.
  375.  
  376. C)  If your communications program is like Boyan (where you can call the
  377.     program directly), it is better to use environment variables to set
  378.     any needed options.  This is best done in your AUTOEXEC.BAT file so
  379.     that the variables are always set.  Programs like Boyan make it easy
  380.     to set a single configuration but make it difficult to modify that
  381.     configuration for special cases; make your setup flexible.
  382.  
  383. D)  In all the above cases, note that unlike most other protocol modules
  384.     OZBEXT does not distingush between upload and download on the command
  385.     line.  This is handled at the start of a protocol transfer by the protocol
  386.     itself.  Therefore, you generally only need one configuration for both
  387.     the upload and download entries in your comm program.  However, a tip here
  388.     is that if you use different subdirectories for storing downloads and
  389.     finding uploads, you can set up separate configurations with different
  390.     paths on the /F option on the command line (either batch file or direct
  391.     command methods), or set an environment variable for the files path for
  392.     downloads and override it with a command line setting in the upload setup.
  393.  
  394.  
  395.  
  396. Using OZBEXT
  397. ------------
  398.  
  399. Most protocol modules, when executed, immediately enter the protocol itself.
  400. The B protocols do not work this way.  CIS sends a special interrogation
  401. sequence to the remote system (you) to make sure the remote can in fact do
  402. B and/or B+ before initiating the protocol itself.  OZBEXT _must_ be loaded
  403. and running to reply to this interrogation properly, or you may well not be
  404. able to do the transfer.  (This is not a deficiency, it is a safety mechanism
  405. for both CIS and you.)  Many places on CIS where you can transfer files, this
  406. interrogation may not be done immediately prior to the protocol initiation;
  407. often it is done when you first request a transfer but before CIS has asked
  408. you for the filename to process and the file type (binary or ASCII.)  Because
  409. of this you should call OZBEXT _before_ you request the transfer.  OZBEXT
  410. comes up in terminal mode so that you can answer any pending prompts, etc.
  411.  
  412. Usually, when you shell out to OZBEXT from another comm program, there is
  413. a prompt from CIS pending input.  There is no way OZBEXT can know what this
  414. prompt was and therefore redisplay it (or anything else that was on the screen
  415. when you called it) so you must remember what the prompt was and reply to
  416. it after OZBEXT is operational.  This is no problem; just type in what you
  417. would have had you been sitting at the prompt.  CIS never sees OZBEXT load
  418. so it never knows you were not able to see the prompt.  (If you use the
  419. /U or /Q options, CIS will know but won't care.)
  420.  
  421. Some users have noted that they "forget I'm in OZBEXT rather than my main
  422. program."  OZBEXT provides a status line at the bottom of the screen at all
  423. times to remind you.  I have tried to make sure it does not resemble too
  424. closely the status lines provided by many other comm programs, to make this
  425. recognition easier.   Since OZBEXT only has 1 set of colors for color video
  426. systems and another for mono, you may want to make sure your main comm program
  427. uses a different set of colors on its status line as a further reminder.
  428.  
  429. Many CIS users (most?) log in at 7 bits/Even parity.  OZBEXT has no problem
  430. with this; it knows how to switch to 8 bits/No parity for the actual transfer
  431. and back at the correct times.  HOWEVER... some serial ports and/or modems
  432. do not handle the "flying switch" properly and will cause grief.  For this
  433. reason I recommend you use 8 bits/No parity at all times on CIS.  To do so
  434. you must change some of your "user profile" parameters that CIS maintains
  435. on you.  For a complete description of what is required, see the file
  436. LOGIN8.HLP in IBMNEW LIBrary 2.
  437.  
  438. OZBEXT provides both a clock and an online timer on its status line.  The
  439. online timer displays and "ticks" only when a connection is established.
  440. If you use the program standalone this timer will be accurate, but if you
  441. call OZBEXT from another program it will only display the amount of time you
  442. have been in OZBEXT.
  443.  
  444.  
  445.  
  446. Commands Within OZBEXT
  447. ----------------------
  448.  
  449. OZBEXT provides several commands while operational.  These all are used to
  450. modify the same functions you set with command line options or environment
  451. variables.  Generally, the letter used for a particular option setting will
  452. be the key used with the [Alt] key to modify that option while in OZBEXT.
  453. To see a menu of available Alt-Key commands in the program, press the [Home]
  454. key.
  455.  
  456.  
  457. Macro "QuickKeys"
  458. -----------------
  459.  
  460. OZBEXT allows you to define up to 40 "QuickKeys" to simplify its use.  These
  461. keys are the function keys, and the function keys used in conjunction with
  462. [Ctrl], [Shift] and [Alt].   Each may have a string of up to 127 characters
  463. assigned to it (a "macro".)  Macros 1 thru 10 are assigned to function keys
  464. [F1] to [F10], macros 11 thru 20 are assigned to [Shift][F1] thru [Shift][F10],
  465. macros 21 thru 30 go with [Ctrl][F1] thru [Ctrl][F10], and 31 thru 40 are
  466. assigned to [Alt][F1] thru [Alt][F10].  Pressing a QuickKey causes the program
  467. to send the macro assigned to that key out the serial port.
  468.  
  469. The definition for macro keys are stored in a flat ASCII text file.  Do not
  470. use a word processor that inserts special control codes or other non-standard
  471. characters to create this file, or be sure to save the file in ASCII or
  472. "non-Document" mode.  The file is read by the program sequentially a line
  473. at a time, each line being assigned to the next macro (line 1 goes to macro
  474. 1, line 2 to macro 2, and so forth.)  The file does not have to be 40 lines
  475. long.  To skip a macro, insert a blank line in the file.  The default name
  476. for this file is OZBEXT.FKS, but you can name the file anything you like as
  477. long as you set that name to the OZMAC environment variable or set the /L
  478. command line option to that filename.  Previous versions of OZBEXT gave a
  479. warning if it could not find the OZBEXT.FKS file on startup and no new file
  480. name was provided; many users found this confusing so the warning has been
  481. removed unless OZBEXT.FKS (or the filename you specify) is found but corrupt
  482. in some way, or if you provide an overriding filename and _that_ file is not
  483. found.
  484.  
  485.  
  486. Macro Subcommands
  487. -----------------
  488.  
  489. OZBEXT provides further flexibility by allowing several embedded subcommands
  490. within macros.  These subcommands allow you to insert the current port, baud
  491. rate and parity setting, have a macro request input and then place that input
  492. in the macro before sending, wait until a character is received, and to use a
  493. macro to shell to DOS and execute the macro as a DOS command line.  Addition-
  494. ally, subcommands are available to insert a carrage return in a macro and to
  495. delay macro processing 1/2 second.  Finally, standard "carat notation" is
  496. allowed to insert control characters in a macro.  Where found in a macro, the
  497. subcommand is replaced with the data it specifies.
  498.  
  499.  
  500.  
  501. All embedded subcommands (except the CR and delay characters and the control
  502. character notation) begin with the "at" symbol (@).  The following list
  503. defines the available subcommand letters:
  504.  
  505. CD      Forces the macro to wait for carrier detect if a connection is not
  506.         already established.  There is no timeout, but pressing [ESC] will
  507.         abort the wait and continue the macro.
  508.  
  509. O       Force a DOS shell, and use the macro as a DOS command line.  This
  510.         only works when the first 2 characters of a macro are "@O", otherwise
  511.         they are ignored.  The macro is processed for insertion of all other
  512.         subcommands before executing.  The macro is not sent to the port.
  513.  
  514. M       The "M" subcommand takes a second qualifying letter defining the
  515.         specific modem parameter to be inserted in the macro.  these
  516.         qualifiers are:
  517.  
  518.             C - insert the current port number.
  519.             B - insert the current baud rate.
  520.             P - insert the current parity setting.
  521.  
  522.         For example, placing "@MC" in the macro when the current port is
  523.         COM1 would cause the subcommand to be replaced with "1".
  524.  
  525. W       The "W" subcommand takes a second qualifying character or string and
  526.         waits until received.  This gives a very limited but useful "script"
  527.         capability.  Example: "@W!" would wait until the "!" char was received
  528.         (or the <esc> key is pressed) before continuing execution of the
  529.         macro.  When waiting for more than one character (a string) you need
  530.         to enclose the specified string in double-quote marks.  Example: to
  531.         wait for the string "User ID:" you would use `@W"User ID:"' in the
  532.         macro.  You can place up to 10 "Wait" commands in a macro and each
  533.         can wait for a different character or string.
  534.  
  535. I       The "I" subcommand forces the macro to prompt you for input, and
  536.         then insert that input in place of the subcommand.
  537.  
  538. An example macro to call the DSZ external ZModem protocol module from within
  539. OZBEXT to upload a file to a BBS would probably contain this:
  540.  
  541. @O DSZ port @MC speed @MB sz @I
  542.  
  543. When you press the QuickKey assigned to this macro, you would first be
  544. prompted for input.  Assuming you input "FOO.BAR", and you were using COM1
  545. at 2400 baud, the following command line would be executed by DOS:
  546.  
  547. DSZ port 1 speed 2400 sz FOO.BAR
  548.  
  549. ---
  550.  
  551. The pipe character (|) is used as a carrage-return in a macro.  The tilde
  552. character (~) forces a one-half second delay where it is found in the
  553. macro.  These two special characters are provided to simplify using macros
  554. as modem command strings.  As an example, let's say you want the F1 key
  555. to send a command to your "Hayes-compatible" modem to reset and then dial
  556. the number of your CIS node.  Assuming the number of the node I use and the
  557. way I normally set my modem, the following macro would be used:
  558.  
  559. ATZ|~~~~ATM3V1X4DT922-3308|
  560.  
  561.  
  562.  
  563. This sends the "ATZ" command to the modem with a carrage-return, waits two
  564. seconds (so the "OK" reply from the modem can display), then sends the setup/
  565. dial command string and a carrage-return.  Another example is the macro I
  566. use to log on thru Tymnet:
  567.  
  568. |~~~~~~~~A@W:CIS02|@W"User ID:"70000,000|@W"Password:"my-password|
  569.  
  570. Once I get the "CONNECT 2400" from the modem, I press F2 for this macro.  It
  571. sends a carrage-return, waits four seconds for Tymnet to give its "Please enter
  572. your terminal identifier:" prompt and replies with the "A" nessessary, waits
  573. for the "Please log in:" Tymnet prompt, sends the "CIS02" and carrage-return
  574. to tell Tymnet to connect me to CIS, then waits to allow CIS to issue the "User
  575. ID:" prompt and sends a userid and carrage-return, and finally waits for the
  576. "Password:" prompt and sends a password.
  577.  
  578.  
  579.  
  580. "GO" Keys
  581. ---------
  582.  
  583. OZBEXT now allows you to tell it on the command line to execute up to 10 macros
  584. automatically on startup.  This further enhances the ability to automate your
  585. downloading by assigning a series of "waitfor" macros to wait for CIS prompts
  586. and respond with filename, transfer type, etc.  The syntax for this command is:
  587.  
  588. /G#,#,#...
  589.  
  590. where "#" is the number of the macro (1 thru 40) as they are entered in the
  591. .FKS file (*not* the FKey number!)  The macros are executed left to right in
  592. the order they are provided.  The macros can contain any legal macro command,
  593. including the "wait for carrier detect" and "wait for rec'd string" commands.
  594. This functionality was added at the request of several users.  I'm working
  595. on an automatic macro editor/generator to further ease this use.
  596.  
  597.  
  598.  
  599.  
  600. The Protocol Window
  601. -------------------
  602.  
  603. During a protocol transfer a window appears on screen detailing the transfer
  604. activity.  Most things about the window are pretty self-explanitory, but one
  605. area deserves clarification - the "Port" and "Data" percentages on the "Ef/Tm"
  606. (Efficiency/Time) line.  The percentage displayed in the "Port" column is the
  607. comparison of current protocol "raw" port rate to the current port baud rate
  608. setting of the UART.  In other words, at 2400baud this figure would optimally
  609. be 100% if we were seeing 240 bytes per second comming in the port during a
  610. transfer.  Since CIS uses its packet-switching network and network delays of
  611. some magnitude are inevitable, this figure will almost always be less than
  612. 100%.  Normally you can expect greater than 230 cps "raw" rates on downloads,
  613. but uploads often fall below 200.  Connections established thru suplimental
  614. carriers such as Tymnet may well be less.  The percentage under the "Data"
  615. column, on the other hand, is the ratio of total data bytes received to the
  616. protocol's average "raw" port rate.  In other words, the efficiency of the
  617. actual data comming in the port.  This figure normally runs around 92 - 96%
  618. for binary files and 98 - 99% for ASCII text files.  However, bad packet
  619. resends when an error occurs and is corrected cause this figure to drop,
  620. sometimes dramatically.  Providing both figures makes it easier for you to
  621. decide when to abort a transfer.  If the "Port" figure is dramatically low
  622. (usually due to a high network traffic load but can also be due to delays
  623. caused by suplimental carrier networks), you may want to abort the transfer
  624. and wait until network traffic had dropped so good port rates are possible.
  625. If the "Data" figure is low (usually due to a high error-packet count), you
  626. may want to abort and call back on another node.  To avoid confusion, just
  627. remember that the "Port" efficiency percentage gives data on how efficient
  628. the port is operating, while the "Data" percentage gives overall port-to-data
  629. efficiency regardless of actual port rate or port efficiency.  The time display
  630. under the "File" column is the time the transfer has taken so far, while the
  631. time under the "Remaining" column is an estimate of the time it will take the
  632. rest of the transfer to complete.  The "Remaining" time figure will vary based
  633. on the current port rate, because it is recalculated at the end of each packet.
  634. Oh, one other thing: while CIS users won't see it, those using this program
  635. with a BBS running my OZRHOST protocol module on a "fast" modem (V.32, HST,
  636. etc.) with a 9600 link and 19.2K port rate will see some gross port efficiency
  637. percentages, like 30 - 50%.  Please remember that the _port_ is set for 19.2K
  638. but the _port_data_ is "throttled" to 14.4K or less by the modem, and OZBEXT
  639. computes from the port's baudrate setting, so a low port efficiency means
  640. little or nothing under these conditions.  The data rate percentage will
  641. reflect a realistic "net thruput" figure for any baud rate.
  642.  
  643.  
  644.  
  645. The program now returns DOS errorlevel codes when exiting - this allows you
  646. to check the status of the transfer operation in a batch file or when
  647. called from within another program.  The codes returned are:
  648.  
  649. 0 - Normal program termination (and transfer successful, if applicable)
  650. 1 - User aborted transfer
  651. 2 - User performed EOA abort
  652. 3 - Proto handshake (DLE-B) failed
  653. 4 - Error handshaking direction
  654. 5 - Error handshaking file type
  655. 6 - Protocol failed (too many errors)
  656. 7 - any other error (outside of proto errors) that can cause the prog to abort
  657.  
  658.  
  659.  
  660.  
  661. For users of previous versions...
  662. ---------------------------------
  663.  
  664. Version 13.2b has only 2 changes from version 12.xx: it is about 10K smaller
  665. due to the fact that I no longer use the 80x87 emulation capabilities of
  666. the Turbo Pascal 5.5 compiler (the very few floating point calculations in
  667. older versions of the program have been changed to long integers and the
  668. emulation code therefore removed), and a very small mod has been done to allow
  669. "patching" the program for color configuration.  Several users have requested
  670. this capability, so it has been added.  The program does not "patch itself";
  671. you need to get a copy of my OZPATCOL program to patch colors in both this
  672. program and OZRLE (version 8.8b and later.)  The patch program will not work
  673. on earlier versions of either program.
  674.  
  675. 13.2b corrects the path bugs in 13.1b.  Sorry 'bout that! <grin>
  676.  
  677.  
  678. Kudos, Credits, Karma Enhancements
  679. ----------------------------------
  680.  
  681. The sysops of the IBMNet forums on CIS: Don Watkins, Connie Kageyama, Chris
  682. Dunford and Vern Buerg.  My primary beta testers, and the greatest group
  683. of folks around.  Ditto for Valerie Zen and Tom Potoki, sysops of the Graphics
  684. Trilogy forums on CIS, who also help test.
  685.  
  686. Kim, Brian and Rich of TurboPower Software, for writing and maintaining the
  687. best library of Turbo Pascal utility routines in the free world.
  688.  
  689. Russ Ranshaw ("Wiz10") and others at CIS, for providing exellent documentation
  690. on the B+ protocols, and understandable source code for same.  Ditto to Brion
  691. Jones of CIS for informative literature on interrogation/response sequences
  692. and terminal reply codes.
  693.  
  694. Most importantly... you, the users.  Your questions, criticisms and sugges-
  695. tions have helped make the program what it is.  If you like it thank yourself,
  696. not me.
  697.  
  698.  
  699. Point of Contact
  700. ----------------
  701.  
  702. I can most easily be reached via CompuServe; my ID# is 71520,77.  Please leave
  703. questions in either IBMNEW or IBMCOM rather than EasyPlex; other users or the
  704. sysops may well be able to give you a faster answer.  If you need to contact
  705. me concerning registration, please do so by EasyPlex or US mail:
  706.  
  707. Steve Sneed
  708. 409 San Juanico
  709. Santa Maria, CA.  93455
  710.  
  711. This program is not shareware in the traditional sense; I do not require
  712. private non-commercial users to register or pay a license fee (see the section
  713. on license requirements at the top of this document.)  If you have a burning
  714. urge to send me money anyway... I won't turn it down. <grin>  Please make
  715. checks payable to Steve Sneed.  Updates are only done thru CIS; I do not
  716. notify users of updates (except for fully-licensed commercial users.)  If
  717. you are registering for full license, please plainly state so in your
  718. corospondence along with how you are using the program.  Site licenses and
  719. multi-license discounts are available; please contact me for specific info.
  720. Finally, please do not call me voice, and I cannot accept any collect calls.
  721. I don't mind helping folks, but 7am and 11pm calls do not help my baby
  722. daughter sleep.  Thanks.
  723.  
  724. I hope you enjoy the program!
  725.  
  726. <eof>
  727.