
  Help for !Basic.
  ================

  !Basic is essentially a front-end for Basic programmers, together
   with a set of useful tools and utilities.

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

  Dragging files onto the iconbar-icon:
  =====================================

 1) BASIC files:

   Dragging "Basic" type programs onto the icon will drop you into
    BASIC and then list the program ( and usefully sets the CSD to the
    parent Directory, so that re-saving requires the leafname only).

 *********************************************************************
 *                                                                   *
 * N.B  When in BASIC pressing key F12 gets you back to the Desktop. *
 *                                                                   *
 *********************************************************************


  While in BASIC the FUNCTION KEYS do the following -
                                       
  F1 will list the program (LISTO0 format)
  F2 gives a LISTO3 listing of the program
  F3 gives some info on the current Basic program
  F4 lists the first 2 lines, enabling a quick 'SAVE'
  F5 will Run the program
  F6 does CRUNCH 31 + REN.
  F7 lists all current Modules
  F8 gives a Memory Hex Dump of the current Basic program
  F9 does REN. + SAVE + Return to Desktop
  F10 does REN. and re-lists the program.
  F11 clears the text in a writeable icon ( = Ctrl+U) 
  F12 returns to the Desktop
  Print (F0) gives a printout (LISTO3) of the current BASIC program.

   Keys +dragging a BASIC file onto the iconbar-icon:

   (a) Holding <Shift> down will run the BASIC program and display its
       output in a Task Window. The 'text' output can then be saved as a
       textfile.
       Note that this is a sensible option only for programs that do NOT
       have any graphics output.  

   (b) Holding <N> down will convert any SWI strings to Numbers. This
       will make the program run faster but harder to understand.
       Note: the converted file overwrites the original.

   (c) Holding <S> down will convert any SWI numbers back to Strings.
       This makes the program easier to understand. However if the
       program has been compacted then this conversion may not work if
       the new length of a BASIC line would exceed its limit.
       Note: the converted file overwrites the original.

 2) TEXT files:

   Dragging "Text" type files will write the text to the current
    text editor e.g 'Edit'.


 3) SPRITE files:

   Dragging "Sprite" type files will give a list of options -
 
      1) *IconSprites
      2) *ToolSprites
      3) *BackDrop (tiled)
      4) *ScreenLoad
      5) Full Info/details
      6) *Dump

   BUT - holding <I> (or <Shift>) and dragging will simply force a
   *IconSprites  and redraw the Desktop (useful for quickly updating
   an altered !Sprites file).


 4) SYSTEM-FONT files:
  
   Dragging other "System" fonts (i.e BBC Fonts, type &FF7) onto
    the iconbar will bring them into immediate effect.


 5) DIRECTORIES / APPLICATIONS:

   Dragging a Directory or Application onto the iconbar-icon will
    set that Dir/App as the CSD.
    Also -
    Holding <Shift> will set the CSD to be the parent of that Dir/App.
    Holding <Ctrl> will display a *CAT of that Dir/App.


 6) RENAMING files:

   If <R> is held down then dragging a file (OR a group of files)
    onto the iconbar-icon will tidy-up the filename(s) by changing
    upper-case letters to lower-case, except for initial letters, and
    letters following a number or +,-,=,_,! etc (which will either
    remain or become upper-case).

    Examples:

     !ruNiMaGE  becomes  !Runimage 
     !PROG_aBC     "     !Prog_Abc
     baSIC37XYZ    "     Basic37Xyz

 7) OTHER files:

   Other dragged files will be either "Typed" or "Dumped".

    NOTE: - <Shift> + Dragging an OBEY file onto the iconbar-icon
    will execute the OBEY file and display its output in a Task Window.
    The 'text' output can then be saved as a textfile. Please note that
    this is a sensible option only for obey files that do NOT have
    any graphics output. 


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

  HotKeys:
  ========

  Removing the Input-focus/caret:
  -------------------------------
  To remove the caret from its owner use <Ctrl>+<Tab>,
  OR  click <Select> when the pointer is at the top of the screen
  OR  click <Shift>+<Select> on the 'Basic' iconbar icon.

    
  Dragging Windows around:
  ------------------------
  1. Use <Alt>+<Mouse Select/Adjust> to drag the whole window (under
     the pointer) around the desktop. <Select> brings the window to the
     top, while <Adjust> preserves the stack position of the window.
     Note that the pointer can be ANYWHERE within the window.
     This works also with a window which has the input-focus (caret).

  2. If <Space> is pressed (and held down) when the pointer is over the
     titlebar (or the vertical or horizontal scrollbar areas)
     then the window can be resized by moving the pointer appropriately.
     Note:do not click or hold any Mouse buttons.
     This works only if no window has the input-focus/caret.
  

  General:
  --------
  When in the Desktop the following `Hotkeys' are available,
  provided no window has the input focus :-
   
  1. <F> brings the window (under the pointer) to the FRONT.
  2. <B> puts the window (under pointer) to the BACK of the stack.  
  3. <D> moves the window (under pointer) DOWN one in the stack.
  4. <U> moves the window (under the pointer) UP one in the stack.
  5. <M> brings the window (under pointer) to the MIDDLE and front.

  6. <C> CLOSES the window under the pointer.

  7. <Delete> will close a filer window and ALL its own 'sub-windows'
              OR all the windows belonging to a particular task.

  8. <H> will toggle `Hide/reveal all windows' (behind the Pinboard)
         - very useful to temporarily clear the Desktop clutter.
         Pressing <H> again will restore all the original windows.

  9. <Cursor-keys> MOVE the pointer ( + <Shift>, to go faster).

 10. <P> chooses/restores a larger Pointer for the Desktop.

 11. <T> opens a Task Window, ready for * commands (similar to F12).

 12. <0> opens the CSD window, using large icons
 13. <-> opens the CSD window, using Full Info
 14. <=> opens the CSD window, using small icons

 15. <Escape> restores the Mouse-speed,big pointer and the Desktop
      Wimp mode to their configured values. 
     
