-----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-----