!Help file for !FileSee

This is a little utility which I wrote since I wanted such a program, but
none appeared to exist.   It is a hex dump command (like *Dump) to run in a
window.

Simply run the application, it will install itself on the icon bar, and then
files can be dragged onto it from the filer (I don't currently support RAM
transfers, and I think I've got something wrong with the <Wimp$Scrap>
protocol, so you can't save a file from an application into !FileSee, but
then that's probably just as well, since !FileSee is not a safe place to
save to, it has no save options of its own) and a window will open for the
file.   It is in three columns, separated by colons.   The first column is
the offset into the file (this doesn't currently know about load addresses,
and will thus differ from what *Dump sometimes says).   The next column
contains a numeric representation of the bytes from the file in ascending
order starting from the offset in the first column for the next 16 bytes.
The final column contains the ASCII representation of the bytes, unless they
are unprintable in which case a full stop will be displayed.

All printed numbers are in hex, the file can only be displayed in the format
you will see, and the Dump configuration bits are ignored in this version.
The current limit on open files is 16, but this can be increased by altering
the value of maxfiles% in !RunImage, but this will cause the program to
crash due to lack of space if you add too many and don't increase the
WimpSlot in !Run, since each extra file slot adds 256 bytes to the program's
running space.  (If someone will explain to me how to alter the value of the
pointer in an indirected title bar icon after creating the window, this will
no longer be a problem, and the file limit will be far more free.)

Program history
======= =======

V0.00 - The original, never released and only in existance for a few hours.
        It had redraw code written in BASIC, which for a window so full
        (there are an awful lot of characters in each window) is
        horrifically slow.  It also had loads of bugs in file space
        allocation.

V0.01 - This was the first version released into the PD, it had the redraw
        code rewritten in assembler which made the program useable, although
        it's still not exactly lightning - 50 lines per second (regardless
        of how wide the area being redrawn is - it's not optimal in that
        it always redraws whole lines using individual OS_WriteCs for each
        char, so it has space for improvement).

V0.02 - This version saw the addition of this helpfile, and was principaly
        done so I could give Moray Mackenzie a reasonably unbugged version
        at the BAU show.   The bug with window title bars getting corrupted
        and sometimes causing address exceptions has been removed, in turn
        causing the feature of each file requiring 256 bytes of static space
        whether it's been loaded or not.   I've removed quite a lot of bugs
        from the space allocation code, and it now looks pretty safe, I've
        not had it crash yet, but I've not tested it thoroughly, simply
        opening and closing windows in a random order for about 15 minutes,
        and it used to crash all the time before, and since it hasn't yet,
        I'm a bit happier.   Anyway, if you find another error, particularly
        a repeatable one, please let me know.


Sorry to anyone looking through this code, it's not an ideal example of
programming, it's very short in the comments department.   Most of my Wimp
programs are like this since they all derive from one program I wrote when I
had no idea what I'd be doing in advance (which is fairly unusual for me)
and hence the code is uncommented.   The ARMcode redraw is particularly
badly written, using multiple statement lines and no comments (yugh! I'm
sorry..) since it was a direct transcript (line for line almost) from the
original BASIC code.   Believe me most of my code is better than this, the
RiscOS WIMP system just always seems to do this to me.



This code is PD (Public Domain) and may be distributed freely so long as no
profit is made for it (a small handling charge may be made to cover postage
if it is sold in a PD library, but I'd like to be asked before it is
included in such a library), and so long as all files are distributed
together. There should be five files in the !FileSee directory: !Help     -
This file !Run      - Obey file that starts application !RunImage - The
application itself !Sprites  - The icon for the application Templates -
Window definitions All these files are (C) 1990 I D Griffiths.


I can be reached on Archive, and Arcade BBSs (user #290 Ian Griffiths on
both boards) and The World of Cryton as #123 Flump.   I'm on Microlink as
user MAG20619. I can be reached via snail mail thus: Mr I D Griffiths,
Pinecroft, Berkhamsted, Herts, HP4 3NW.


Share and Enjoy.