------------------------------------------------------------------------

  Keys + Dragging a file onto the iconbar-icon:
  =============================================

   Holding <Shift> while dragging ANY file (including Dirs/Apps)
    will set the CSD to be the PARENT directory of that file.

   Holding <X> down while dragging any file (other than Dir/App)
    will force a Memory heX "*Dump" of that file, whatever its filetype
    may be (including Basic, Sprite, Text etc ).

   Holding <A> down while dragging any file (other than Dir/App)
    will give a "DisAssembly" of that file i.e display its 
    Assembler equivalent (sensible only for machine code).
  
   Holding <I> (or <Shift>) down while dragging a Sprite file will
    simply do a *IconSprites on that sprite (and also redraw the screen).


  Pointer at top of desktop screen + Mouse click :
  ===================================================

    <Select> click = remove the caret/input-focus (from its owner).
   
    <Adjust> click = big Pointer and MOUSESTEP restored.

 
  IconBar-icon + Mouse keys:
  ============================

   Clicking <Select> on the iconbar-icon will drop you into BASIC.
    ( N.B:  Press key F12 to return to the Desktop )

        -  holding <Shift> + <Select> on the iconbar-icon will remove
           the caret/input focus from its current owner.
  
        -  holding <Ctrl> + <Select>  on the iconbar-icon will reset
           the CSD to the root directory.

        -  holding <Alt> + <Select> on the iconbar-icon will reset
           the Big Pointer and the default Mouse-step and Desktop Mode.   

   Clicking <Menu> gives a menu of useful programming aids/tools.

        -  holding <Shift> + <Menu> on the iconbar-icon will do a
           *CAT of the CSD (Currently Selected Directory).
           
        -  holding <Ctrl> + <Menu> on the iconbar-icon will turn OFF
           the HourGlass (e.g it may be left on by mistake)

   Clicking <Adjust> will display in succession the 'Free memory',
           the 'Time' or the 'Date' beneath the iconbar-icon.

        -  holding <Shift> + <Adjust> on the iconbar-icon will display
           details of the current Desktop Mode.

        -  holding <Ctrl> + <Adjust> on the iconbar-icon will display
           a Task Window, ready for any user * commands.

        -  holding <Alt> + <Adjust> on the iconbar-icon will enter
           Desktop Zoom - use <Select>/<Adjust> to zoom In/Out, and
           then click <Menu> to return to the normal Desktop.
          
