From: fee@waikato.ac.nz
Newsgroups: comp.sys.hp48
Subject: XPNDR - A menu & softkey expander util
Date: 14 Dec 92 11:43:14 +1300
Organization: University of Waikato, Hamilton, New Zealand


Hello all.

Here is a Christmas present - a utility which I just finished developing
(with the help of Detlef Muller). Basically, as the attached documentation
shows, it is a utility for expanding the current menu and providing more
than the standard 6 menu softkeys (up to 36, to be exact). It is VERY
simple to operate (self-explanatory) and doesn't take up much room. Try it.

I posted this to comp.sources.hp48 but that newsgroup is empty right
now, and there is no indication as to when it will be updated.

Enjoy.

Regards, 
Conan.



---------------------------
Begin XPNDR.DOC                       
				XPNDR v1.0
			            by
                                Conan J. Fee                          
			University of Waikato, Hamilton,
	                        New Zealand.                          
			email: fee@waikato.ac.nz  

DESCRIPTION:  XPNDR version 1.0 is a utility which shows all pages
of the current menu on screen at once  and allows you to choose any of the 
menu functions by pressing a key ie: you now have up to  six rows of softkeys, 
not just the first row.  

If you have ever had to search through several pages 
of an unfamiliar menu in search of the command you want, not known whether to 
press NXT or PREV to get the menu page you want, or not known whether the 
programming command you seek is in the TEST, BRANCH or CONTROL menu, let 
alone which page, then XPNDR is for you!  

OPERATION:  Assign XPNDR to a user key (I use BLUE-NXT) and then whenever 
you execute XPNDR,  you will see all pages (six pages maximum) of the 
current menu, whether it is a library, a user directory or a built-in 
menu such as the MTH menu, shown on screen at once. 

The first four rows of keys then act as softkeys for the corresponding 
functions.  If the menu has more than 4 pages (this is rare for built-in 
menus, but try it with the STATS  menu), on-screen instructions tell you 
what to do.  If you press a key that doesn't correspond to a function - no
problem. XPNDR quits without  taking action.  XPNDR not only executes the 
function shown but works as a typing aid and works with all  shift planes. 

Try it to convert units, to recall a variable's contents or to store an 
object in a  user-variable. ie: it works the same as softkeys. 

It's that simple!  

INSTALLATION:  
1. Download XPNDR.ASC (at the end of this file) to your HP48 using text-mode. 
2. Recall the contents of XPNDR.ASC to the stack - it should be a string. 
3. Convert the string using ASC->. 
4. Store the resulting directory wherever you like. 
5. Enter the directory, recall the contents of XPNDR to the stack and store 
	it as XPNDR in the  home directory. 
6. Recall (don't evaluate) the contents of SETUP to the stack - you
	should get the name  XPNDR on the stack. 
7. Assign the result of 6, above, to whatever key you like (I think BLUE-NXT 
	is a pretty  logical choice). 
8. Purge everything except the copy of XPNDR in the home directory.  

Away you go!  

NOTE: Please use SETUP to put the name XPNDR on the stack for assigning to 
a key -  merely entering the name 'XPNDR' from the keyboard will not 
allow XPNDR to function  correctly. (The contents of SETUP are actually
a sys_RPL routine with source code  comprised of :: TakeOver ID XPNDR ;) 

ACKNOWLEDGEMENT:  Thanks VERY much to Detlef Muller for his absolutely 
invaluable help and suggestions in  working out this routine. Detlef - 
you're a marvel!  

SUGGESTIONS: You'll notice the routine is a little slow (but still faster 
than searching individual menu pages), especially for more than 4 menu pages. 
This is virtually unavoidable for sys_RPL, since the menu grobs are not 
stored internally but must be redrawn each time a new menu page is 
displayed.  

Anyone who is a machine-code ace can probably speed this up a bit. 
Feel free to do this and  please let me have a copy.  

The maximum number of menu pages is six - this is because the routine 
would get  cumbersome, large, slow and require more interaction from the 
user to get more than this number of functions on-screen at once. I 
don't think the extra complexity is worth it for the  very few menus that 
might have more than six pages. If you disagree, you are welcome to  modify 
the routine. Just let me know if you do. 

DISCLAIMER:  This routine is provided free and without any warantee whatsoever. 
You don't have to use this  and I don't want to be sued for providing 
freeware!!! (On the other hand, if you're the litigious  type and you're 
really bent on suing me despite this disclaimer, go ahead - you're welcome 
to  take over every cent of my substantial overdraft.) 

REPORT: Bugs, comments and suggestions to me via email:fee@waikato.ac.nz


Begin_XPNDR.ASC 
-------cut here---------------- 
%%HP: T(3)A(D)F(.);
"69A20FF7D30000000050355445550550D9D208870484E20508505E44425B2130
E2000508505E4442550D9D2088704A4A358DA16B559351A81CA031FC2E413593
9C51406FA24B4947E056EF9A2479A28813097614A3E26530403C370348158E1A
3FEF301227088130D004038D30CB916D9D20908264B636C2A16C2A2073000F80
205275637370254E44554250266F62702478656375602F808F1117040B614059
2300B821B2130940402CE30546210B8214B4947E056EF9A2479A29BC26976149
C51479B30A2170F00464337044230FC2E456F14EF1167104038D308DA16D9D20
DCC269E0404EC308DA16D9D204423012F0671040CAF064B2A2CAF06B2130D9D2
09E04038D30CB916D9D20B4F06743E4CA03144193C2A20130008505E44425021
4364796F6E6023416E63656C6C6564684051B213053621FEF30C1B4642D46536
218750544230F2911EA431CF146592300B82185230A0626803A21F514EF9A256
F14B2130B2130D9D204B2A2CAF06B2130743E4CA0312C2308DF061962676D36D
9D20B4F0644193C2A20F3000E4F6028505E44425026657E6364796F6E6A01647
024786164702B6569784051B21300831629D14881307E056EF9A2D4FA21FB261
1CE2CAF067E056EF9A206FA21F514EF9A2BBF06479A29C51406FA2479A297614
8E1A3A1BF318A3047A2038441B21300D4704540479470DB236F6A0444193B213 
0B5A5"
-------cut here---------------- 
End_XPNDR.ASC 
-- 
-----------------------------------------------------------------
Conan J. Fee			    _      fee@waikato.ac.nz
Centre for Technology              (_)o    
University of Waikato, Hamilton    /\  \   Phone: +(64)(7)8384206
Private Bag 3105, New Zealand              Fax:   +(64)(7)8384324
-----------------------------------------------------------------