Metropoli BBS
VIEWER: hpsauc22.doc MODE: TEXT (ASCII)
-----BEGIN PGP SIGNED MESSAGE-----

                   __ _____  ____                    ___    ___
                  / // / _ \/ __/__ ___ _________   |_  |  |_  |
                 / _  / ___/\ \/ _ `/ // / __/ -_) / __/_ / __/
                /_//_/_/  /___/\_,_/\_,_/\__/\__/ /____(_)____/

             Alternate 5-line stack environment based on Java
                             By Andre Schoorl

                   With routines from Richard Steventon


1. Introduction
===============

This is HPSauce 2.2, a set of four libraries for the HP48 series of
calculators, each of which offers various levels of an improved stack
environment.  This includes a replacement status area and a 5 line stack in
all libraries, plus combinations of a 5-line interactive stack, lower case
menu support, and on-stack equation handling.

HPSauce 2.2 is basically just a reduced version of Java 3.0, with the
old status area.  It is intended for those people who are low on memory
and for those who just like having free memory in their status area at
the sacrifice of a garbage collection every status update!

Note however that HPSauce is lacking many of the features and performance
enhancements of Java, so if you have enough memory for it, I suggest using
it instead!  Java should be available at all the usual HP sites (see the FAQ).

The status area of HPSauce includes amount of free mem, size of first level
object, stack depth, a more compact directory path, and port status.


2. Library Info
===============

Lib. Number       : 908 (same as Java)
Size and Checksum : Varies between flavours
Version           : 2.2

This library has been tested on GX ROM P and M, and SX ROM E, but should
work on other ROM versions.

HPSauce 2.2 was made in Nov. 1996 by Andre Schoorl, and is distributed in the
public domain.  It may not be sold for profit except for nominal copying
fees.  As with most other HP programs, I can't be responsible for any losses
or damage caused by use of this software.

Many thanks to Richard Steventon for working with me on Java, and Mika
Heiskanen for EQStk.  Keep up the good work!

The HP48 HPSauce library has no connection at all to the steak sauce of the     same name.  Since the HPSauce library is not a commercial product, I do not     expect this to a problem.


3. Changes
==========

New in Version 2.2 (from 2.1):

  - Fixed ON key bug in Ranch
  - Modified list orientation and brackets for symbolic matrices (Ranch)
  - Added page preservation code to UPDIR
  - Built-in key support for the MATRIX library
  - Added support for LS-view key on GX
  - Fixed SX visit key

New in Version 2.1 (from 2.0):

 - Now uses the Universal Font Library for FNT2.
 - On-stack algebraics now based on EQStk 6.1 - minor bug fixes (Ranch)
 - Editor code updated for new ED/TED combination (Jazz or TED)
 - Interactive stack now 7 lines
 - Improved startup/exit
 - Greatly cleaned up source code

New in Version 2.0 (from 1.0):

 - Changed Lib ID to match Java (904 -> 908)
 - Fixed multiline spanning and edit line bug
 - Better low memory handling
 - AutoHPS and HPSpar are obsolete
 - More features built into Mild to start
 - Editor replacement code built into all flavours
 - On-stack algebraics now based on EQStk 5.8 (Ranch)
 - AGROB now available in library menu for user routines (Ranch)


4. The Various Flavours
=======================

The HPSauce library comes in four delicious flavours: Mild, Medium, Hot!,
and Ranch.  Choose the one that best suits your taste and memory.

Mild    - Also known as the "calorie wise" version, it has a plain 5-line
          stack with improved status area.  In addition, there is a fast
          5-line interactive stack, configurable editor support and
          improved autostart code.

	- Note that the UFL is not needed for the Mild library.

          Size     : 4417.5 bytes (4.31 K)
          Checksum : # 7330h


Medium  - All the taste of Mild, plus a machine language DISPN replacement,
          which allows for a nicer font (configurable in UFL).

	- Requires a UFL library containing FNT2.

          Size     : 4915.5 bytes (4.80 K)
          Checksum : # 2AA3h

Hot!    - All the taste of Medium, plus lower case menu support.

	- Requires a UFL library containing FNT2.

          Size     : 7996.5 bytes (7.81 K)
          Checksum : # 43BBh

Ranch   - All the taste of Hot!, plus a reduced version of the on-stack
          algebraics of Java and EQStk:

	- Requires a UFL library containing FNT2.

          - Removed all FANCY code, list support, and dots within IDs
          - Slightly different grobs for EXP, AND, OR, XOR, SUM
          - Addition of brackets modified for 1D / 2D arrays
          - 1D array horizontal instead of vertical
          - Support for vectors and cylindrical and spherical coordinates
          - Better low memory handling
          - Smaller array size cap (20)

          Size     : 16461 bytes (16.08 K)
          Checksum : # A263h

Spices  - User flag configuration program customized for HPSauce

          Size     : 655 bytes (0.64 K)
          Checksum : # B561h


5. Installation and Configuration
=================================

Installing the Library:

 - Send the flavour of choice to your HP 48 (XModem or Kermit)
 - Install the library in the port you wish to use (0/1 on GX, 0/1/2 on SX)
 - install a UFL library containing FNT2 (not needed for Mild).
   See http://www.engr.uvic.ca/~aschoorl/ufl/
 - warmstart with [ON]-[C], or power-cycle

Configuration:

 - Send `spices.bin' to your HP, and store it in a variable
 - Run it and configure spices 57-64 (aka user flags), as explained below
 - When you are done you can delete the configuration program to save room

   57     : Force small font for algebraics, units, and arrays
   58     : Use built in presets for ED/TED editors (Jazz or TED)
   59     : Use EDIT (either StringWriter or user-defined 'EDIT')
   60     : Restore user mode and var menu on warmstart
   61     : When set, turns off on-stack equation view
   62     : Turn oval menus OFF when CST menu shows
   63     : Oval menus on
   64     : HPSauce running

