
                       USER GUIDE OF THE !FORTH SYSTEM
                       ===============================


   For the time being just some notes so that you can use it  more easily.

                                             

                              GETTING STARTED
                              ---------------
   !FORTH is a normal aplication and can be double clicked to start as usual.
!FORTH will install itself on the Iconbar, when on the Iconbar it is fully
active, i.e. it will execute programs dragged onto it. Clicking on the !FORTH
icon on the Iconbar will open the initial !FORTH window.

   !FORTH is a character based program, the initial window emulates an 80 by
25 screen. This window (and others that may be defined) can be resized and
moved as normal, other windows can be moved on top of them, screen output 
behaving properly. (i.e. not overwriting the top window, but see the Bug
list). The !FORTH system emulates some of the VDU commands, specifically,
those affecting the printer, and clearing the screen.

   !FORTH has only been tested in the following modes: 12, 15, 16. It is
usable with a monochrone monitor, and works best in mode 16 (of those I have
tested). 

   !FORTH can be multi-tasked, this can be shown by running Prog2 in one
!FORTH window while other windows run !CLOCK, !USAGE, etc. Two or more !FORTH
tasks can be run at the same time duble click on the !FORTH icon again to get
two or more !FORTH icons on the iconbar. Then open the forth windows and run
the Prog2 in them.



                          CREATING PROGRAMS
                          -----------------

    Programs can be entered interactively, using the keyboard. Long programs
and those which need to be edited, should be entered using !EDIT or any other
text editor which produces ASCII files. Save the program to disc from the
editor, then drag the file onto the !FORTH window, or drag the save box from
!EDIT to the !FORTH window. It will then execute the file just as if it had
been entered manually.

    There is no editor defined within the !FORTH environment, this is for a
number of reasons, including:
  1. I Haven't had time.
  2. Using !EDIT works perfectly well.
  3. It is not posible to work back from the compiled code to the definition.
  4. The interactive session is not logged.

    However if anyone would like to write an editor (working in a separate
window), I would like to here from them.





                       HOW TO USE TEXT WINDOWS
                       -----------------------

   In version 1.2 multiple text windows can be defined. Entering the
following creates a text window 60 characters across and 10 down called
AWindow:

What Next> 60 10 NEWTXTWIND AWindow

   This window can be opened by:

What Next> AWindow OPENTEXTWIND

   A window will appear at the bottom of the screen which can be moved
resized, as usual. The window will be created clear of text to write text
into the window it is necessary to change the output window:

What Next> AWindow SETTXTWIND

   The new window will now accept normal text output and so the FORTH session
will continue in this new window. To get back to the original window use:

What Next> FORTHTXTWIND SETTXTWIND

   NOTE: it is possible to lose the text output window (by clicking on the
CLOSE WINDOW icon), if this happens click on the !FORTH icon on the menu bar
and this will open the FORTHTXTWIND window and set the output window to it.

   Windows can also be closed and deleted by using CLOSETXTWIND and
DELTXTWIND respectively. After a window has been deleted it should not be
refered to again. Windows can be closed and then opened again multiple times.

   Windows can have their titles changed by TITLETXTWIND - does not currently
work!

   Window positions can not be changed under program control at the moment.



                         VDU Commands Recognised
                         -----------------------

   The !FORTH text windows emulate a subset of the Acorn VDU commands, it is
not possible to set colours or to use graphics. Defining a text window and
moving the text cursor are not currently supported, however you can use the
predefined word TAB to move the text cursor.

   The following codes are supported (text windows):

   VDU code      meaning
      0          Does nothing
      1          Sends next character to printer only.
      2          Enables printer
      3          Disables printer
      6          Enables VDU drivers
      7          Generates bell sound
      8          Moves cursor back one character
      9          Moves cursor on one character
      10         Moves cursor down one line
      11         Moves cursor up one line
      12         Clears text area
      13         Moves cursor to start of current line
      21         Disables VDU drivers
      27         Does nothing
      30         Homes text cursor

   The following commands are not supported but make no difference (text
windows):

      4          Writes text at text cursor
      20         Restores default logical colours
      26         Restores default windows

   The following commands are not supported in this release but may be in
future ones (text windows):

      28         Defines text window
      31         Moves cursor

   The following commands are not supported (text windows):

      5          Writes text at graphics cursor
      14         Turns page mode on
      15         Turns page mode off
      16         Clears graphics area
      17         Defines text colour
      18         Defines graphics colour
      19         Defines logical colour
      22         Selects screen mode
      23         Multi-purpose command
      24         Defines graphics window
      25         PLOT
      29         Defines graphics origin

