
          -----------------------------------------------------------          
                               Table of Contents

  * Disclaimer
  * Why this program has been written
  * How to use it
  * System Requirements
  * Bugs and missing things
  * How to contact the Author
          -----------------------------------------------------------          
                                   Disclaimer
This software is copyrighted by the author, Martin Goebbel. It may be used and
distributed freely without any restrictions.
This software is provided "as is" and any express or implied warranties,
including, but not limited to, the implied warranties of merchantibility and
fitness for a particular purpose are disclaimed. In no event shall the author
be liable for any direct, indirect, incidental, special, exemplary, or
consequential damages (including, but not limited to, procurement of substitute
goods or services; loss of use, data, or profits; or business interruption)
however caused and on any theory of liability, whether in contract, strict
liability, or tort (including negligence or otherwise) arising in any way out
of the use of this software, even if advised of the possibility of such damage.

                           Back to Table of Contents

          -----------------------------------------------------------          
                       Why this program has been written
Actually there were two reasons for this:
  * I wanted to write the documentation for my programs in HTML, but I didn't
    want to include other peoples browsers. So, for every package to be
    complete I had to include my own browser in order to avoid copyright
    problems.
  * I also needed it for myself, for quickly viewing HTML Files under DOS,
    without the need to first load another BIG program.
So the main Design Goals where to
  * Keep the program small
  * Make it widely usable
The second point was accomplished by using only BIOS Video routines for output.
This should make it work under standard Dos, Dos/V, DesqView and it should work
more easily with Screen Readers.
It should also work on a computer without a 100% compatible CGA video adapter
and on a dos emulator (not tested). The drawback is that it is slow on older
machines. I tried it on a computer with 8086, 4.77MHz. It did work, but don't
expect blazing speed there.

                           Back to Table of Contents

          -----------------------------------------------------------          
                                 How to use it
Usage is actually pretty simple. On the Commanline type:
                               HLIST document.htm
                                        
If there is no filename supplied, hlist displays a list of available
commandline options.
If the file on the commandline does not exist, HLIST asks you if it should
create an empty HTML File under this name. If you answer yes the program starts
with this empty file which can then be edited using ALT-E (see below).

While loading the document, there is a message on the top of the screen. After
the Document has been parsed, there is a short, high beep (This is consistent
throughout the program. A successful operation gives you a high beep and in
case of an error there is a low pitched beep). Now you can start scrolling
through the document by a single line using the cursor up and down keys. For a
full page use the page up and down keys. Home and End will take you to the
start of the document or to its end.
The Tabulator Key can be used to select a Link. Pressing Tab will go to the
next Link, pressing Shift and Tab goes to the previous Link. To activate a
Link, just press Enter. If the file specified by the Link cannot be loaded, you
will hear a short beep and get an error message on lines 24 and 25.
To reload the previous Document use the Cursor left key. If there is no
previous Document then nothing will happen.
The Display shows the HTML File in the upper part (Lines 1 to 20) and any
additional information in the lower part (Lines 22 to 25). Line 22 shows the
document Title, line 23 the complete filename and line 24 the url of the
currently selected link. On line 25 there is information on which lines of the
document are currently displayed, the total number of lines in the document and
the remaining available memory.
Emphasized and Bold characters are displayed in black, links are displayed in
blue. The BIOS Cursor will also be placed on the currently activated link. If
this Link is not within the display, the cursor will be placed on position 80
in line 25.
If no function has been selected the lower Display shows the document title,
the file name and the value of the currently selected Link (or 'None' if no
Link is selected).
When using a Display Mode with more than 25 Lines, please adjust the Line
numbers acoordingly. The Information Field is always in the last 4 Lines.

Commandline options

  * /EEditor where Editor is the name of the editor you want to use. This
    replaces the ALT-O function. The default editor is edit.
  * /SOUND and /NOSOUND switches beeping on and off.
  * /ANSI and /NOANSI are used to enable (or disable) the mapping of the
    extended Ansi Character Set to your selected Codepage ( See also the
    section about special characters below). The default for this option is on.
  * /QUOTE and /NOQUOTE toggle the processing of the so called quoted-printable
    characters. This should be used, for instance, if you want to read an email
    which contains them. The default for this option is off.
  * /Display allows you to set the colors which are used for the display. Just
    change the color values in the input fields and press enter or esc when
    you're finished.
  * /Printer brings up a screen to enter control codes which are sent to your
    printer. Underlined printing is used for links, bold printing is used for
    strong or bold characters. To enter control codes use their ascii-code with
    a '#' prefix. ESC-F, for example, would be entered as #27F.
  * /RNumber and /LNumber set the right and left margins. Meaningful values for
    the left margin would be between 0 and 10, for the right margin you should
    values between 70 and 80 (It is of course possible to use different values,
    these are just a suggestion).
  * /SNumber causes HList to use a Display mode with Number Lines. Meaningful
    values on VGA would be: /S25, /S28 or /S50. This feature works only with
    EGA/VGA Cards.
  * /F runs the program as a filter, which reads the HTML data from the
    standard input and writes plain Ascii to standard output. In order to
    create a readable text file from a HTML File use hlist like this:
                        TYPE INDEX.HTM | HLIST /F > INDEX.TXT
    
