home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / COMMUNIC / K9X88D_4.ZIP / OZBEXTB.ZIP / OZBEXT.DOC next >
Encoding:
Text File  |  1989-03-13  |  33.0 KB  |  677 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                         OZBEXT 10.1f   14-Mar-89
  19.                    Copyright(c)1988,1989  Steve Sneed
  20.                    ----------------------------------
  21.  
  22.  
  23.  
  24. NOTE TO USERS OF PREVIOUS VERSIONS: *Please* read this document before using!
  25. Several things have changed from earlier versions, most notibly the exact
  26. syntax for command line parameters and the meaning of a couple of parameters
  27. themselves.  See the section "For Users of Earlier Versions" at the end of
  28. this document!
  29.  
  30.  
  31.  
  32. DISCLAMER/COPYRIGHT NOTICE
  33. --------------------------
  34.  
  35. This program is copyrighted (c)1988,1989 by Steve Sneed.  The program may
  36. be freely copied and used under the following restrictions:
  37.  
  38. 1.  The program file and its associated documentation file are distributed
  39.     together in an "archive" format, and neither is modified in any way.
  40.  
  41. 2.  The program is free of charge or request for renumeration for use or
  42.     distribution for any private, non-commercial use.  Commercial use of
  43.     any kind, including (but not limited to) use in a business, or distribution
  44.     by any commercial enterprize, requires a license and payment of a $10 fee.
  45.     Specific license without nessessary fee payment is hereby granted to
  46.     CompuServe, Inc. (an H&R Block Co.), the First Osborne Group (FOG),
  47.     The Public (Software) Library, TurboPower Software and PCMagNet.  Multi-
  48.     copy and site licenses are available at reduced rates; contact the author
  49.     at the address below for more information.
  50.  
  51. While every care has been taken to assure this program works as intended,
  52. no warranty or guarantee of any kind is made with respect to the program
  53. or its documentation, including any guarantee of fitness for a particular
  54. purpose.  IN NO CASE WILL THE AUTHOR BE HELD LIABLE OR RESPONSIBLE FOR ANY
  55. LOSS, INCLUDING LOSS OF DATA OR EQUIPMENT DAMAGE OR MALFUNCTION.
  56.  
  57. This program was written using Turbo Pascal 5.0 and Turbo Assembler 1.0, and
  58. debugged using Turbo Debugger 1.0, all from Borland International.  Some parts
  59. are from source libraries by TurboPower Software.  B+ protocol source routines
  60. taken in part from some by Russ Ranshaw, CompuServe Inc.  All used with
  61. permission.
  62.  
  63.  
  64.  
  65. WHAT IS IT?
  66. -----------
  67.  
  68. OZBEXT is an "external protocol module"; a program used to provide one or
  69. more file transfer protocols to communications programs that do not internally
  70. support those protocols.  OZBEXT supports the CompuServe Information Service-
  71. specific protocols, known as "B" and "B-Plus" (sometimes incorrectly called
  72. "Quick-B".)  The B protocol is an older protocol using a "send-and-wait-
  73. for-reply" design (and is slow), while B-Plus uses modern "windowing"
  74. protocol technology for very fast performance and provides extensions
  75. such as Aborted Transfer Resume and File Information Passing.
  76.  
  77. Why use the B-series protocols?  The XMODEM-derivitive protocols (with the
  78. exception of ZModem, which is not supported on CIS) were designed to be
  79. used strictly on a direct connection - that is, where one PC is connected
  80. directly to another (as when you call a local Bulletin Board System) and
  81. both machines can devote their full attention to processing the protocol.
  82. CompuServe's mainframes are handling many callers at once, and the network
  83. used to connect those callers can introduce delays that can (and usually
  84. do) kill the XMODEM-type protocols.  Even XMODEM protocols that have
  85. "relaxed" timing parameters can have problems.  KERMIT, a protocol designed
  86. to work well in hostile environments such as the CIS network, is very slow,
  87. and many of the available PC implementations do not fully match the KERMIT
  88. standard and therefore do not always work with CIS.  The B protocols were
  89. designed by CIS to work on CIS.  Some existing communications programs
  90. provide older versions of the B protocol internally or as specific add-on
  91. overlays, but to my knowledge none currently provide support for the full,
  92. current B-Plus specification (although I believe TAPCIS has a version in
  93. BETA testing as this is written.)  B+ provides the best and safest protocol
  94. performance available on CIS, period - it should always be the protocol of
  95. choice on CompuServe.
  96.  
  97.  
  98.  
  99. FEATURES
  100. --------
  101.  
  102. OZBEXT provides everything you need to effectively transfer files on CIS.
  103. In addition, the program provides some extra features that make it easier
  104. to use, more configurable to suit the needs of most users and other pro-
  105. grams, and more exactly matched to the way the CompuServe network does
  106. things.  Some of the features include:
  107.  
  108. * All program state options settable both from the command line and within
  109.   the program.
  110.  
  111. * Full, latest-version B-Plus protocol for fast, reliable file transfers
  112.   on CompuServe and other networks and BBS systems that support B-Plus.
  113.  
  114. * 40 "Macros" keys definable by you.  Macros can contain metacommands for
  115.   requesting and providing special information, and can force a "Shell
  116.   to DOS" while providing a complete command line to execute (for calling
  117.   other external protocol modules, editors, etc.)
  118.  
  119. * Full support for both the CIS VT100 and VT52/VidTex terminal emulations,
  120.   and true DOS ANSI emulation, for screen colors and cursor control.
  121.  
  122. * The ability to define a default path for files to be up/downloaded other
  123.   than the current path.
  124.  
  125. * Provides an EOA ("Emergency Override Abort") functionality.  The B+ protocol
  126.   can be very slow when an abort is requested mid-transfer, especially when
  127.   the abort is wanted because carrier has been dropped.  EOA aborts within
  128.   a very few seconds.
  129.  
  130. * A direct interface to my OZRLE program for viewing RLE and GIF format
  131.   graphics images while online.
  132.  
  133.  
  134.  
  135. CONFIGURING OZBEXT
  136. ------------------
  137.  
  138. OZBEXT takes all of its configuration information from the command line you
  139. enter when you execute the program.  There is no "config" program to run
  140. or definition file you must create.  OZBEXT defaults to a certain group of
  141. settings that are by far the most commonly used on CIS; only if you need to
  142. change one or more of these do you need to enter anything on the command line.
  143.  
  144. OZBEXT uses a standard notation for command line parameters: the program's
  145. name is followed by one or more option "switches" and any nessessary
  146. qualifying information, separated by spaces.  Each switch is a forward
  147. slash (/) or dash (-) and a letter.  The switch letters are not case-
  148. sensitive.  Any switch requiring a qualifier has the qualifier immediately
  149. following the switch with no space in between.
  150.  
  151. OZBEXT's available configuration options fall into two groups: port-related
  152. options and internal program states.  Port-related options are those that
  153. effect the comm port to which your modem is attached, such as port number,
  154. baud rate, parity, etc.  Internal state controls effect the way OZBEXT
  155. deals with characters received/transmitted and certain other functions such
  156. as how the program behaves at the end of a transfer.
  157.  
  158. The port-related options are usually not needed; they are provided as an
  159. adjunct to using the program as a stand-alone communications program or
  160. terminal emulation facility.  On startup, OZBEXT examines the selected
  161. comm port for its existing settings and then uses them unless told otherwise
  162. on the command line.  Issuing specific port-related options that may not
  163. match the port's existing settings can cause the port to be confused,
  164. causing a system lock-up and requiring a reboot.
  165.  
  166. The following list contains the available port-related switches:
  167.  
  168.    /C[port]      Selects the comm port to use.  The program assumes COM1 to
  169.                  be the desired port.  Before looking for this switch, the
  170.                  program also checks the DOS environment to see if an
  171.                  environment variable called OZPORT has been defined, and if
  172.                  so uses the port number so defined.  If no OZPORT env. var.
  173.                  exists, the program looks for one called DSZPORT (normally
  174.                  used by the DSZ.COM external protocol module by Omen
  175.                  Technology Inc.) and if defined uses it.  Rather than using
  176.                  this switch, it is recommended that you define one of these
  177.                  two variables by adding a line to your AUTOEXEC.BAT file
  178.                  that says:
  179.                    SET OZPORT=?
  180.                  or
  181.                    SET DSZPORT=?
  182.                  where the question mark is replaced with your working comm
  183.                  port number.  Allowable port numbers are 1 thru 4.
  184.  
  185.  
  186.    /A[baseaddr]
  187.    /I[irq]       Select a non-standard base address and interrupt request
  188.                  line for the chosen port.  These options are provided for
  189.                  those folks using IBM PS/2 systems on COM 3 or 4 that have
  190.                  non-standard base addresses, and other systems using special
  191.                  serial port cards - they are NOT required for any system
  192.                  using a standard COM 1 or 2 card, or COM 3 or 4 on most
  193.                  XT/AT-buss cards.  Note that if either option is provided,
  194.                  the other must be provided as well.  You can also set these
  195.                  options from the environment; the OZBASE env. variable sets
  196.                  the base address and the OZIRQ env. variable sets the IRQ
  197.                  line.  The IRQ value can be any number between 1 and 15.
  198.                  The base address value must be a 4-digit hexidecimal number
  199.                  preceeded by a dollar sign ($).
  200.  
  201.    /B[rate]      Selects baud rate.  OZBEXT examines the selected port on
  202.                  startup and uses its current baud rate unless overridden
  203.                  with this switch.  Any standard baud rate number from 300
  204.                  to 38400 is allowed (300, 1200, 2400, 4800, 9600, 19200,
  205.                  38400.)  The default baud rate is 2400.
  206.  
  207.    /P[parity]    Selects parity setting.  OZBEXT examines the port on
  208.                  startup and uses its current parity unless overridden with
  209.                  this switch.  Available parity settings are None, Even,
  210.                  Odd, Mark and Space.  Only the first letter of the parity
  211.                  word is required, but you may provide the full word if you
  212.                  like.  If parity is set to None, the dataword size is auto-
  213.                  matically set to 8 unless overridden with the /W switch.
  214.                  Likewise, the dataword is automatically set to 7 if parity
  215.                  is set to Even or Odd (if Mark or Space parity is chosen,
  216.                  you must provide a /W switch as well.)
  217.  
  218.    /W[dataword]  Selects the data word size.  Existing port setting is used
  219.                  unless overridden with this switch.  Available settings
  220.                  are 5 thru 8.
  221.  
  222.    /S[stopbits]  Selects the number of stop bits.  Existing port setting
  223.                  (almost always 1) is used unless overridden by this switch.
  224.                  Available options are 1 and 2.  If 5 dataword bits is
  225.                  selected using /W, the stop bits setting is automatically
  226.                  set to 1-1/2 by the UART chip and is not overridable.
  227.  
  228.  
  229. The program state options are used to modify the standard configuration.
  230. OZBEXT normally starts in this configuration:
  231.  
  232.    Full Duplex communications.
  233.    Returns to its own terminal mode at the end of a transfer.
  234.    Provides an audible alert at the end of a transfer and waits for you to
  235.       press a key.
  236.    Uses the special VT100/VT52 terminal emulations used by CIS.
  237.    Leaves the modem DTR signal high on exit so an existing connection is
  238.       not dropped.
  239.    Uses the current drive/path for transfer files.
  240.    Looks for and loads a file named OZBEXT.FKS for function-key macros.
  241.  
  242. All of the states can be changed with command line option switches.  All
  243. but two are "toggles", meaning that the startup state is "on", and providing
  244. the option switch turns it "off".  The other two options are for transfer
  245. file path and macros file, and require qualifying information to be pro-
  246. vided.  Note that all of the above options can be changed within the program
  247. as well as on the command line.  All state options can be established from
  248. environment variables: OZOPT=??????? (where the question marks are replaced
  249. by one or more of the switch letters D, H, X, N, V, O or Q); OZPATH=path
  250. (where "path" is replaced with a valid path); and OZMAC=file (where "file"
  251. is replaced with a valid path/filename for the macros file.)
  252.  
  253. The switches for the state options are as follows:
  254.  
  255.  /D        Forces the modem DTR signal to be dropped on exit, hanging up any
  256.            call in progress.  The default state is to leave DTR high so the
  257.            existing connection is not broken when returning from OZBEXT to
  258.            some other comm program.  Note that some cheap and/or oddball
  259.            modems do not obey the DTR signal very well and may not break
  260.            an existing connection (the SMT and Zoom internal modems are
  261.            notorious for this.)
  262.  
  263.  /H        Forces OZBEXT to use half-duplex communications mode.  Default
  264.            is the far more common full-duplex.  CIS always starts a call
  265.            in full-duplex mode.
  266.  
  267.  /X        Forces OZBEXT to exit immediately on completion of a transfer
  268.            and return to the calling program.  Default is to return to
  269.            its own internal terminal mode so you can transfer another
  270.            file or navigate to another area.  If the comm program you are
  271.            currently using gives good support for the other functions of
  272.            CIS and you are using OZBEXT strictly for its fast file xfer,
  273.            you may well want to use this switch.  Using this switch
  274.            overrides the state of the /N "Noise alarm" switch (see below.)
  275.  
  276.  /N        Forces OZBEXT to be quiet (not give any audible alarms except
  277.            for gross error conditions.)  Default is to provide an audible
  278.            alarm at the end of a transfer and under a few other conditions.
  279.            Note that this switch actually serves two functions: in its
  280.            default state (noise ON), on transfer completion you are both
  281.            notified audibly and the transfer information window is left
  282.            on the screen until you press a key; when the switch is OFF you
  283.            are not barraged with the beeper and the transfer info window
  284.            immediately disappears without waiting for the keypress.  Also,
  285.            using the /X switch overrides this switch - if /X is used,
  286.            Noise is forced OFF.  Nice for busy offices where a beeping
  287.            computer is a real annoyance.
  288.  
  289.  
  290.  
  291.  /O        OZBEXT continually monitors the carrier signal during a transfer.
  292.            If carrier is dropped, an EOA is automatically performed.  While
  293.            this is an exellent safety feature, some CIS users are connected
  294.            to the network directly thru a standard serial 3-wire connection
  295.            rather than thru a modem.  For those users, the CD signal is not
  296.            provided so the auto-EOA kicks in immediately when a transfer is
  297.            initiated - not pretty.  The /O switch turns off this CD checking
  298.            so an EOA is only performed if one is actually requested from
  299.            the keyboard.  Use of this switch is not recommended unless you
  300.            have one of these direct network connections.
  301.  
  302.  /Q        Forces an XON character to be sent immediately on startup.  While
  303.            not many programs send an XOFF when calling an external module,
  304.            a few (notably AutoSIG and TAPCIS) do.  Using this switch forces
  305.            an XON to be sent once OZBEXT is initialized so communications
  306.            can continue.  If you use ATO or TAP, you should use this switch.
  307.  
  308.  /V        Forces OZBEXT to use "true" DOS ANSI terminal emulation rather
  309.            than the default VT100/VT52/VidTex emulation.  DOS ANSI and the
  310.            Digital Equipment Corp. VT100 emulations are close but unequal
  311.            (and improper) subsets of the American National Standards
  312.            Institute's X3.64 standard for terminals.  Exact DOS ANSI
  313.            emulation used on CompuServe can cause the screen to be cleared
  314.            at some very bad times - like right after a menu has been displayed
  315.            but before the input prompt.  However, using VT100 on some BBS's
  316.            can cause the ANSI graphics screens to not display properly.
  317.            This switch should not be used if you are calling CIS, only if
  318.            you are calling a BBS or other non-CIS system.
  319.  
  320.  /F[path]  Allows a path other than the current DOS working path to be
  321.            specified for files during transfer.  The provided path is
  322.            checked to be sure it does in fact exist.
  323.  
  324.  /L[file]  Allows a macros file name other than the default (OZBEXT.FKS) to
  325.            be specified.  When started, OZBEXT looks for the file in the
  326.            current (or specified) path and, if found, loads it for the
  327.            macro key's definitions.  See the section on macros below.
  328.  
  329.  
  330. Here are some example command lines that might be used for the program:
  331.  
  332. OZBEXT /q
  333.   -forces an XON to be sent on startup.  Recommended for users of the CIS-
  334.    specific comm programs AUTOSIG and TAPCIS.
  335.  
  336. OZBEXT -X
  337.   -forces OZBEXT to exit immediately after a transfer.  Good if you use an
  338.    automated navigation program (like ATO or TAP) or a program with good
  339.    VT100 emulation (like ProComm+ or QModem.)
  340.  
  341. OZBEXT /d /c2 /b2400 /pNone /v
  342.   -forces OZBEXT to use COM 2, set the port to 2400 baud at None parity, drop
  343.    carrier when exiting and use true ANSI emulation.  A possible command line
  344.    if you are running OZBEXT "stand-alone" to call a BBS.
  345.  
  346. OZBEXT /fA:
  347.   -force all downloads to be placed on the A: drive, and all uploads to come
  348.    from that drive.
  349.  
  350. OZBEXT /Lvt100.key
  351.   -force OZBEXT to look for and load a file called VT100.KEY for the macros
  352.    definitions.  Note that the VT100.KEY file provided with QModem 3.0 and
  353.    later works perfectly with OZBEXT so you can have a more complete VT100
  354.    emulation.
  355.  
  356.  
  357.  
  358. SETTING UP TO RUN OZBEXT
  359. ------------------------
  360.  
  361. OZBEXT can be used stand-alone (as a general-use comm program), but it is best
  362. used as an adjunct to your favorite general communications package.  When used
  363. in this manner, there are two primary ways to set up OZBEXT: if your comm
  364. program provides a method to "install" an external protocol module, you should
  365. by all means take advantage of the capability; or you can create a batch file
  366. that passes to OZBEXT all command line options nessessary for your particular
  367. setup and then run the batch file from a DOS shell.  A few programs (such as
  368. QModem) use both together.
  369.  
  370. It is beyond the scope of this document to cover exact installation methods
  371. for every comm program out there that supports external modules.  However, the
  372. general guidelines below may prove to be of help:
  373.  
  374. 1.  Most programs allow you to enter a complete command line to call the
  375.     external program, and allow some way of imbedding port-related info in
  376.     the loaded command line.  Many people feel that the port-related info
  377.     is required - it is NOT for OZBEXT.  When establishing a command line
  378.     for OZBEXT as installed in another program, the only command line
  379.     parameters you will want to use are those that set internal program
  380.     states, such as duplex mode, exit-when-transfer-done, etc.  Possibly
  381.     you may need to provide the comm port number; this is better done by
  382.     setting the OZPORT or DSZPORT environment variable in your autoexec.bat
  383.     file.  See the section above on configuration for more information.
  384.  
  385. 2.  Almost all programs that support externals provide for a separate loader
  386.     for uploading and downloading.  Because OZBEXT starts in terminal mode
  387.     rather than immediately entering a protocol transfer, the exact same
  388.     loader line should be used for each of the upload and download commands.
  389.  
  390. 3.  If your program only provides a single "external program" loader (an
  391.     example is the older ProComm 2.4.2 version), or simply provides a
  392.     "Shell to DOS" feature, it is best to create a batch file to execute
  393.     OZBEXT rather than trying to remember and type in all the option switches
  394.     you might use.  Here is an example batch file content that executes
  395.     OZBEXT on a command-line port in half-duplex and quiet modes:
  396.  
  397.        ECHO OFF
  398.        CLS
  399.        IF %1X==X GOTO ERROR
  400.        OZBEXT /C%1 /H /N
  401.        GOTO DONE
  402.        :ERROR
  403.        ECHO No port information provided!
  404.        :DONE
  405.  
  406.     Use your favorite ASCII text editor (or the DOS "COPY CON" command) to
  407.     create this file, calling it CISB.BAT.  Then you would enter:
  408.  
  409.        CISB 1
  410.  
  411.     to run OZBEXT on COM1, or
  412.  
  413.        CISB 2
  414.  
  415.     to run on COM2.
  416.  
  417.  
  418.  
  419. 4.  If your DOS environment has the room to spare, set all of your common
  420.     switches using environment variables rather than switches on the command
  421.     line.  For example, if you always use OZBEXT from within AUTOSIG in
  422.     half-duplex mode, add a line to your AUTOEXEC.BAT file that says
  423.  
  424.       SET OZOPT=HQ
  425.  
  426.     and you will never need to worry about those switches when running OZBEXT.
  427.     If you have a specific subdirectory in which you always want downloaded
  428.     files to be stored (say, C:\COMM\DNLDS), you can use
  429.  
  430.       SET OZPATH=C:\COMM\DNLDS
  431.  
  432.     and never have to enter it again.  If you use many programs that use
  433.     environment variables, you may not have the room available, but do use
  434.     them whenever possible.  Note that providing /F or /L info on the command
  435.     line overrides existing environment variable settings.
  436.  
  437. 5.  For program-specific help in using OZBEXT, the sysops of the IBMNet on
  438.     CompuServe have written a series of help files.  These files are kept
  439.     in LIBRARY 2 of the IBMNEW Forum, and cover most of the more popular
  440.     commercial and Shareware/PD programs.  You do not have to download these
  441.     files; you can use the CIS "READ" command to read them while online.
  442.     The files all have a name extension of .HLP, and have the desired
  443.     program's initials and "-QB" as the name (example: the help file for
  444.     the BitCom program given away with many internal modems is called
  445.     BC-QB.HLP.)  I recommend that, when you do read the file specific to
  446.     your main comm program, you use that program's "capture to disk"
  447.     capability to save the file for later review.
  448.  
  449.  
  450.  
  451. USING OZBEXT
  452. ------------
  453.  
  454. OZBEXT is very simple to use, thanks to the way the B/B+ protocols work.  Both
  455. are "host-driven", which means the CIS computers control most all aspects of
  456. the transfer.  You can call OZBEXT from your main comm program at any time
  457. after you log on to the CIS network, or even use the program to make the call.
  458. However, you need to be sure to have OZBEXT loaded and active *before* you
  459. request a transfer to/from CIS.  CIS interrogates the remote program (you)
  460. with a special code when a transfer is requested, and very few programs know
  461. how to deal with this interrogation - most just ignore it, and the few that
  462. do understand and know how to reply to it do not provide the information
  463. nessessary to exactly match OZBEXT's capabilities and functions.  This is
  464. especially important when your main program supports the older B protocol
  465. but you want to use this program for BPlus; if OZBEXT is not loaded before
  466. you request the transfer and the main program replies to the interrogation
  467. with its own setup information, CIS may not offer you the option of using
  468. BPlus.  Also, since CIS "remembers" your protocol capabilities after the
  469. first transfer in a forum during any one online session, you will want to get
  470. the first one right.
  471.  
  472. The most common pattern of use for OZBEXT is as follows:
  473.  
  474. 1.  You navigate thru the CIS system to the forum library (or FILTRN or your
  475.     PER area) and browse thru the available files.
  476.  
  477. 2.  Once you locate the file you want, run OZBEXT.  This makes sure OZBEXT
  478.     is active when you request the transfer.
  479.  
  480. 3.  Now request the transfer, using the DOW command.  If this is your first
  481.     transfer this session, CIS will ask you for the transfer protocol type
  482.     you want - select "QB".  CIS will then ask you for the "File name for
  483.     your computer:" - enter the name you want the file stored under on your
  484.     system.  If you have not specified a files path to OZBEXT and want the
  485.     file placed somewhere besides your current working path, you can include
  486.     whatever specific path information you need as part of this prompt
  487.     response.
  488.  
  489. 4.  The transfer will begin.  If you need to abort the transfer for some
  490.     reason, just press [ESC].  Because of the "send ahead" nature of the B+
  491.     protocol, it can take several seconds for the abort to be processed.
  492.     If carrier is dropped or the protocol seems to "lock up" for some reason,
  493.     perform an Emergency Override Abort (EOA) by pressing the [ESC] key 3 or
  494.     more times in rapid succession - the EOA will cleanly abort the transfer
  495.     within a very few seconds.
  496.  
  497. 5.  When the protocol transfer is complete, the program will either notify
  498.     you and wait for a key to be pressed, or just return to its own terminal
  499.     mode or exit to the calling program, based on the settings of the /X and
  500.     /N toggles.
  501.  
  502.  
  503.  
  504. FUNCTION KEY MACROS
  505. -------------------
  506.  
  507. OZBEXT allows you to assign strings of characters to one or more function
  508. keys, so that pressing a specific key sends a complete command rather than
  509. just a single character.  These strings are commonly known as "macros".
  510. 40 macros are available, one for each of the normal, shifted, CTRL-ed and
  511. ALT-ed function keys.  Macros 1 thru 10 are assigned to F1 thru F10,
  512. macros 11 thru 20 are assigned to Shift-F1 thru Shift-F10, 21 to 30 go
  513. with Ctrl-F1 thru Ctrl-F10, and 31 thru 40 go with Alt-F1 thru Alt-F10.
  514. Each macro can be up to 127 characters long.
  515.  
  516. Macros are stored in a text file you create with any editor or word processor
  517. that creates flat ASCII files.  Each line of the file contains one macro.
  518. OZBEXT reads the file and assigns each line to a function key, in order as
  519. they are read from the file.  To skip a key, just have a blank line in the
  520. file for that key.  The file does not have to be 40 lines long.
  521.  
  522. The program provides several "metacommands" for use within macros.  These
  523. metacommands allow program information to be embedded in a macro string
  524. dynamically, allow a macro to request input from you, and force a Shell to
  525. DOS.  All macro metacommands begin with a forward slash (/) followed by
  526. one or two characters.  When you press a macro key, the macro string is
  527. examined for metacommands before it is sent and any found are processed.
  528. Here is a list of the available metacommands:
  529.  
  530.   /O   -when found at the start of a macro string, assumes the following
  531.         string data is a DOS command line, shells to DOS and executes the
  532.         string.  If found elsewhere in a macro, it is ignored.
  533.  
  534.   /M   -modem data insertion.  The /M must be followed by another letter
  535.         specifying what modem data to insert.  The qualifying letters are:
  536.  
  537.         C  -inserts port #.
  538.         B  -inserts current baud rate.
  539.         P  -inserts current parity.
  540.  
  541.   /I   -requests input from the keyboard and inserts it into the macro.
  542.  
  543. An good example macro is one that would run the DSZ.COM ZModem protocol
  544. module (by Omen Technology Inc.) to upload a file using the ZModem protocol.
  545. Such a macro could be:
  546.  
  547.   /O DSZ port /MC speed /MB sz /I
  548.  
  549. You would be prompted for input - a filename in this case.  Let's say you
  550. entered "DUMMY.FIL".  If you were running at 2400 baud on COM 1, the following
  551. line would be sent to DOS:
  552.  
  553.   DSZ port 1 speed 2400 sz DUMMY.FIL
  554.  
  555.  
  556.  
  557. A couple of other metacommands are available that do not require the leading
  558. slash.  These are primarily used when a macro is being used as a modem
  559. command.  The metacommands are:
  560.  
  561.   |    -inserts a carrage return.
  562.  
  563.   ~    -causes macro execution to delay 1/2 second.
  564.  
  565. An example macro string using these metacommands would be one that resets
  566. and configures a Hayes-or-compatable modem.
  567.  
  568.   ATZ|~~~~ATM1V1X4|~~~~
  569.  
  570. The macro string above would send the "ATZ" and a carrage return, pause 2
  571. seconds to allow the modem's "OK" response to be received and displayed,
  572. send the "ATM1V1X4" and a carrage return, and pause 2 more seconds for the
  573. next "OK" modem response.
  574.  
  575. Finally, you can embed control characters in a macro.  To do so, use the
  576. common "carat notation" for control characters - to enter a ctrl character
  577. in a macro, put a carat (the ^ character) and the character in the macro.
  578. Example: to put a control-C in a macro, use "^C" in the macro.
  579.  
  580.  
  581.  
  582. FOR USERS OF EARLIER VERSIONS
  583. -----------------------------
  584.  
  585. The biggest change between this version and earlier versions is the syntax
  586. for command-line parameters - older versions required a space between a
  587. command line option switch and its qualifier, while this version requires
  588. that *no* space be placed between the switch and its qualifier.  I know this
  589. means many of you will have to change batch files or module definitions in
  590. other programs; I'm sorry for the inconvenience.  However, the change was
  591. requested by many users, and was needed to gain room on the command line to
  592. provide for a transfer files path which was requested be even more users.
  593. One command line switch has been added (the /F option to provide the xfer
  594. path), and a couple have been changed.  Please see the section on options
  595. above.  Oh, yes... the added support for specifying switches as environment
  596. variables is new.
  597.  
  598. The program no longer requires that ANSI.SYS be loaded to do the ANSI/VT100
  599. emulation - all emulation support is now internal.  All of you VGA users that
  600. have had grief with some of the pseudo-ANSI drivers provided with your cards,
  601. and DesqView users who had problems with DVANSI, can now breathe easier.
  602. While I do not use DesqView, the program's video routines are "multitasker-
  603. aware" and should not "bleed thru" from a background window.  They work
  604. fine under ConcurrentDOS/XM and 386, and VPix.
  605.  
  606. This version is about 11K larger in actual executable file size than previous
  607. versions, but takes only 1K more total memory to execute thanks to paring down
  608. memory requirements in several areas - I had been severely pessimistic about
  609. locking out enough memory for several processes and suffecient stack space,
  610. but thanks to Turbo Debugger I was able to watch the program's stack and
  611. memory allocation usage much closer and "trim the fat" from the program.
  612. Some of the code size increase came from the added code to internally handle
  613. the ANSI/VT100 parsing and adding full support for assigned file paths.
  614. Drastically improving the way the program shells to DOS and adding the new
  615. environment variable support added the rest.
  616.  
  617. A "ticker" clock display has been added.  Of course, it is accurate only for
  618. the time you are in OZBEXT; it cannot know online times before or after
  619. using the program.
  620.  
  621. I have completely rewritten this documentation file in hopes that it will be
  622. clearer and easier to understand, especially for the novice communications
  623. software user.  No one ever accused me of being able to write anything other
  624. than program code; I make no promises as to its clarity, but I do hope you
  625. find it easier to understand than earlier versions.
  626.  
  627. Finally, this new version was compiled using the new Turbo Pascal 5.0 compiler,
  628. and a few sections of the program were redone using Turbo Assembler 1.0 for
  629. improved speed (the port ISR and the ANSI/VT100 command parser.)  Also, the
  630. latest version 5.0 of the Turbo Professional library from TurboPower Software
  631. provided many routines.
  632.  
  633.  
  634.  
  635. KUDOS, CONGRATS, KARMA ENHANCEMENTS
  636. -----------------------------------
  637.  
  638. Connie Kageyama, Don Watkins, Chris Dunford and Vern Buerg - the SysOps of
  639. the IBMNet Forums on CIS - for their tireless help and testing of this and
  640. all previous versions of the program.  The greatest group of folks I know.
  641.  
  642. Kim Kokkonen, Brian Foley and the gang at TurboPower Software, for writing
  643. and continuing to update and support the finest add-on libraries for Turbo
  644. Pascal in the free world.
  645.  
  646. Russ Ranshaw and Steve Wilhite, CIS, for clean B-Plus protocol source code
  647. and understandable documentation on same.
  648.  
  649. Most importantly, you - the users, whose exellent suggestions and constructive
  650. criticisms have made this program what it is.  If you find fault, it's mine;
  651. if you like what you see, thank them.  Especially, thanks to the many private
  652. non-commercial users who have registered the software and paid the license
  653. where it was not required - it is *you* who are keeping the spirit of shareware
  654. alive!
  655.  
  656.  
  657. POINT OF CONTACT, ETC.
  658. ----------------------
  659.  
  660. I can always be reached via CIS - my User ID is 71520,77.  If you like slow,
  661. my mailing address is:
  662.  
  663. Steve Sneed
  664. Ozarks West Software
  665. 409 San Juanico
  666. Santa Maria, CA.  93455
  667.  
  668. If you contact me via CIS, *please* do so in the IBMNEW or IBMCOM Forums, or
  669. in the GRAPHSUPPORT Forum, rather than by EasyPlex - there is no local CIS
  670. node where I live so all my access to CIS is long-distance and _expensive_;
  671. I have free flags in those areas while EasyPlex time costs me CIS charges so
  672. every little bit helps!  The C2G BBS is offline (but will ressurrect like the
  673. phoenix soon at a different phone number), so CIS and the mail are for now my
  674. only available contact points.
  675.  
  676. <eof>
  677.