----------------------------------------------------------------------

  The Main Menu:
  ==============


  Utilities:

    'ASCII codes' lists the ASCII codes of characters.

    'INKEY(-X)' gives a choice:-
                1) KEYS to INKEY-values
                2) INKEY-values to KEYS
                3) List all

    'VDU codes' gives a summary of all the VDU commands (0 to 31).


 
    'Mode Info' gives useful information on the current screen Mode.
 
    'Mode List' gives useful information on all the old-style Modes.



    'Hot Keys' gives the codes returned by the Wimp for key presses,
      including key+Shift, key+Ctrl and key+Shift+Ctrl.



    'Date/Time' gives the current date and time.

    'Dynamic Area' gives the sizes and maxima of the Dynamic areas.

    'Minimize RMA' attempts to minimize the memory used by the
      currently loaded set of relocatable modules.
    
    'RMA ModList' lists the modules in the Relocatable Module Area.

    'ROM ModList' lists all the modules in ROM.

    'SWI list' gives a full list of all the SWIs' currently known
      to the computer.

    'Errors list' is a list of machine errors currently known.


      NOTE: the output of most of the above is a text file, and so can
            be saved and printed if required.

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

  System:

     This menu consists of various useful self-explanatory commands
      e.g *Modules gives a list of all modules installed.
      They all give lists which can be saved and/or printed.

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

  Colours:

    'ColourDither' is a Colour selector. Clicking <Select> will choose
     the 'main' colour, and <Adjust> will choose a second colour. These
     two colours are then 'mixed' to give a 'dithered' colour which is
     displayed together with its RGB values.
     Over 32000 different colours are possible (in 256 colour modes).
     Use <Escape> to finish.


     Given a colour in the form &BBGGRR00 it can then be set as the
     current colour as follows :
          colour%=&BBGGRR00
          SYS"ColourTrans_SetGCOL",colour%,,,256,0:REM i.e with ECF

     The &BBGGRR00 format is also required when choosing Font colours
     e.g with SYS"Font_SetPalette" and SYS"ColourTrans_SetFontColours".


    'ColourPicker' is another Colour selector. It gives RGB details
      on colours, including dithered colours. Use <Escape> to finish.


    'Old Palette' will restore the default Desktop colour palette.

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

  DeskTop:

    'Reset Desktop' restores WimpMode, MouseSpeed etc.
      
    'Big Pointer' gives a larger desktop pointer, as contained within
      the !Basic application.

    'Tidy Desktop' makes a tidy stack of windows (at top left).
      (If <Shift> is also held down then we get smaller windows.)

    'Zap Windows' deletes ALL the windows in a (cluttered) desktop.

    'Hide -on/off' is a toggle to hide/restore all the desktop windows on
      display. Click once to hide the windows, and click again to restore.

    'Zoom' - click <Select> to zoom IN, or <Adjust> to zoom OUT of the
      desktop.  Moving the Mouse will pan around the whole desktop.
      Click <Menu> or press <Escape> to return the desktop to its normal
      state.

    'Task Window' opens up a Task Window (same as ^F12).

    'Kill Tasks?' gives a list of the active applications which are
      currently running (excluding the PinBoard). You can then kill one
      or more of them by typing in the corresponding task numbers shown
      in the list. Just press <Return> only to finish.

    'HourGlass ON' switches on the HourGlass.

    'HourGlass OFF' switches off the HourGlass.

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

  Filer:

    'CSD + Info' displays the CSD (Currently Selected Directory) and
      detailed Info on the files it contains (within a TaskWindow).

    'Filetypes' will give a list of all the filetypes currently known
      to the machine (within a TaskWindow).

    '*Shut (All)' shuts ALL open files on all filing systems.

    'Open Scrap' will open the Scrap directory.

    'Wipe Scrap' will delete all files in the Scrap directory.

    'List Sprites' lists the sprites in the current Wimp pool (RMA).

    '*Wipe RAM:$' will *Wipe the RAM Disc (RAM::0)

    '*Wipe Mem:$' will *Wipe the Mem Disc (if using MemFS)

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

  Fonts:

    'View All' shows what all the installed fonts actually look like.

    'Family Sets' simply lists all the installed font families.

    '*FontCat' does a *FontCat i.e lists all the individual fonts.

    '*FontList' gives more info on each of the individual fonts.

    'Remove Fonts' enables you to remove one or more of any of the
      installed font directories.

    'Default Set' restores the available fonts to the default set
      of fonts - i.e the ROM fonts (see Resources:$.Fonts) and also
      those fonts contained in <Boot$Dir>.Resources.!Fonts (see !Boot).
        
    'Reset Wimp' restores the default Desktop Mode.

    'Reset System' restores the System Font to its default state.

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

  Sound:

    'List Voices' gives a list of the currently installed voices.

    'Reset' resets the Sound system to its initial default state.

    'No Stereo', 'Mid Stereo', 'Full Stereo' set the stereo width.

     e.g 'Full Stereo' sets the stereo positions of the channels (1 to 8)
     to L,R,R,L, L,R,R,L    - where L = full left, R = full right.


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

  Old Mode xx:

    'MODE xx' leads to a submenu of (user selectable) screen Modes.
     (These Modes can be found in the text file 'Modes' contained within
     the application directory - they can be changed by the user.)


  MouseStep x:

    'MouseStep x' leads to a submenu for setting the MouseSpeed.

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

  BASIC -Help:
 
    This gives help on all the BASIC keywords.
     It also gives the token value of each keyword.

     Press <Escape> to finish.

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

  RiscOS-Help:

    This gives help on all the Risc-OS (and RMA) * commands.

     Press <Escape> to finish.

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

  RMA-Modules:

    'RMA-Modules' gives a list of the Modules in the RMA, and also
      provides an opportunity to delete Modules that are no longer
      required ( thus regaining some valuable memory ).

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


    'Info' and 'Quit' are the usual standard items.

    'Help/Guide' brings up this scrollable Help/Guide window.

_________________________________________________________________________
     

  This programme is Copyright.
   Author:
   R.A.Swetman
   
_________________________________________________________________________
