home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / pc / gifutil / ozrle93b.arc / OZRLE.DOC next >
Text File  |  1989-09-16  |  48KB  |  910 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                                      OZRLE
  21.                                   Version 9.3b
  22.     An external protocol module for the CompuServe "B" and "BPlus" protocols
  23.           and supporting the CompuServe GIF and RLE graphics images
  24.  
  25.                            Copyright(c)1987,1988,1989
  26.                                   Steve Sneed
  27.                                 CIS ID 71520,77
  28.  
  29.  
  30. Welcome to OZRLE!
  31. -----------------
  32.  
  33. OZRLE is an "external protocol module", a program that allows you to add
  34. the CompuServe "B" and "BPlus" file transfer protocols into other communi-
  35. cations programs.  While not designed primarily as such, the program can
  36. also be used as a (limited) stand-alone communications package for accessing
  37. the CompuServe Information Service (CIS).
  38.  
  39. Popular file transfer protocols such as XMODEM do not function well under
  40. CompuServe's complex packet-switching network.  The KERMIT protocol, while
  41. operational, is very slow on CIS.  CompuServe developed the B/B+ protocols
  42. to provide optimum performance on the network - it is the recomended method
  43. of file transfer when using CIS.
  44.  
  45. Also (and for many users, more importantly), OZRLE supports the CIS graphics
  46. standards RLE (Run Length Encoded) and GIF (Graphics Interchange Format) for
  47. both offline and realtime-online image display.  Additionally, OZRLE captures
  48. received images to disk - this means you can "preview" an image while
  49. downloading so you can verify you really want the image, and save connect time
  50. charges.
  51.  
  52. In addition, OZRLE supports both the ANSI/VT100 and VT52/Vidtex terminal
  53. emulations used by CIS for attractive screen handling.  A wide range of
  54. options, both on the command line and within the program, allow you to
  55. configure the program to match your needs.  The program automatically
  56. matches itself to your existing communications port configuration, meaning
  57. you do not have to worry about setting things like baud rate and parity
  58. when calling the program.
  59.  
  60. OZRLE works with most all major commercial and shareware/freeware comm
  61. programs, and can be used with any comm program that can shell out to DOS
  62. without dropping the connection.  On those programs that provide the capa-
  63. bility, OZRLE works best when set up as an external protocol callable from
  64. within the program (examples are ProComm Plus, QModem, Boyan and GT-PowerComm.)
  65. At this writing the only known major commercial comm program known not to
  66. work with this program is Hayes' SmartCom II, because it provides no way
  67. to shell out to DOS.
  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. Another place to get help on the program with GIF- and graphics-
  90. related questions is in the GRAPHSUPPORT Forum.  The sysops in both forums
  91. are familiar with the program and can answer questions, and of course I
  92. frequent the forums to help users.
  93.  
  94.  
  95.  
  96. The Legalese...
  97. ---------------
  98.  
  99. This program is the copyrighted work of its author, Steve Sneed.  All rights
  100. under US copyright law are reserved.  The author hereby grants to private,
  101. noncommercial users of this program a limited license to use, copy and
  102. distribute the program free of charge, as long as:
  103.  
  104. a) the program and its accompanying files are not modified in any way other
  105.    than changing the "archive format" used to store and transmit the program;
  106.  
  107. b) no charge is made for any distribution beyond a nominal disk/duplication
  108.    fee; and
  109.  
  110. c) the distribution of the program is not done by a business, company or
  111.    private entity whose primary business purpose is the distribution of
  112.    public domain and/or "shareware" software, by any means magnetic or
  113.    electronic, for profit.  Specific exclusion of this clause is hereby
  114.    granted by the author to The First Osborne Group (FOG), The Public
  115.    (Software) Library, CompuServe Inc. and PCMagNet.
  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 OZRLE
  141. ----------------
  142.  
  143. OZRLE 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 OZRLE and have different programs in different
  146. subdirectories, be sure to place OZRLE in a subdirectory that is on your DOS
  147. path.
  148.  
  149. OZRLE 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 America.
  159.  
  160. OZRLE comes with a special installation program called SETSVGA.EXE.  You only
  161. need to use this installation utility if you will be using the program on an
  162. Super VGA card.  SETSVGA tells OZRLE what SVGA chipset to support and what
  163. maximum resolution your card/monitor combination can support.  If these terms
  164. are unfamiliar to you, especially if you do not know what chipset your brand
  165. of video card uses, stop by the PICS Forum on CompuServe - we'll be glad to
  166. help you.
  167.  
  168. A second installation utility is also available separately to change the text
  169. colors the program uses.  It is called OZPATCOL.ARC and is available in the
  170. PICS and IBMNEW Forums.  See the readme file with OZPATCOL for instructions
  171. on its use.
  172.  
  173.  
  174. Configuring OZRLE
  175. -----------------
  176.  
  177. Configuration of OZRLE is very simple.  The program uses a "standard"
  178. internal configuration that will be correct for 90% or better of users.
  179. The program is quite flexible, however; almost any type of special con-
  180. figuration used on CIS is supported by the program, as well as several
  181. options governing the way the program functions or performs.
  182.  
  183. The following list contains OZRLE's nominal configuration.  Only if
  184. your particular configuration differs from this list should you worry
  185. about the various settings available.
  186.  
  187. * Uses the COM1: serial port/modem.
  188. * Uses the chosen port's existing baud rate, parity and data/stopbits settings.
  189. * Uses full-duplex communications.
  190. * Provides an audible alarm at the end of a protocol transfer.
  191. * Returns to its own internal terminal mode at the end of a transfer.
  192. * Uses the DOS current working directory for storage of downloaded files,
  193.   and looks in the same directory for files to upload.  Ditto for graphics
  194.   image files.
  195. * On exit, leaves the modem CarrierDetect line high and restores the port to
  196.   the same configuration in which it was found.
  197.  
  198.  
  199.  
  200. Setting Options
  201. ---------------
  202.  
  203. If one or more of the above settings does not match your configuration, there
  204. are two possible ways to change things.  The first, and recommended, way is
  205. thru setting variables in the DOS environment.  The second is to use command
  206. line parameters when executing the program.  If you are calling OZRLE from
  207. a program such as QModem that wants to see a batch file rather than a free-
  208. standing program to execute, it is simpler to use the command line parameters
  209. within the batch file (saving the DOS environment space for other programs.)
  210. Parameters set via environment variables can be overridden via command line
  211. options.
  212.  
  213. Below is a list of OZRLE's environment variable names and the associated
  214. options:
  215.  
  216. OZPORT=?         Replace ? with your commport number (1 thru 4)
  217. OZBASE=?         Replace ? with the Base Address of your port hardware
  218. OZIRQ=?          Replace ? with the Int Request # of your port hardware
  219.    (NOTE: the above two variables are used *only* if your comm port resides
  220.     at a non-standard base address and/or int request line (for example,
  221.     PS/2 systems on COM3 or 4.)  If one is used, the other *must* be used
  222.     as well.)
  223. OZPATH=?         Replace ? with the full path to use for up/downloaded files
  224. OZMAC=?          Replace ? with the full path/filename of your macros file
  225. OZGIF=?          Replace ? with the full path to your GIF/RLE files
  226. OZOPT=?...       Replace ? with one or more of the option letters in the
  227.                  parameters list below.
  228.  
  229.  
  230. When using command line parameters, all parameters must begin with either
  231. a dash (-) or a forward slash (/) character.  Parameters that require qual-
  232. ifying information (such as the port selection parameter) must have the
  233. information immediately after the option letter with no space.  At least
  234. one space must separate each parameter.  Below is the list of available
  235. parameter option letters:
  236.  
  237. C{portnumber}   Select the comport.  If you use COM2, this would be "/C2".
  238.                 The default is COM1.  Ports 1 thru 4 are available.
  239.  
  240. A{baseaddress}  Specifies the non-standard base address for the chosen
  241.                 port.
  242.  
  243. I{irqnumber}    Specifies the non-standard Int Request line # for the chosen
  244.                 port.  If either the A or I parameters are used, both must
  245.                 be used.
  246.  
  247.  
  248. If you are using the program as a stand-alone comm program rather than from
  249. within another comm program (and, generally, _only_ when you use it as such),
  250. 4 other parameters are available to configure the port.  They are:
  251.  
  252. B{baudrate}     Specifies the baud rate setting at which to open the port.
  253.                 Available baud rates are 300, 1200, 2400, 4800, 9600 and
  254.                 19200.  The default is to use whatever setting the port
  255.                 currently holds.
  256.  
  257. P{parity}       Specifies the parity setting to use.  Normally either None
  258.                 or Even, but Odd, Mark and Space settings are available as
  259.                 well.  You only have to provide the first letter of the
  260.                 parity type word (so setting None parity would be "/PN".)
  261.  
  262. W{dataword}     Specifies the data word length; 5, 6, 7 or 8 databits.
  263.  
  264. S{stopbits}     Specifies the number of stop bits (almost always 1.)
  265.  
  266.  
  267. The other available parameters are used to configure the way OZRLE works.
  268. These are the "options" settable with the OZOPT= environment variable.
  269. They are:
  270.  
  271. X               Exit OZRLE immediately on completion of a protocol transfer.
  272.                 The default is to return to OZRLE's internal terminal mode
  273.                 so you can download more files or navigate to another area
  274.                 of CIS.  This option is normally only used when the program
  275.                 is being called from within another comm program's script
  276.                 file for automatic execution.
  277.  
  278. D               Drop carrier on exit.  The default is to leave CarrierDetect
  279.                 high.  Using this parameter will mean that OZRLE will break
  280.                 any existing connection on the modem when exiting - not a good
  281.                 idea when you are loading the program from within another
  282.                 comm package.
  283.  
  284. N               Turn off the audible alarm normally provided at the end of a
  285.                 protocol transfer.  The default is to provide a beeper at
  286.                 the end of a proto transfer and wait for a keypress before
  287.                 continuing.  When this switch is used, no alarm sounds and
  288.                 the program does not wait for the keypress.
  289.  
  290. Q               Automatically send an XON character on startup.  This param
  291.                 is normally only used with the CIS-specific "auto-navigator"
  292.                 programs AUTOSIG and TAPCIS, both of which send an XOFF flow
  293.                 control command to CIS when shelling out to DOS.
  294.  
  295. U               Automatically send a Ctrl-U character on startup.  Using this
  296.                 parameter means that, on startup of OZRLE, the CIS system
  297.                 will automatically interrogate OZRLE for its terminal-type
  298.                 and protocol-support capabilities.  This option should be
  299.                 used with caution; in a few places that you might call OZRLE
  300.                 the sending of the Ctrl-U may confuse the CIS system or may
  301.                 abort the imput prompt that was waiting when you called OZRLE.
  302.  
  303.  
  304.  
  305.  
  306. Z               Forces use of program's monochrome screen colors set.  Some
  307.                 monochrome video hardware tries to "emulate" color; on these
  308.                 video systems the normal colors used for the prompt line and
  309.                 protocol status window may be unreadable.  If you find this
  310.                 to be the case (common on some Leading Edge machines), use
  311.                 this option.  Also see my OZPATCOL program for setting colors.
  312.  
  313. L{filespec}     Tells OZRLE to look for and load a macros file named
  314.                 {filespec}.  OZRLE does _not_ search the DOS path for this
  315.                 file, so you must explicitly provide any path information
  316.                 if the file is not in the DOS current working directory.
  317.  
  318. F{path}         Tells OZRLE to put all downloaded files in the {path}
  319.                 drive and/or subdirectory, and to take all uploaded files
  320.                 from that same location.  OZRLE verifies that the specified
  321.                 path does exist and if it does not notifies you of the error
  322.                 and reverts to the current DOS working directory.  Note that
  323.                 you can override this path by including any desired path with
  324.                 the filename when answering the "Filename for your computer:"
  325.                 prompt from CIS right before beginning the transfer.
  326.  
  327. T{size}         Set the size in lines of the scrollback buffer.  The default
  328.                 size is 48 lines (two screenfulls) to keep memory usage to
  329.                 a reasonable size.  You can increase this value up to 400
  330.                 lines (about 16 screenfulls.)  If you increase the value beyond
  331.                 the size of available memory, the buffer will not be turned on;
  332.                 keep this in mind when setting the buffer size.
  333.  
  334. EGA480          Tells OZRLE to support the 640x480x16 mode many EGA cards
  335.                 provide.  Default is to not support this mode for several
  336.                 reasons; see "Video Stuff" below for more information.
  337.  
  338.  
  339.  
  340. Running OZRLE
  341. -------------
  342.  
  343. OZRLE is simple to use.  Depending on what general communications software
  344. you use, it can be made almost automatic.  Due to the wide range of different
  345. communications programs available, no one setup will always be right for
  346. your particular configuration.  However, following these guidelines will make
  347. using the program simple and straightforward.
  348.  
  349. A)  If your comm program supports it, always install OZRLE as an external
  350.     protocol module.  Some programs or versions of programs do not support
  351.     defined external protocol modules but do allow the definition of external
  352.     programs (like editors.)  If this is true for your software, use that
  353.     type of setup.  Only use OZRLE from a "general" DOS shell if your soft-
  354.     ware provides no other support for external programs.  Installing OZRLE
  355.     as an external protocol module means calling OZRLE will be done in the
  356.     same manner as all other protocols, giving you a consistant interface.
  357.  
  358. B)  If your program requires batch files for external protocol modules (ala
  359.     QModem and a few others), do all parameters options on the batch file
  360.     command line.  Here is an example batch file for QModem:
  361.  
  362.     ECHO OFF
  363.     CLS
  364.     OZRLE /c2 /fA:\DNLD\TODAY /lC:\QMODEM\VT100.KEY %1 %2 %3 %4 %5 %6 %7
  365.     CLS
  366.  
  367.     There are several things to notice here.  First, we establish the port to
  368.     use as COM2: (/c2), then the path for downloaded files to be stored under
  369.     (/f...), and finally the macros file to use (/l...), then we provide for
  370.     passing other command line settings as we may need from time to time.
  371.     Note that the files path can be on any drive.  Also note that QModem's
  372.     VT100.KEY file redefining the keyboard to more closely emulate a true
  373.     DEC VT100 terminal will work nicely in OZRLE.  Finally, you can set the
  374.     standard settings you use most of the time as environment variables, and
  375.     then remove the /c, /f and /l parameters from the command line above but
  376.     leave the batch variable identifiers; this way allows you to easily
  377.     override your envirnment variable settings with command line parameters
  378.     if a special case warrants.
  379.  
  380.     This type of setup is also recommended if you use the program from a
  381.     "plain" DOS shell or from within AutoSIG or TAPCIS, or if you run the
  382.     program standalone.
  383.  
  384. C)  If your communications program is like Boyan (where you can call the
  385.     program directly), it is better to use environment variables to set
  386.     any needed options.  This is best done in your AUTOEXEC.BAT file so
  387.     that the variables are always set.  Programs like Boyan make it easy
  388.     to set a single configuration but make it difficult to modify that
  389.     configuration for special cases; make your setup flexible.
  390.  
  391. D)  In all the above cases, note that unlike most other protocol modules
  392.     OZRLE does not distingush between upload and download on the command
  393.     line.  This is handled at the start of a protocol transfer by the protocol
  394.     itself.  Therefore, you generally only need one configuration for both
  395.     the upload and download entries in your comm program.  However, a tip here
  396.     is that if you use different subdirectories for storing downloads and
  397.     finding uploads, you can set up separate configurations with different
  398.     paths on the /F option on the command line (either batch file or direct
  399.     command methods), or set an environment variable for the files path for
  400.     downloads and override it with a command line setting in the upload setup.
  401.  
  402.  
  403.  
  404. Using OZRLE
  405. ------------
  406.  
  407. Most protocol modules, when executed, immediately enter the protocol itself.
  408. The B protocols do not work this way.  CIS sends a special interrogation
  409. sequence to the remote system (you) to make sure the remote can in fact do
  410. B and/or B+ before initiating the protocol itself.  OZRLE _must_ be loaded
  411. and running to reply to this interrogation properly, or you may well not be
  412. able to do the transfer.  (This is not a deficiency, it is a safety mechanism
  413. for both CIS and you.)  Many places on CIS where you can transfer files, this
  414. interrogation may not be done immediately prior to the protocol initiation;
  415. often it is done when you first request a transfer but before CIS has asked
  416. you for the filename to process and the file type (binary or ASCII.)  Because
  417. of this you should call OZRLE _before_ you request the transfer.  OZRLE
  418. comes up in terminal mode so that you can answer any pending prompts, etc.
  419.  
  420. Usually, when you shell out to OZRLE from another comm program, there is
  421. a prompt from CIS pending input.  There is no way OZRLE can know what this
  422. prompt was and therefore redisplay it (or anything else that was on the screen
  423. when you called it) so you must remember what the prompt was and reply to
  424. it after OZRLE is operational.  This is no problem; just type in what you
  425. would have had you been sitting at the prompt.  CIS never sees OZRLE load
  426. so it never knows you were not able to see the prompt.  (If you use the
  427. /U or /Q options, CIS will know but won't care.)
  428.  
  429. Some users have noted that they "forget I'm in OZRLE rather than my main
  430. program."  OZRLE provides a status line at the bottom of the screen at all
  431. times to remind you.  I have tried to make sure it does not resemble too
  432. closely the status lines provided by many other comm programs, to make this
  433. recognition easier.   Since OZRLE only has 1 set of colors for color video
  434. systems and another for mono, you may want to make sure your main comm program
  435. uses a different set of colors on its status line as a further reminder.  You
  436. can change the colors the program uses; get my OZPATCOL program to do so.
  437.  
  438. Many CIS users (most?) log in at 7 bits/Even parity.  OZRLE has no problem
  439. with this; it knows how to switch to 8 bits/No parity for the actual transfer
  440. and back at the correct times.  HOWEVER... some serial ports and/or modems
  441. do not handle the "flying switch" properly and will cause grief.  For this
  442. reason I recommend you use 8 bits/No parity at all times on CIS.  To do so
  443. you must change some of your "user profile" parameters that CIS maintains
  444. on you.  Enter GO TERMINAL at any ! prompt, amd follow the menus to set your
  445. parity to None/Zero.
  446.  
  447. OZRLE provides both a clock and an online timer on its status line.  The
  448. online timer displays and "ticks" only when a connection is established.
  449. If you use the program standalone this timer will be accurate, but if you
  450. call OZRLE from another program it will only display the amount of time you
  451. have been in OZRLE.
  452.  
  453.  
  454.  
  455. Video Stuff
  456. -----------
  457.  
  458. OZRLE supports most common IBM video types, including Hercules Monochrome,
  459. CGA, MCGA, EGA and VGA.  It also supports many "Super" VGA types, at reso-
  460. lutions (depending on the card) up to 1024x768.  A chart (below) lists the
  461. resolutions supported as well as video hardware types and what mode is used
  462. for that hardware.  Some important notes concerning graphics modes and this
  463. program:
  464.  
  465. All video types:  Where the program has multiple video modes to choose from
  466. (all color systems), the mode will be as closely matched to the image reso-
  467. lution as possible.  Most images created on IBM hardware will exactly match
  468. one of these modes, but images created on other hardware (Macs, Amigas, etc.)
  469. may well be "odd" resolution dimensions.  Since the vast majority of these
  470. odd-sized images will be tall-and-narrow rather than short-and-fat, the pro-
  471. gram concentrates on the image height as the determining factor in selecting
  472. a mode.  Some odd-sized images can "fool" the program though, so be aware
  473. of image resolutions before viewing or downloading a specific image.  The
  474. same goes for colors; trying to view a 256-color image on 4-color CGA hard-
  475. ware is usually a disapointment.  CGA users take note: I recommend Tom
  476. Potoki's exellent TWOBIT program for offline viewing high-color images on
  477. CGA hardware.  The offline decoders have two advantages over the online
  478. decoders: they have the luxury of time (I have to concentrate on the serial
  479. port) and they have the complete file already at hand to simplify the process
  480. of dithering multiple colors down to 4 or 2 (I only have what has already
  481. come in the port so I can't "look ahead" to balance tonal qualities, and due
  482. to the nature of this program I can't make it much larger by adding the
  483. code nessessary to do the dithering.)
  484.  
  485. Another one for all video types:  If you have used offline decoders you may
  486. try the first online view and wonder why it is so s-l-o-w and why it displays
  487. in spurts.  Keep in mind that image data arriving to the program via the
  488. serial port is comming in at one/one-thousandth or less the speed a program
  489. can read data from a hard disk; it _has_ to be far slower.  The reason the
  490. program displays in spurts is because of the transfer protocol protection
  491. being used.  The actual image data is in compressed binary format as it is
  492. received and must be uncompressed by the program before it is displayed;
  493. because one byte corrupted by line noise can cause the decompression code
  494. to enter hyperspace at Warp IX, a transfer protocol must be used to insure
  495. the data's integrity before it ever is handed to the decoder.  Because proto-
  496. cols send data in blocks, a block must be received and verified before it is
  497. handed to the decoder; the decoder processes the data to the screen before
  498. turning control back over to the protocol section... thus the "display/wait"
  499. spurts.  This is also a limitation of the operating system, as environments
  500. that can process multiple "threads" of programming can easily be receiving
  501. one block while they process the previous block.  Good ol' DOS...
  502.  
  503.  
  504.  
  505. Hercules Mono and InColor(tm) cards: This code has been designed on and
  506. tested on a true-blue Hercules(tm) brand card and 3 "clone" herc cards of
  507. various heritage; I cannot guarantee it will work correctly on all clone
  508. cards.  Most herc clone cards on the market today are quite compatible, but
  509. many earlier cards have problems with graphics modes.  Caveat emptor.  If
  510. you have two video systems (one herc mono and a color system of some type),
  511. the program should always detect and use the color system.  If for some reason
  512. it wants to detect and use the herc card, I'm sorry... you typically will
  513. have all kinds of grief and will not be able to use the program; try removing
  514. one card or the other.  Finally, while I have gone to some lengths to provide
  515. decent display of >2 color images on Herc hardware, it will always be somewhat
  516. of a disapointment.  I do recommend that, if you have Herc mono and want to
  517. view the weather maps, do so in the BWMAPS section using RLE instead of the
  518. GIF format in the COLMAPS section.  Note that Hercules InColor cards are
  519. treated as monochrome and not color.
  520.  
  521. EGA (true): Like VGA, there are a multitude of EGA cards on the market.  Many
  522. are "Super"EGA cards and support modes above the normal EGA level (640x350x16).
  523. OZRLE supports only one of these enhanced modes, the 640x480x16 mode 0x12
  524. that is the same as VGA 640x480x16.  Many users will have a system made up of
  525. one of these "SEGA" cards and a generic vanilla EGA monitor. (A sad but common
  526. occurance in the cheap clone marketeering game is to advertise a super-gee-
  527. wowie EGA card... and deliver the system with a standard EGA monitor that
  528. can't take advantage of the card's capabilities.  The unknowing, hapless
  529. purchaser almost always gets stuck.  End of editorial.)  Because of this,
  530. OZRLE defaults to only supporting up to 640x350x16.  If you can handle the
  531. 640x480x16 mode, use the /EGA480 command line switch to enable support for
  532. mode 0x12.  If you use this switch and nothing displays, or you get a few
  533. garbage pixels, or (rare) the system locks up, your card can't support the
  534. 640x480 resolution as a BIOS-directed mode.  (A few cards support it but not
  535. via the video BIOS, only thru direct hardware programming.)  If you get what
  536. seems to be an image but it wavers or jitters rapidly, or has a bad vertical
  537. roll, your monitor cannot handle the higher sync rate used on the 0x12 mode.
  538. Try this offline to verify before you use it online.
  539.  
  540. EGA (true):  The EGA low-resolution mode (320x200x16) is an oddball.  IBM in
  541. their infinite wisdom made the handling of this mode a little different on
  542. the card than the other EGA modes, and then compensated in their EGA monitor.
  543. Some aftermarket EGA cards follow right along with this different handling,
  544. but very few monitors do the resultant nessessary compensation; some EGA
  545. cards just don't support the full 16-of-64 palette in 320x200x16 mode.  As
  546. a result, this mode will usually provide very poor color resolution on a
  547. given image compared to a higher resolution mode on the same image.  As a
  548. result, the EGA 320x200x16 mode is not normally supported and 320x200 images
  549. on EGA use the 640x350 mode to maintain aspect ratio.  CIS weather maps and
  550. TREND charts, however, will use this mode as the colors are good for these
  551. images.
  552.  
  553.  
  554.  
  555. VGA ("standard"):  You do *not* need to use the SETSVGA utility.  In fact, it's
  556. important that you do not; if you use it and tell OZRLE that you have a super
  557. VGA system when in fact you do not you're sure to see all kinds of problems.
  558.  
  559. SVGA ("SuperVGA"):  OZRLE now supports the 7 major SVGA chipsets internally in
  560. assembler (no linked-in drivers, etc.)  Support is provided for Tseng Labs,
  561. Paradise, Video7, ATI, Everex, Trident and Chips&Tech.  OZRLE needs to know
  562. two things about your video system: which chipset it should support, and what
  563. the highest 256-color image size is that your combination of card and monitor
  564. can support.  The SETSVGA program gets this imformation from you and patches
  565. the appropriate information directly into the executable file.  Before you use
  566. OZRLE the first time you need to run SETSVGA and answer its two questions.
  567. Note that the question on max resolution is for the highest *256-color* mode
  568. your hardware can handle, not nessessarily the max mode the card can do.  If
  569. for instance you have a Paradise SVGA with only 256K of video memory, you
  570. should use the 640x400 setting as a max mode because you can only do 16 colors
  571. at higher modes.  Another example would be if you have an STB VGA/em with 512K
  572. but only have a "standard" (non-MultiSync) analog monitor, you need to set the
  573. max mode to the 640x480 setting.  OZRLE will always do at least to 640x480
  574. even when it has to use 16 colors.  Also note that the Everex SVGA support is
  575. limited to 640x400 (this is all most Everex cards will do at 256 colors.)
  576. The Video7 type does not support the 720x540 mode.  The 360x480x256 mode
  577. 0x13 "special" is not supported in this version; I hope to get it working in
  578. a future release.  I also hope to get IBM8514/A support added in a future
  579. release.
  580.  
  581.  
  582.  
  583. Commands Within OZRLE
  584. ----------------------
  585.  
  586. OZRLE provides several commands while operational.  These all are used to
  587. modify the same functions you set with command line options or environment
  588. variables.  Generally, the letter used for a particular option setting will
  589. be the key used with the [Alt] key to modify that option while in OZRLE.
  590. To see a menu of available Alt-Key commands in the program, press the [Home]
  591. key.  Most all of the commands are self-explanitory.
  592.  
  593. The "Offline View" part of OZRLE is a program within itself.  This section
  594. allows you to view offline those GIF images you have captured.  Press Alt-G
  595. to enter offline view mode.  Offline view gives many features only found
  596. in the powerful offline-only decoders such as a "tag-and-shoot" interface,
  597. "slides" mode (display multiple files automatically), large image scroll
  598. and "banded" interlacing.  Note that while OZRLE has these and other
  599. capabilities and is a quite fast offline decoder, it should not be considered
  600. a replacement for a good offline-only decoder such as VPIC or FASTGIF.
  601. These programs provide faster display speed and many special features that
  602. there simply isn't room for in a program such as OZRLE.
  603.  
  604. The only commands in offline view mode are these:
  605.  
  606.    while in filepick mode:
  607.  
  608.      cursor keys,
  609.      pgup/pgdn,
  610.      home/end    - move around in the files list
  611.      enter       - display the highlighed file
  612.      spacebar    - "tag" the highlighted file for slides mode display
  613.      Alt-S or F2 - display tagged files
  614.      Alt-N       - toggle alarm sound on/off
  615.      Alt-B       - toggle banded interlace on/off
  616.      Alt-A       - toggle autosize on/off (Herc, CGA and EGA only)
  617.  
  618.    while a single image is displayed (only the esc command works in slides
  619.    mode):
  620.  
  621.      cursor up/dn,
  622.      pgup/pgdn  - scroll large image into view
  623.      "1"        - force standard image sizing \
  624.      "2"        - force autosizing            / (Herc, CGA, EGA only)
  625.      enter      - exit display
  626.      esc        - abort slides display
  627.  
  628.  
  629. Another new command is available in OZRLE - the Alt-V (View Scrollback buffer)
  630. command.  This allows you to see what has scrolled off the top of the screen.
  631.  
  632.  
  633.  
  634. Macro "QuickKeys"
  635. -----------------
  636.  
  637. OZRLE allows you to define up to 40 "QuickKeys" to simplify its use.  These
  638. keys are the function keys, and the function keys used in conjunction with
  639. [Ctrl], [Shift] and [Alt].   Each may have a string of up to 127 characters
  640. assigned to it (a "macro".)  Macros 1 thru 10 are assigned to function keys
  641. [F1] to [F10], macros 11 thru 20 are assigned to [Shift][F1] thru [Shift][F10],
  642. macros 21 thru 30 go with [Ctrl][F1] thru [Ctrl][F10], and 31 thru 40 are
  643. assigned to [Alt][F1] thru [Alt][F10].  Pressing a QuickKey causes the program
  644. to send the macro assigned to that key out the serial port.
  645.  
  646. The definition for macro keys are stored in a flat ASCII text file.  Do not
  647. use a word processor that inserts special control codes or other non-standard
  648. characters to create this file, or be sure to save the file in ASCII or
  649. "non-Document" mode.  The file is read by the program sequentially a line
  650. at a time, each line being assigned to the next macro (line 1 goes to macro
  651. 1, line 2 to macro 2, and so forth.)  The file does not have to be 40 lines
  652. long.  To skip a macro, insert a blank line in the file.  The default name
  653. for this file is OZRLE.FKS, but you can name the file anything you like as
  654. long as you set that name to the OZMAC environment variable or set the /L
  655. command line option to that filename.  Previous versions of OZRLE gave a
  656. warning if it could not find the OZRLE.FKS file on startup and no new file
  657. name was provided; many users found this confusing so the warning has been
  658. removed unless OZRLE.FKS (or the filename you specify) is found but corrupt
  659. in some way, or if you provide an overriding filename and _that_ file is not
  660. found.
  661.  
  662.  
  663. Macro Subcommands
  664. -----------------
  665.  
  666. OZRLE provides further flexibility by allowing several embedded subcommands
  667. within macros.  These subcommands allow you to insert the current port, baud
  668. rate and parity setting, have a macro request input and then place that input
  669. in the macro before sending, wait until a character is received, and to use a
  670. macro to shell to DOS and execute the macro as a DOS command line.  Addition-
  671. ally, subcommands are available to insert a carrage return in a macro and to
  672. delay macro processing 1/2 second.  Finally, standard "carat notation" is
  673. allowed to insert control characters in a macro.  Where found in a macro, the
  674. subcommand is replaced with the data it specifies.
  675.  
  676.  
  677.  
  678. All embedded subcommands (except the CR and delay characters and the control
  679. character notation) begin with the "at" symbol (@).  The following list
  680. defines the available subcommand letters:
  681.  
  682. O       Force a DOS shell, and use the macro as a DOS command line.  This
  683.         only works when the first 2 characters of a macro are "@O", otherwise
  684.         they are ignored.  The macro is processed for insertion of all other
  685.         subcommands before executing.  The macro is not sent to the port.
  686.  
  687. M       The "M" subcommand takes a second qualifying letter defining the
  688.         specific modem parameter to be inserted in the macro.  these
  689.         qualifiers are:
  690.  
  691.             C - insert the current port number.
  692.             B - insert the current baud rate.
  693.             P - insert the current parity setting.
  694.  
  695.         For example, placing "@MC" in the macro when the current port is
  696.         COM1 would cause the subcommand to be replaced with "1".
  697.  
  698. W       The "W" subcommand takes a second qualifying character or string and
  699.         waits until received.  This gives a very limited but useful "script"
  700.         capability.  Example: "@W!" would wait until the "!" char was received
  701.         (or the <esc> key is pressed) before continuing execution of the
  702.         macro.  When waiting for more than one character (a string) you need
  703.         to enclose the specified string in double-quote marks.  Example: to
  704.         wait for the string "User ID:" you would use `@W"User ID:"' in the
  705.         macro.  You can place up to 10 "Wait" commands in a macro and each
  706.         can wait for a different character or string.
  707.  
  708. I       The "I" subcommand forces the macro to prompt you for input, and
  709.         then insert that input in place of the subcommand.
  710.  
  711. An example macro to call the DSZ external ZModem protocol module from within
  712. OZRLE to upload a file to a BBS would probably contain this:
  713.  
  714. @O DSZ port @MC speed @MB sz @I
  715.  
  716. When you press the QuickKey assigned to this macro, you would first be
  717. prompted for input.  Assuming you input "FOO.BAR", and you were using COM1
  718. at 2400 baud, the following command line would be executed by DOS:
  719.  
  720. DSZ port 1 speed 2400 sz FOO.BAR
  721.  
  722. ---
  723.  
  724. The pipe character (|) is used as a carrage-return in a macro.  The tilde
  725. character (~) forces a one-half second delay where it is found in the
  726. macro.  These two special characters are provided to simplify using macros
  727. as modem command strings.  As an example, let's say you want the F1 key
  728. to send a command to your "Hayes-compatible" modem to reset and then dial
  729. the number of your CIS node.  Assuming the number of the node I use and the
  730. way I normally set my modem, the following macro would be used:
  731.  
  732. ATZ|~~~~ATM3V1X4DT922-3308|
  733.  
  734.  
  735.  
  736. This sends the "ATZ" command to the modem with a carrage-return, waits two
  737. seconds (so the "OK" reply from the modem can display), then sends the setup/
  738. dial command string and a carrage-return.  Another example is the macro I
  739. use to log on thru Tymnet:
  740.  
  741. |~~~~~~~~A@W:CIS02|@W"User ID:"70000,000|@W"Password:"my-password|
  742.  
  743. Once I get the "CONNECT 2400" from the modem, I press F2 for this macro.  It
  744. sends a carrage-return, waits four seconds for Tymnet to give its "Please enter
  745. your terminal identifier:" prompt and replies with the "A" nessessary, waits
  746. for the "Please log in:" Tymnet prompt, sends the "CIS02" and carrage-return
  747. to tell Tymnet to connect me to CIS, then waits to allow CIS to issue the "User
  748. ID:" prompt and sends a userid and carrage-return, and finally waits for the
  749. "Password:" prompt and sends a password.
  750.  
  751.  
  752.  
  753. The Protocol Window
  754. -------------------
  755.  
  756. During a protocol transfer a window appears on screen detailing the transfer
  757. activity.  Most things about the window are pretty self-explanitory, but one
  758. area deserves clarification - the "Port" and "Data" percentages on the "Ef/Tm"
  759. (Efficiency/Time) line.  The percentage displayed in the "Port" column is the
  760. comparison of current protocol "raw" port rate to the current port baud rate
  761. setting of the UART.  In other words, at 2400baud this figure would optimally
  762. be 100% if we were seeing 240 bytes per second comming in the port during a
  763. transfer.  Since CIS uses its packet-switching network and network delays of
  764. some magnitude are inevitable, this figure will almost always be less than
  765. 100%.  Normally you can expect greater than 230 cps "raw" rates on downloads,
  766. but uploads often fall below 200.  Connections established thru suplimental
  767. carriers such as Tymnet may well be less.  The percentage under the "Data"
  768. column, on the other hand, is the ratio of total data bytes received to the
  769. protocol's average "raw" port rate.  In other words, the efficiency of the
  770. actual data comming in the port.  This figure normally runs around 92 - 96%
  771. for binary files and 97 - 99% for ASCII text files.  However, bad packet
  772. resends when an error occurs and is corrected cause this figure to drop,
  773. sometimes dramatically.  Providing both figures makes it easier for you to
  774. decide when to abort a transfer.  If the "Port" figure is dramatically low
  775. (usually due to a high network traffic load but can also be due to delays
  776. caused by suplimental carrier networks), you may want to abort the transfer
  777. and wait until network traffic had dropped so good port rates are possible.
  778. If the "Data" figure is low (usually due to a high error-packet count), you
  779. may want to abort and call back on another node.  The time display under the
  780. "File" column is the time the transfer has taken so far, while the time under
  781. the "Remaining" column is an estimate of the time it will take the rest of the
  782. transfer to complete.  The "Remaining" time figure will vary based on the cur-
  783. rent port rate, because it is recalculated at the end of each packet.
  784.  
  785. On GIF image views that are protected by protocol (right now only the TREND
  786. area of CIS does not use B+ protocol protection), a small window is displayed
  787. after the image view is complete, and notes the important protocol performance
  788. results.  Because the actual image data display process between blocks takes
  789. a little time, it is very rare that you will get the same performance figures
  790. on an image view that you get on a file download, but they should be pretty
  791. close.  Remember, the TREND area does not provide protocol protection on the
  792. image stream, and if that unprotected image data gets corrupted it will usually
  793. cause the system to lock up.
  794.  
  795. While on the subject of the TREND area of CIS, another note:  TREND works
  796. funny.  When you enter the TREND area you are prompted for a stock (either
  797. name or ticker symbol) and then for "number of periods".  After this last
  798. prompt, you get nothing - for as long as 2 to 3 minutes.  No "Please wait"
  799. message, nada.  What is happening is that the CIS computers are analyzing
  800. your request and "building" the graphic image in real time, and that _takes_
  801. time.  The problem is that the host appears to have "died" or disconnected;
  802. hitting [enter] a few times does nothing, nor does the usual Ctrl-P or Ctrl-C
  803. abort commands.  Just be aware of the delays and don't think CIS has dropped
  804. you.  I've hit FEEDBACK about this problem, and since FEEDBACK is free I
  805. hope all of you who use TREND will also stop by there and leave a complaint
  806. message (not nasty of course, just a polite reminder) that there needs to
  807. be some sort of "Please hang on - this can take a few minutes" message after
  808. that last prompt.  Thanks.
  809.  
  810.  
  811.  
  812. Video Modes Capabilities Chart
  813. ------------------------------
  814.  
  815. The following chart lists the video modes OZRLE uses for graphics images.
  816. RLE images always use the lowest size mode available on a given video system,
  817. usually 320x200; since Herc mono has only one size mode, RLE and small GIF
  818. images will show only in the upper lefthand corner of the screen.
  819.  
  820. Mode numbers are Decimal.
  821.  
  822. Adapter           Mode #         Description (WDTH x HT x NUMCOLORS)
  823. -------           ------         --------------------------------------------
  824. Herc Mono          xxx           720x348x2
  825.  
  826. CGA                04            320x200x4 (grayscale)
  827.                    06            640x200x2
  828.  
  829. EGA Mono           BGI           640x350x2
  830.  
  831. EGA (64K card)     BGI           640x200x16
  832.                                  640x350x4
  833.  
  834. EGA                13            320x200x16 (normally used only on CIS images)
  835.                    14            640x200x16
  836.                    16            640x350x16
  837.                    18            640x480x16 (requires /EGA480 switch)
  838.  
  839. MCGA               17            640x480x2
  840.                    19            320x200x256
  841.  
  842. VGA                14            640x200x16
  843. (and "std" VGA     16            640x350x16
  844.  modes on most     18            640x480x16
  845.  SVGA cards)       19            320x200x256
  846.  
  847. SVGA             varies          640x350x256/640x400x256
  848.                                  640x480x256
  849.                                  800x600x256
  850.                                  1024x768x16
  851.  
  852.  
  853.  
  854. Kudos, Credits, Karma Enhancements
  855. ----------------------------------
  856.  
  857. The sysops of the IBMNet forums on CIS: Don Watkins, Connie Kageyama, Chris
  858. Dunford and Vern Buerg.  My primary beta testers, and the greatest group
  859. of folks around.  Ditto for Valerie Zen and Tom Potoki, sysops of the Graphics
  860. Trilogy forums on CIS, who also help test.  Really have to include the whole
  861. of the Developer's Group in the PICS forum as many have tested, provided
  862. suggestions, etc.
  863.  
  864. Kim, Brian and Rich of TurboPower Software, for writing and maintaining the
  865. best library of Turbo Pascal utility routines in the free world.
  866.  
  867. Chris Young, HSX-200 SysOp and GIF wizard, for the asm LZW decompress and GIF
  868. header decoding, and the EGA video routines.  *BIG* help!
  869.  
  870. John Bridges for his SVGA bankswitch and modesetting code.
  871.  
  872. Russ Ranshaw ("Wiz10") and others at CIS, for providing exellent documentation
  873. on the B+ protocols, and understandable source code for same.  Ditto to Brion
  874. Jones of CIS for informative literature on interrogation/response sequences
  875. and terminal reply codes.
  876.  
  877. Most importantly... you, the users.  Your questions, criticisms and sugges-
  878. tions have helped make the program what it is.  If you like it thank yourself,
  879. not me.
  880.  
  881.  
  882. Point of Contact
  883. ----------------
  884.  
  885. I can most easily be reached via CompuServe; my ID# is 71520,77.  Please leave
  886. questions in either IBMNEW or IBMCOM rather than EasyPlex; other users or the
  887. sysops may well be able to give you a faster answer.  If you need to contact
  888. me concerning registration, please do so by EasyPlex or US mail:
  889.  
  890. Steve Sneed  71520,77
  891. 409 San Juanico
  892. Santa Maria, CA.  93455
  893.  
  894. This program is not shareware in the traditional sense; I do not require
  895. private non-commercial users to register or pay a license fee (see the section
  896. on license requirements at the top of this document.)  If you have a burning
  897. urge to send me money anyway... I won't turn it down. <grin>  Please make
  898. checks payable to Steve Sneed.  Updates are only done thru CIS; I do not
  899. notify users of updates (except for fully-licensed commercial users.)  If
  900. you are registering for full license, please plainly state so in your
  901. corospondence along with how you are using the program.  Site licenses and
  902. multi-license discounts are available; please contact me for specific info.
  903. Finally, please do not call me voice, and I cannot accept any collect calls.
  904. I don't mind helping folks, but 7am and 11pm calls do not help my baby
  905. daughter sleep.  Thanks.
  906.  
  907. I hope you enjoy the program!
  908.  
  909. <eof>
  910.