                                       

                                R A S C A L L
                                    v0.9
            
                            (C) Matthew Shepcar


What is Rascall?

    Rascall is an assembly shell for the TI-86 calculator that will allow you
    to run programs for ZShell 4.0, Rigel, PhatOS and Usgard in the .85S
    format.   Standard TI-86 ASM and Basic programs are also listed in the
    shell.  File descriptions for programs are supported and much work has
    gone into getting the shell to execute as many TI-85 programs as possible.

New for Version 0.9

  * A far superior interface to v0.2 allowing you not only to see 18 programs
    at once the screen, but also to group your programs into four different
    categories!
    NB: You may have noticed that ASE also includes this feature and the
        idea behind grouping programs was in fact mine originally.

  * Usgard 1.1+ support including interrupts and VAT functions.  That means
    you can play Balloon and other cool Usgard games!   Programs for Usgard
    versions less than 1.0 are not supported.

  * There is also limited Rigel support.  No relocation or library support
    though.  Most Rigel programs are available in Usgard, PhatOS or ZShell
    format anyway.

  * Improved ZShell/PhatOS emulation.

  * Password your calculator so that nobody can turn it on without knowing
    the password.

  * Memory locking.  By intercepting the key presses in the reset and delete
    menus, Rascall prevents your memory from being wiped!   A fake reset
    screen is shown when you try to reset your calculator in locked mode but
    nothing will be cleared!!

Getting started with Rascall

    Having sent the file RASCALL.86G to your TI-86 you can start Rascall
    by simply running the program "Rascall" from the home screen.   You
    should NOT start it with the command Asm(rascall) however, since the
    shell will then fail to execute BASIC programs!

    All your programs will automatically be entered into the games menu.
    To select a program, use the arrow keys to move the highlight bar.
    Press ENTER or 2ND to run the highlighted program.

    If you have more than 18 programs in a group then you will see two
    numbers after the name in the title bar.  The first is the current
    page and the second is the number of pages of programs in the group.
    Press the MORE key to go to the next page.

The Status Bar

    The status bar shows the currently selected program's name or description
    (if it has one) and a letter indicating what type of program it is:

        A - TI-86 Machine code
        B - TI-86 BASIC
        P - TI-85 PhatOS program
        R - TI-85 Rigel program
        U - TI-85 Usgard program
        Z - TI-85 ZShell program

Grouping Programs

    To move a program out of the games menu into another group, simply select
    the program you wish to move and press STO->.  You will be asked where
    you wish to move the program to.  Pressing a key F1-F4 will move the
    program into one of the four available groups.  Pressing F5 will HIDE
    the program.   To view the contents of another program group simply
    press a key F1-F4.   F5 will show you the version of Rascall you are
    running and how much free memory you have.   Pressing ENTER on this
    screen will show a summary of the keys.

    Note: Rascall uses a very simple method of storing groups which I
    thought of when I saw that each VAT entry contains an apparently
    unused byte.  That's where the group numbers are stored.  It seems
    to work okay anyway. :)

Renaming Groups

    You can rename the program groups if you do not like the default names.
    To do this, select the group you wish to rename and then press the
    CUSTOM key.   Now enter the name you wish to appear in the tab at the
    bottom of the screen and press ENTER.   It can be no longer than 7
    characters.  

Hidden Programs

    You can hide a program by moving it to the 'About' tab or by selecting
    it and pressing DEL.   To unhide a program select the 'About' tab
    and press MORE.  A program group titled 'Hidden Programs' will appear
    which operates in the same way as the four standard program groups.  To
    unhide a program simply select a program and press STO-> as usual.   The
    purpose of hiding programs is simply to reduce clutter on the other menus
    by removing any unused programs which you do not wish to permenantly
    delete.

Emergency Exit!

    A feature has been included to allow you to abort a TI-85 ASM program
    should it enter an endless loop for any reason.   This is achieved by
    pressing the ON key.   It will not always work because unfortunately
    some programs completely crash the calculator.   This feature makes use
    of the TI-86's in-built support for interrupts and any TSR interrupts
    you may have installed will be overwritten.

TI-85 External Variables

    Rascall now allows TI-85 programs to access external variables by
    copying them into an area of memory accessible to TI-85 programs.  You
    can have up to about 8k of external variables loaded into this space
    at once.   To select which variables you want to be made available
    to TI-85 programs hit X-VAR in Rascall.   From the menu which will
    appear, you can select and deselect strings to be copied using the
    2ND or ENTER key.   Selected items are indicated with a dot before
    their name.

    If you select more than 8k of data to be copied then you will not
    see a warning or error message in this version but some of the data
    will not be copied into the TI-85 address space!

    Variables are NOT copied back to the TI-86's variable storage area
    if they are modified by a TI-85 program.

    If you have installed the finance or stats applets then TI-85 programs
    will not be able to access external variables since the applets use
    the memory area required to build the TI-85 variable allocation table.

