[comp.sys.handhelds] Continuously Displayed ALTD

n233dk@tamuts.tamu.edu (Rick Grevelle) (10/25/90)

In <email> George Hodge writes:

| .......  i was wondering if there was a way to keep the
| seven levels of the stack visible using ALTD while doing
| operations. the program is very nice, but some of the fun
| goes away when i touch a key and the display returns to normal.

Yes there is, and it was something that was overlooked in the orginal post.
Back in April Jake Schwartz posted an HP48 six-level stack display using
vectored ENTER in which he explained how to do this.  Now, thanks to Jake, 
here is another application for vectored ENTER and slightly improved version
of the recently posted seven level alternate stack display routine.  A brief 
summary of these changes follows:


i)   Previously the user menu bars would not automatically update when new
     variables were stored or [NEXT] was implemented.  This has corrected,
     all menus are continuously updated.

ii)  The status area is now displayed whenever it is updated, reflecting any
     changes in current statuses.  Otherwise, it will be undisplayed.
     

In order for the alternate stack to be continuously displayed, the following
conditions must exist in the calculator:

i)   DROP and the ALTD routine must be stored together in the global name 
     <beta>ENTER, where <beta> is equivalent to the [alpha] [blue shift] [B]
     keystrokes.  ( #409DFh SYSEVAL will create <beta>ENTER on the stack )

ii)  Flag -63 is set.

iii) The keystrokes [orange shift] [alpha] must be implemented twice, or flag
     -62 is set.

A quick way to combine DROP and the ALTD routine into a program is to use the
\->PRG routine.  With DROP on the stack in level 1, the ALTD routine in level
2, and the integer 2 in level 1, \->PRG will yield the desired result.  Here
is how the stack should look before and after the implementation of \->PRG.


                                \->PRG
 -------------------------------------------------------------------------
            Arguments              |             Result
 -------------------------------------------------------------------------
   4:                              |        1: DROP <8h> External
   3:                DROP          |           External External
   2: <8h> External Exte...        |           External ": "
   1:                   2          |           External External
 -------------------------------------------------------------------------

Remember to checksum these programs, especially if entering them manually.

Rick Grevelle



CALTD
(BYTES: #6555h 243.5)

%%HP: T(1)A(D)F(.);
\<<
 # 1073CE0403F02D9Dh
 # 42162AC18DBF0722h
 # 2210314C05193154h
 # 19AD0318803D8307h
 # 403F0324402D9D6h
 # 41242903DE007221h
 # 2B393D33918A0733h
 # 2C202D9D61993031h
 # 403F051931597803h
 # 1242903DE0072210h
 # E624BA040350314Ch
 # D33918A073340339h
 # 312B0312B393h 1
 12
   START # 5193h
 SYSEVAL
   NEXT # 4003h
 SYSEVAL # 62B9Ch
 SYSEVAL
\>>


ALTD (requires ASC\->)

%%HP: T(1)A(D)F(.);
"D9D20F3040EC37012270FBD81CA2612445139150C41301227038D3088130DA91
 6D9D2044230F3040122700ED309242143370A81933D393B213039916D9D202C2
 308795139150F3040122700ED3092421C413053040AB426E933043370A81933D
 393B2130B2130F68B"