Of course, you could just set these flags manually using SF and CF; this
program just makes it easier.  Keys while in HPSauce Spice Setup are:

 - Up and Down Arrow keys to scroll up and down
 - [+/-] toggles the flag highlighted by the scroll bar
 - [ENTER] exits and saves changes
 - [ATTN]  exits without saving changes

If you select both editors, ED will be used.  To use the built-in editor
just make sure neither ED or EDIT are selected.  Selecting an editor will
automatically alter your EDIT and DownArrow keys (and VISIT on SX) even out
of user mode, unless you are in user mode and have your own assignment.
It also changes the interactive stack editor.

To use StringWriter or an alternate editor, simply select EDIT in STK.
Since StringWriter has an xlib called EDIT, this is all you have to do.
There is no need to run StringWriter's SWINIT.  Otherwise, just store a
reference to your editor in 'EDIT'.

For example, to use QED:

        HOME << QED >> 'EDIT' STO


6. Example of Changes
=====================

To be sauced, just run HPS.  Here is an ASCII attempt to demonstrate what
the library does to the stack environment.  Note that not all items may be
shown, depending on the current stack size, ticking clock, and entry mode:


                      Free Mem   Size  Depth  User Mode
                            |      |     |     |
   Angle modes -  DEG XYZ 114028  7997   2    USR L P  - Ports & Entry Mode
     Directory -  /DEV             11/01/96 12:00:00P  - Optional Clock
                  -----------------------------------
                  5:
               /  4:
 5 line stack <   3:
               \  2:                    3.14159265359  - Second Object
                  1:   Library 908: HPSauce 2.2: Hot!  - First Object
                  USND  StrW  Hack  JAZZ  HPSau  Util  - Current Menu


Status of ports 1 and 2 is shown in the same location as algebraic and
program entry modes respectively for flavours of HPSauce 2.0.

"M" for [m]erged, "L" for [l]ocked RAM card or ROM card, "W" for
[w]riteable (unlocked) card, and blank for no card in port.  Note that
algebraic and programming modes can temporarily override these indicators.


7. Thanks
=========

Many thanks to the following people for their advice and contributions:

C.N. Fiechter      Original author of AGROB.
Mika Heiskanen     For Jazz, HackLib, and EQSTK.
Dan Kirkland       For miscellaneous speedups.

Seth Arnold, Jarno Peschier, Jeff Sketchley, Nathanael Morriss et al for
beta testing.

And of course everyone involved in the Java project.  Please send any
comments to the address below, or post it to comp.sys.hp48.  Have fun!


8. E-Mail Address
=================

Andre Schoorl <aschoorl@engr.uvic.ca>


-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv

iQEVAwUBMnz5yImoL2E80bZ1AQGyYwf+PzxDIdb5k/sWWCahIQa25eMMNqfkZ+6+
LUMXvd226q+v5Npw5w2yIucP4VFbE96OBshjZI2YG58XwLgFiGkkL13weODHGL1u
an0cNI9xsq5ZoRD0F+W8bnsHKgsxVXimLB9lslnxlIcOlvw8sKq3IUMU+qcLZnOI
y8ncRvI5HQU2UMXN7ik2pdv1TdL8K01UU3bd4z3ee0XCzKHslxyRB4PO5NxBVG4m
xMYpARSbf0u4riCAhbDn3tBNuMa1+x83rAkUdn6lqX7aVgGHBvvAFp+zur1O1/p0
h0xj+PwWZ38xUNew04tja1XcFHHJL1FlUMbI1NqQ+AhOB4oS3ou13Q==
=7w5b
-----END PGP SIGNATURE-----
[ RETURN TO DIRECTORY ]