Password Protection

    To prevent other people from using your calculator you can password
    protect it.   Press P (,) to set the password.   Your password can
    be a sequence of up to ten key presses ending with ENTER.   To
    activate the password simply turn your calculator off by pressing the
    ALPHA key.   Now when somebody next comes to turn it on they will be
    prompted for a password before they can use it.  To change your
    password press the P key again, enter your old password and then
    enter a new one.   To disable the password press ENTER at the new
    password prompt.   In case you mistype your password you are asked to
    confirm it before it is activated.

Memory Lock

    Rascall can lock your memory by preventing variables from being deleted
    or your calculator being reset.   To lock the memory press L (7) from
    the shell.   If you have a password enabled you will be prompted for it
    before the status of the lock is toggled.

    When locked, resetting your calculator will not erase the contents of
    the memory but it will still display the "Mem cleared, Defaults Set"
    message on the screen.

    NB: When the memory lock is enabled a # symbol appears in the status
    bar on the about screen.

Key Summary

    Arrows      Move selection bar
    ENTER/2nd   Run program (or toggle in Virt-85 editor)
    MORE        Next page
    STO->       Move program to another group
    DEL         Hide program
    F1-F5       Select group
    CUSTOM      Rename group
    F5,MORE     Show hidden programs
    X-VAR       Enter Virt-85 screen to select vars copied into 85 RAM
    L           Lock/Unlock memory
    P           Change password
    C           Toggle initial capitals
    ALPHA       Power calculator off
    +/-         Adjust the contrast setting.
    EXIT        Return to home screen

Plans

    Rigel libraries and relocation are not implemented.  I might fix this
    sometime if anybody wants me to.

    I will probably release a 'lite' version of Rascall without things like
    TI-85 VAT emulation and perhaps even a version with no TI-85 support
    at all.

    I have plans for a loader for TI-86 ASM programs to overcome some of
    the problems with the built in support.   Support for larger program
    sizes, multiple TSR's, interrupts and access to data stored in external
    variables will be made more accessible to ASM programmers.   I also hope
    to implement some form of code sharing system to allow common routines
    for sprites and scrolling (for instance) to be shared.   I am working
    on an LZH compression system at the moment which will be used in the
    loader to compress all ASM code and data on the calculator allowing you
    to fit even more games/levels in the 96k available.

Known problems

    Rascall cannot handle TI-85 programs larger than about 12k.   You will
    see a message in the status bar when you select a program which is
    too large.  You may also come across some TI-86 programs which Rascall
    reports are too large to run.   This is likely to occur if you have
    loaded the stats or finance applets into memory which zap some of the
    space used for running ASM programs.   Rascall will only run programs
    which fit into available memory.   This does not provide complete
    protection of overwriting the applets though, since some programs use
    additional workspace in ASM execution RAM...

    The majority of ZShell 4.0, PhatOS, Rigel and Usgard programs
    should work perfectly in Rascall but some may crash your calculator.   I
    cannot and will not take responsibility for any loss of data or damage to
    your calculator in these cases.   It is an unfortunate fact that some
    TI-85 programs are incompatible with the emulator and WILL cause your
    calculator to crash.   Please report any such programs and I'll do my
    best to sort the problem out!

Some programs which don't work properly..

    Balloon doesn't seem to work if you load more than one set of levels
    into the TI-85 VAT at once... 

    Usgard Galaxian 2.01 previously had a bug causing it to crash and pour
    trash over the screen.  I am not entirely satisfied with how this has
    been fixed.   Let me know if it causes you any grief.

    I'm sure there are quite a few others which don't work so drop me a
    note and I'll add them here or, better still, try and make them work. :)

Recovering from a crash

    If your calculator crashes, you should remove the batteries and press
    the ON button five times, replace the batteries and turn the calculator
    back on.   You may need to adjust the contrast after doing this.   All
    data will have been lost!

Bug Reports please please please please please! :)

    If you run a program that crashes or functions abnormally, please contact
    me so that I can correct the problem for future versions of Rascall.
    In fact, why not write me an email anyway to tell me what you think of
    Rascall and what you think would make it better?   It would be greatly
    appreciated! :)

Special Thanks

    Randy Gluvna - for starting the original ZShell emulator project from
                   which Rascall has evolved
    Bill Nagel - for the method of running BASIC programs used in Rascall
    My loyal beta testers - for reporting bugs and providing suggestions
    

      - SCaBBy
        Matthew Shepcar (m@shepcar.force9.co.uk)
