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