The values you set from the commandline will be stored in the executable. You
don't have to use them each time you call the program.

Functions

  * F1: Shows a command overview in the upper part of the display.
  * Alt-A: Toggles between Ansi mapping on and off. Press F1 to check the
    current state.
  * ALT-C: Creates a new HTML File. You will be prompted to enter a filename.
    The default filename is the URL of the currently selected link.
  * ALT-D: Shell to DOS. To return to HLIST type exit at the command prompt.
  * ALT-E: Starts an Editor with the currently displayed File. If the File has
    been changed after exiting the Editor, it will be reloaded.
  * ALT-H: Select a File from the History List. The Files will be displayed on
    the last three lines, each line contains 3 filenames. Number key 1 will
    reload the current File, the number keys 2 to 9 will reload a previously
    loaded document. ESC cancels the selection.
  * ALT-L: This allows you select a file to load. The number keys 1 to 9 may be
    used to select a File or read a Directory. To change the Drive press Shift
    and the Drive Letter (e.g Shift-A will select Drive A). If the Drive is not
    ready (e.g. no Disk in A: or B:) you will hear a short Beep.
  * ALT-P: Print the current File on LPT1. The only Control Codes used for
    printing are ESC-E and ESC-F to turn bold printing on and off. This should
    work on almost all Printers. If it does not work on your Printer, look in
    your Printer Manual if there is a way to make it compatible to an Epson
    printer. In case there is an error while printing the computer will give
    you a beep and display an error message.
  * Alt-Q: Toggles the processing of quoted-printable characters. To check the
    currrent state press F1.
  * Alt-S: Toggles between 25 and 50 Display Lines.
  * ALT-X/ESC: Either of these two will exit the program.
Something more about links: you may only use local or relative links (This
program is not a full Web Browser after all). Something like
<A HREF="http://www.some-where.org/index.html"> is not understood. But
<A HREF="C:\HTML\INDEX.HTM"> or <A HREF="..\HDOC\MAIN.HTM#label"> should work.
When using ALT-D or ALT-E the program will swap out all of the data before
starting an external program. The data will be swapped (in that order) to
either XMS, EMS or a File. In order to be able to reload the data after you
return to HLIST you have to avoid using any TSR's or other programs which might
mess up the DOS Memory Allocation.
Addendum: I have experimented with running DosPPPD and WatTCP while being
shelled out to DOS. It seems to work fine.

                           Back to Table of Contents

          -----------------------------------------------------------          
                              System Requirements
The minimal system requirements are
  * A PC - compatible system with 8086 CPU, 4.77 MHz
  * Any Video Adapter
  * DOS 3.3
  * The amount of RAM needed depends on the size of the HTML files you want to
    view. 128K should be sufficient for small files (about 10K).
About Speed: On a 4,77 Mhz PC this program needs 25 seconds to parse a 50K HTML
File. If nothing seems to happen after starting the program, it's not
necessarily a program crash. Just wait a while.
                           Back to Table of Contents

          -----------------------------------------------------------          
                            Bugs and missing things
Like usual there are probably tons of Bugs I did't find yet.
This program supports only a subset of HTML 2.0. I have only included the tags
I felt to be necessary for writing the documentation for my programs (See
Reasons above, point 1 ).
This new Version allows it to view any Text file, wether HTML-Tags are included
or not. This should make it possible to view mail messages with included
HTML-Parts. Currently the following tags and special symbols are (more or less)
supported:
                           Tags (not case sensitive)

  * <HTML>, </HTML>
  * <HEAD>, </HEAD>
  * <BODY>, </BODY>
  * <TITLE>, </TITLE>
  * <BR>, <P>
  * <HR>
  * <EM>, </EM>
  * <B>, </B>
  * <UL>, </UL>
  * <OL>, </OL>
  * <LI>
  * <A HREF="..>, <A NAME="..>, </A>
  * <CENTER>, </CENTER>
  * <PRE>, </PRE>
  * <IMG>
  * <H1>..<H6>
                                Special Symbols
New with this version is a better international support. It supports all the
special characters I found in my HTML 2.0 Book and maps them correctly to your
selected codepage. The following codepages are currently recognized:
  * Codepage 437: USA
  * Codepage 850: Multilingual
  * Codepage 860: Portugese
  * Codepage 861: Iceland
  * Codepage 863: France/Canada
  * Codepage 865: Norway
  * Codepage 866: Russia
If your codepage is not supported, then 437 will be used. In case you are not
sure what a codepage is and what it is needed for, you might find something
about it in your Dos manual.
                           Back to Table of Contents

          -----------------------------------------------------------          
                           How to contact the Author
You may reach me by email under one of the following adresses:
  * martin@tennyo.muc.de
  * martin@tennyo.org

                           Back to Table of Contents

          -----------------------------------------------------------          
