ALYSSA DATABASE V1.1
                              ====================

                 (C)1990 Designed & Programmed by Julian Cassin

                                Julian Cassin
                                21 Victoria Road
                                Northcote
                                Melbourne 3070
                                AUSTRALIA

    This program remains the copyright of Julian Cassin. It  has  NOT  been
    placed into the Public Domain but this version  may  be  freely  copied
    amongst Amstrad CPC users for their own personal use as long as  it  is
    complete. IT MUST INCLUDE THE FILES:

               ALYSSA.BAS, ALYSSA.BIN, ALREADME.BAS, ALYSSA.DOC.

    No part or parts of the database or its documentation may  be  modified
    or SOLD without prior written permission of the copyright holder.

    This program has been extensively tested by the author and contains  no
    known bugs. This is not to say bugs don't exist, but the  author  holds
    no liability or responsibility to the users or  any  other  persons  or
    entities (including Software Companies) for any loss or  damage  caused
    or alledged to be caused directly or indirectly by this product.

    Public Domain libraries can feel free to contact the copyright  holder,
    Julian Cassin, for WRITTEN permission to distribute or use this product
    (it may be exactly what a PD library  needs  to  keep  track  of  their
    software).

    Please report any copyright violations  to  the  author  at  the  above
    address. Thankyou.


    Contributions:

    Although you are not obligated to do so, if you like this  program  and
    find it at all useful, feel free to send any  contributions,  comments,
    or donations (eg: $20) to the copyright holder, Julian Cassin,  of  the
    above address.

    -----------------------------------------------------------------------
                     ALYSSA DATABASE 1.1 USER DOCUMENTATION
                     ======================================

    Minimum Hardware:
                      Any Amstrad CPC with at least 128K RAM.
                      At least one floppy disc drive.

    This program was written  especially  for  the  Amstrad  computer  user
    (Enthusiast,  Hobbyist,  Gamesplayer,  or  'Pirate')   who   needs   to
    efficiently and easily organise their 'Large' software lists.

    Features include:
                      Access to background ROMS (RSX support).
                      Compare two software lists.
                      Full Amstrad memory support (upto 576K RAM).
                                       -  2048 records on a 128K system.
                                       -  8192 records on a 320K system.
                                       -  16384 records on a 576K system.
                      Sort by NAME or storage MEDIA order.
                      Works with the majority of 80 track Drives.
                      Updated versions to come.

    Unexpanded 464/664 owners can run Alyssa but they wont be able  to  use
    it. They can however look through the  options.  If  enough  unexpanded
    464/664 owners write in (at least 50 - and please enclose an SAE) I may
    release a CUT DOWN version (Mini-Alyssa) with a capacity of around  512
    records, a few less options and better TAPE compatibility.


                         80 TRACK & DOUBLE SIDED DRIVES

    The majority of 80 track AMSDOS, XDDOS, ROMDOS and  double  sided  ROMS
    should work. Maybe RODOS and RAMDOS (If the unexpanded  464/664  option
    is selected). Any DOS's that sit in extra  memory  will  eventually  be
    overwritten by data. If RAMDOS is used on a 6128, you  should  be  safe
    until you exceed 1024 records (I think).


                          DIFFERENCES WITH ALYSSA V1.0

    There has been one major change  in  this  version  over  Alyssa  V1.0.
    Binary database files are NOT upwards compatible to this version due to
    the new method of searching (Thanks Colin, Wow! What a difference!).  A
    small index is also saved.

    Don't panic though, everything has been taken into account. To  convert
    your V1.0 list to a V1.1 list, save your 1.0 list as ASCII with  Alyssa
    V1.0 then load it as ASCII with Alyssa 1.1. Simple eh!!

    By the way, your Alyssa V1.1 lists will be downward compatible. What  a
    strange upgrade?


                                  GENERAL INFO

    When Alyssa is first executed, the top part of the screen contains  the
    programs name and version. The main menu is displayed in the centre  of
    the screen (this is  where  all  menus  will  be  displayed)  and  some
    information is displayed at the bottom of the screen.  This information
    includes
                   RAM:      Total available RAM.
                   FILENAME: Current list in RAM.
                   FREE:     Number of remaining entries (Free RAM).
                   USED:     Number of currently used entries (Used RAM).
                   REC:      Record currently being pointed at.


                                  MENU SYSTEM

    The menu system throughtout Alyssa uses a highlighter to allow the user
    to select  an  option.  Some  options  (in  some  menus)  will  contain
    something in braces (). These options are toggles which change the  way
    Alyssa behaves in different circumstances.

    Keys used to control the menus:

                   <enter>        - Select highlighted option.
                   <esc>          - Return to previous menu.
                   <up cursor>    - Highlighter up.
                   <down cursor>  - Highlighter down.
                   <left cursor>  - Cycle left through toggles.
                   <right cursor> - Cycle right through toggles.

    Options include:

    MENU        OPTION       FUNCTION
    ----        ------       --------
    EDIT        APPEND       Add a new program to the end of the list.
                EDIT         Change entries in the list.
                BROWSE       Browse through the current list.
                PACK         Delete selected entries from the list.
                NEW          Delete current list, and start from scratch.

    FILE        CATALOGUE    Display the current discs directory.
                LOAD         Load a list.
                SAVE         Save a list.
                MERGE        Join two lists
                COMPARE      Compare two lists.
                TYPE         Toggle between BINary and ASCii files.

    PRINT       PRINT        Print a list.
                LOAD PRINTER Load your printer.
                PRINT TO     Select print on SCReeN, DISC or PRiNTer.
                LABEL        NOT YET IMPLEMENTED.
                KEYFIELD     NOT YET IMPLEMENTED.
                SELECT       NOT YET IMPLEMENTED.
                MODE         NOT YET IMPLEMENTED.
                START@       Record number to start printing from.
                FINISH@      Record number to finish printing at.
                LINE SPACING Printer line spacing.
                GAP SPACING  Printer Gap size.

    SORT        NAME         Sort list by name.
                MEDIA        Sort list by storage media.

    XANY        RSX          Enter RSX, change drive, quit etc.
                STATUS       Display memory map and status info. NOT FIN.
                ABOUT        Display info about Alyssa.


                                 APPEND & EDIT

    Append and edit are explained here together as they are operated in the
    same way (to keep with consistancy).

    Keys used:

                   <enter>        - If on last record, add another one.
                   <esc>          - Return to EDIT menu.
                   <up cursor>    - Back a record.
                   <down cursor>  - Forward a record.
                   <left cursor>  - Back a field.
                   <right cursor> - Forward a field.

    Depending on  which  field  is  selected,  an  appropriate  message  is
    displayed. The TAG field is used in conjunction with the  PACK  option.
    If this field contains ANY data,  the  record  is  temporarily  deleted
    until the data is removed.


                                     BROWSE

    Browse through the current list.

    Keys used:

                   <esc>         - Return to EDIT menu.
                   <up cursor>   - Scroll list down the screen.
                   <down cursor> - Scroll list up the screen.


                                      PACK

    This option permanently deletes ALL records TAGged with the APPEND/EDIT
    options.


                                      NEW

    Start a new  list  from  scratch.  Clears  all  data  from  memory,  be
    carefull. It does not prompt for confirmation!!


                                  LOAD & SAVE

    These options load or save a list to disc (or tape) if selected. A list
    of more than 5330 records CANNOT be saved on a normal 178K single sided
    format (like on 3") as you are never prompted to flip the disc!  Bigger
    lists are exclusively for the use of 80 track or  double  sided  drives
    (see above). If you are unsure whether your list  (or  pridicted  list)
    will run out of space (in Kilobytes) just use this formula where  n  is
    the number of records to save and x is the amount of disc space.

                             n / 512 * 17 + 1 = x
                       (eg: 5330 / 512 * 17 + 1 = 178 K)


                                     MERGE

    Merge an ASCII file from disc with a list already in memory.  To  merge
    two binary files, save one as ascii, load the other  binary file,  then
    merge the saved ascii one.


                                    COMPARE

    A useful option here especially for pirates! This will compare an ASCII
    list from disc with a list already in memory (the more rescent  of  the
    two). All records in common will be automatically tagged (in  the  file
    in memory) ready to be PRINTED if you want. To  get  maximum  accuracy,
    the list in memory should be  in  sorted  name  order  because  of  the
    searching algorithm used.

    The idea of this option is that if you get someones  list,  you  should
    store it away. Next time the SAME person sends  you  an  updated  list,
    compare the new one with the old  one.  You  can  then  PRINT  out  the
    programs that person has got since.  The  FULL  lists  are  needed  for
    comparing so don't pack them before comparing.


                                      TYPE

    This toggle is to enable you to load  and  save  as  either  BINary  or
    ASCii. Merge and Compare are not affected by this setting. ASCII  files
    generally take longer to load and save than binary one. Also the  index
    is not saved with the file and must be created while loading.


                                   PRINT MENU

    This is the most complicated of all options.

    PRINT - Print the list to the destination in the PRINT TO toggle.
            All TAGged records are ignored! (Good for COMPARE).

         Keys used:          <esc>   - Return to PRINT menu.
                             <space> - Pause printing. *
                             <enter> - Resume printing.

                                       * Most printers have buffers and
                                         prevent the Alyssa from pausing
                                         the printer immediately!

    LOAD PRINTER - Select this option to load your correct printer driver.
                   The default printer driver is EPSON.

    The two supplied drivers are:
                                  EPSON.PRN
                                  CITOH.PRN

    PRINT TO - You can print the list to SCReeN, DISC or PRiNTer.

    START @ & FINISH @ - Toggle to select a portion of the list to print.

    LINE SPACING - Set the line spacing for the printer.

    GAP SPACING - Every time a new first letter is reached when printing,
                  a gap is inserted. You can adjust the size of this gap.


                                      SORT

    Unfortunately one weakness of  this  database  is  the  slow  assembler
    bubble sort. Don't get me wrong though, since it is RAM based it is  on
    par with dBase II (not using indexes) and is about 50 times faster than
    the BASIC equivalent! Hopefully it will be improved in the  future.  On
    average, it  takes  about  15-20  minutes  to  sort  1000  records  not
    completely out of order. Go feed the dog!


                                   XANY MENU

    This is the 'eXit and ANYthing else which doesn't belong in  the  other
    menus' menu.

    RSX - You can type any RSX (bar command) in here. Beware though, if you
          are unsure whether a particular one will crash Alyssa (some will)
          try it out before you load any important data!!

         RSX's known to be -           GOOD                BAD

                                       A        (drive A)  SDISC
                                     * ACCESS              PROTEXT
                                       B        (drive B)  X (utopia)
                                       BASIC    (to quit)
                                     * C
                                     * CALL
                                     * CAT
                                       CPM      (to quit to CPM)
                                     * DEDIT
                                       DIR      (directory)
                                       DISC
                                     * DISCTEST
                                     * ERA
                                     * FORMAT
                                       MAXAM
                                     * MEDIT
                                     * REN
                                       TAPE
                                     * TYPE
                                                           * UTOPIA

    STATUS - Display a memory map of used RAM by Alyssa.

    ABOUT - Alyssa info and credits to the author.
    -----------------------------------------------------------------------
          That about sums up the functions of Alyssa. Enjoy yourself!!

                                                            Julian Cassin
                                                          (30 January 1991)