BASIC Converter V1.20, (C) 1993-2009 J.G.Harston

 Loosely based on !GotoDir, Acorn User Feb 1993.

BASIC files can be converted between Arc/BBC/32000
tokenised format, text format and Z80/PC tokenised
format.  To do so, just drag a BASIC or Text file
onto the BASIC Converter icon.  A menu will pop up
giving you a choice of what to convert to.  Enter
the name, or drag the icon.  If the SHIFT key is
held down when you convert to a text file, the file
will be type-set to BASIC. If the CONTROL key is
held down, then all conversion options are made
available regardless of the file's actual filetype.

If you drop a directory on or select 'Do *Dir',
!BasConv will do a *Dir to the directory, as with
!GotoDir.

You can also select 'Pass to command'. The file will
be run with the entered command.  This make passing
a file to a command easier than pressing f12 or
selecting 'New Task' from the task manager and
manually entering the full pathname.

Selecting 'Run as BASIC' will run the file with as a
BASIC program with *BASIC -quit filename.

Command line interface
======================
BasConv can be called from the command line, eg from
an Obey file to do multiple conversions. Note that
BasConv runs from an Obey file, so <Obey$Dir> should
not be used in the source and destination filenames,
copy it to a temporary variable, and use that.

The parameters are:

/<BasConv$Dir> (-<srctype>) <srcname> (-<dsttype>) <dstname>

-srctype and -dsttype can be one of:

  -acorn, -basic, -wilson   Acorn/Wilson format,
                            normally filetyped to &FFB

  -pc, -russell, -windows   Russell format, normally
                            filetyped to &1C7

  -text                     Plain text, normally
                            filetyped to &FFF

If the -srctype option is omitted the source file is
examined to determine its format. If the format
cannot be determined from the file's contents, the
filetype is used.

If the -dsttype is omitted then:

  Wilson format (&FFB) is converted to Russell format (&1C7).

  Russell format (&1C7) is converted to Wilson format (&FFB).

  Text (&FFF) is converted to Wilson format (&FFB).

Wilson format BASIC is stored as:
  {<cr> <linehi> <linelo> <len> <text>} <cr> <ff>

Russell format BASIC is stored as:
  {<len> <linelo> <linehi> <text> <cr>} <00> <ff> <ff>

History
=======
V1.08 will *Dir to disk images (ie DOS/CPM images).
V1.10 also has Run as BASIC and Run under Z80.
V1.12 Tweeks to ensure understands WinBASIC tokens;
      fully internationalised.
V1.13 Uses VarAssign to read messages files.
V1.14 Command line interface, CASE/WHILE and
      ELSE/OTHERWISE correct.
V1.15 CASE,WHILE,SUM correctly detokenised from
      WinBASIC when outputting text file, default
      extension added to filename for Text and
      Basic80/86.
V1.16 PRIVATE,BY correctly detokenised, but not
      correctly tokenised or converted from Wilson
      to Russell format.
V1.17 Source file contents examined to determine
      file format.
V1.18 INSTALL correctly translated.
V1.19 EXIT token added.
V1.20 EXIT, PRIVATE tokens translated to ARM BASIC.
