
                              [43m  HiSoft BASIC  [0m

                                    by

                              [3mFrank Wilkinson




    Ed: Frank does our AmigaBasic tutorial series, which has appeared to
  the acclaim of many in the last several issues of Megadisc, so he knows
  his Basic.


[32m    ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ##



    What can you say that can get the message across?  If you have ever
  done any serious programing in AmigaBASIC you will know all about its
  slowness.

    In today's modern world speed is the main factor.  This factor alone,
  if there were nothing else to recommend it, would justify its purchase.
  I was fortunate when I ordered my copy.  It was advertised as a complete
  package.  i.e.  HiSoft BASIC + the EXTEND Library for just £59.95 +
  overseas postage.  I was able to use my MasterCard and it cost me all up
  $134.00.

    There are two versions of the compiler in the package.
        1....For machines with only 512k of ram.
        2....For machines with at least 1meg of ram.

    I have only used the 1 meg version.  Let me be quite honest here. If
  you have less than 1 meg of ram your use of the Amiga is very restricted
  and if you intend to do any serious work then you should look to
  upgrading your machine.

    The Compiler is compatible with the AmigaBASIC interpreter plus it has
  many advanced features.  There are one or two points which have to be
  made note of. The compiler is not as tolerant of Programming errors as
  is the AmigaBASIC interpreter.  It requires you to make all your LIBRARY
  statements before you DECLARE FUNCTIONS.  It also requires you to
  terminate all strings correctly.  The interpreter will append a double
  quotation mark ( " ) if you forget. HiSoft will not.  During
  compilation of your program if one of these Errors are detected,
  compilation will be halted and you will be given the opportunity to
  correct it. If you don't correct it then the compilation will continue
  but it will not generate any code until the errors are fixed.

    Some of the advanced features are incorporated into HiSoft itself.
  There are about 40 new commands which the compiler understands such as:-

    DO......LOOP
    DECR
    INCR
    REPEAT..UNTIL
    MKDIR
    PEEKB,PEKEL,PEKEW
    POKEB,POKEL,POKEW
    PCOPY

    To name just a few, but the really good parts are in the EXTEND
  library.  It is this LIBRARY which helps you to solve many hard to
  implement features of the Amiga.

[33m    The Extend Library

    The EXTEND LIBRARY replaces most of the libraries you would normally
  use like DOS.LIBRARY, GRAPHICS.LIBRARY etc.  There are also some
  examples on disk to show you how to use all the new commands.  The
  people at HiSoft have also included a BitMap for the ARP.LIBRARY and
  there are programs which show you how to call the ARP requester and make
  your program respond to it.  I have also used the REQpatcher from Fish
  540 which replaces the ARP Requester with the Req.library Requester.
  These both work perfectly with HiSoft and it lets you produce a program
  which not only looks good but works at the speed of light.  The
  EXTEND.LIBRARY makes it possible to load and save IFF pictures from your
  program.  You can construct GADGETS and requesters and use them in your
  programs.  You can load and play Sound Samples.  There is also a greatly
  improved SCREEN command which allows you to use the whole of your
  screen with out any borders, which looks really good and improves your
  presentation.

[33m    Two ways of Compiling

    There are two ways in which you can compile programs: with and
  without SHARED LIBRARIES.  If you have a lot of smallish programs on one
  disk for example, it is a good idea to compile them with SHARED
  LIBRARIES. In this case the programs are much smaller in size but the
  HiSoft LIBRARIES must be in the libs drawer on the disk.  If on the
  other hand you only have one or two large programs with a lot of data
  files for example it is better to have no SHARED LIBRARIES and compile
  them as standalone programs. This increases the size of the program
  but it means that whoever uses the program can copy it to any disk or
  drawer and they do not need to have the HiSoft LIBRARIES on the disk to
  make them work.

[33m    Selling compiled programs

    HiSoft allow you to sell your programs with the HiSoft LIBRARIES on
  the but you are not allowed to include the LIBRARIES BitMaps.  These
  BitMaps are needed to compile the programs but they are not needed to
  run them when they have been compiled.


    HiSoft BASIC comes with a built in EDITOR just like the interpreter.
  But I have found it much easier to write my programs in my favorite (PD)
  text editor AZ.  HiSoft BASIC requires program files to be straight
  ASCII files with an extention of .bas. he compiler will then look for a
  file with this extention compile it and save it as "Filename" with no
  extention.

    EXAMPLE.

        ASCII file          HowToMakeMillions.bas

        Compile file        HowToMakeMillions

    If you forget this extention you will end up with a file like this:-

                            HowToMakeMillions.RUN


    All in all HiSoft is a very well thought out package.  It is a much
  more flexible than AmigaBASIC, whilst retaining all the features of
  AmigaBASIC.  It is comparable to a 'C' language program in speed and
  doesn't require you to learn a completely new language. But most of all
  you do not have to write dozens of lines of code to do a simple job.
  The people at HiSoft have done all the hard work for you.  The "Extend
  manual" indicates that there are new extensions being written almost
  daily and all you have to do to get them is become a registered owner
  and send in the registeration card.

[33m    Value for money

    YES.  To purchase AMOS is going to cost you $200.00 if you include the
  cost of the compiler.  AMOS is OK for games programs. But it is sadly
  lacking in its ability to handle Random files.

    AMOS does not allow you to use "RESERVED" words as part of a LABEL or
  a VARIABLE. Whereas HiSoft does so you can call a file name variable
  filename$ and you can call different sections of DATA "data1:",
  "data2:","data3:" etc.  These are only small points, but when you are
  looking for a name for a label or a variable it is nice to be able to
  give it a name that relates to what it does.

    I have written several programs using both the AmigaBASIC interpreter
  and HiSoft. Source code is included for study.  If you have the
  compiler you will be able to fiddle with the source code and recompile
  it. If not you can run the program as is and compare it with the
  equivalent AmigaBASIC program if there is one. The real answer is buy
  the compiler and start producing.

Frank Wilkinson
16 Melbourne Place
Alberton 5014
South Australia


[32m    ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ## 26 ##


