_____________________________________________________________________________

                              AppEngine Module

                          by David Thomas,  1996-8

                      0.10 (03 Aug 1998) / Release One
_____________________________________________________________________________


 Introduction ______________________________________________________________

  AppEngine is the name of my system of programming libraries.  The AppEngine
module contains some of the most commonly used functions of my libraries,
written in assembler for speed.

  The AppEngine module ('the module') currently provides SWIs to:

    - Handle strings with functions to read from memory, shorten with left
      or right ellipsis, convert to upper or lower case, confirm if the
      string is number, strip leading spaces, compare, join, extract
      leafname, substitute args, return length and copy

    - Manipulate file descriptor sets as used with Socket_Select

    - Encode/decode to/from base64 format data

    - Locate country resources

    - Plus a frugal sliding heap manager

  Many of the functions of the module are only of use with BASIC, this is
because the overhead of calling a SWI is often large enough to negate the
speedup of using a custom-written routine.


 SWIs ______________________________________________________________________

  SWIs with the 'Op' suffix represent a suite of distinct but related
routines often operating on an external entity, whereas those without the
suffix represent a set of interacting routines.

  Certain SWIs are not yet documented.  Although functionality is there, they
may be subject to change.

        &4D940 - ResourceOp -   Provides operations related to application
                                resources

        &4D941 - StringOp -     Provides operations to strings

        &4D942 - WindowOp -     Not documented

        &4D943 - IconOp -       Not documented

        &4D944 - DateOp -       Not documented

        &4D945 - SocketOp -     Provides operations related to TCP/IP
                                sockets

        &4D946 - CodecOp -      Provides operations to encode and decode
                                data

        &4D947 - URLOp -        Not documented

        &4D948 - MemoryOp -     Not documented

        &4D949 - Heap -         Provides a sliding heap manager

  Those SWIs which are documented, are explained in the text files in the
'SWIs' subdirectory.


 Use _______________________________________________________________________

  To use AppEngine in your own application, include the following lines in
the application's !Run file and place a copy of the AppEngine module inside
the application directory.

    RMEnsure AppEngine 0.10 RMLoad <app$Dir>.AppEngine
    RMEnsure AppEngine 0.00 Error app requires AppEngine 0.10 or later

  You may distribute this module as part of any application you write.  This
includes Freeware, Shareware and Commercial applications.  I reserve the
right to withdraw this status for later incarnations of the module.


 Copyright _________________________________________________________________

  This software is copyrighted work of David Thomas, it is supplied as is;
you use this application entirely at your own risk.  The author makes no
warranty as to the fitness of this software for any purpose.  In no
circumstances will the author be liable for any loss arising from the use or
inability to use this software.

  If you have any comments, bug reports or suggestions for future versions
then you can contact me via:

  Post: Mr D.P. Thomas
        20 Rosebery Avenue
        Waterloo
        Liverpool
        L22 2BH
  
  Mail: dpt@tristone.co.uk
  
   Web: http://www.tristone.co.uk/davespace/

  If you have a question, then please check it has not already been answered
in this documentation before mailing.
_____________________________________________________________________________

