Post Reply 
HP-41 ROM Module wishlist from PPC V9N4P35-36
04-16-2021, 08:19 PM (This post was last modified: 04-16-2021 08:23 PM by Gene.)
Post: #1
HP-41 ROM Module wishlist from PPC V9N4P35-36
Eh, this could have gone into the General Forum, but put it here.

The note on the bottom right of the first page of the attached PDF was a wish list for microcoded functions for the PPC ROM II which never materialized.

I thought... what if any of these do we still not have ?

Item 1: math functions. Check. Those are all in either Sandmath or Extended Stats roms.

Item 2: In various ROMs now so check.

Item 3: Utility routines --- a) Reverse order catalogs - Nope.

Item 4: Extended functions --- a) Store and Recall relative - Don't think so.

Item 5: Extended memory functions --- c) POPX - inverse of SAVEX. No ?

Item 6: Synthetic programming aids ---- all in various roms.

Item 7: Misc. Functions ----- b) and c) Store and Recall a single byte --- ?


Of these, POPX is the most interesting to me. Allows use of an extended memory data file as a LIFO stack. SAVEX and the POPX. Does a POPX for that exist ?

All the rest of pretty much there or don't generate much excitement from me... except for POPX :-)


And it is certainly possible these ARE here and I have forgotten! Oops.


Attached File(s)
.pdf  PPCCJ V9N4P35-36.pdf (Size: 385.73 KB / Downloads: 26)
Find all posts by this user
Quote this message in a reply
04-16-2021, 08:36 PM
Post: #2
RE: HP-41 ROM Module wishlist from PPC V9N4P35-36
Hakan Thorngren's Boost module implements something similar to Item 5 but I don't think it uses extended memory for the stack.

My Collection: 55, 67T, 25PLP, 34C, 15C, 16C, 41CV, 41CX, 41-CL, DM41X, DM42, 42S, 48G, 71B, 75C, 95LX, HP-150, Portable+, HP-86, Integral PC.
Visit this user's website Find all posts by this user
Quote this message in a reply
04-16-2021, 09:45 PM (This post was last modified: 04-17-2021 12:54 PM by rprosperi.)
Post: #3
RE: HP-41 ROM Module wishlist from PPC V9N4P35-36
(04-16-2021 08:36 PM)twoweims Wrote:  Hakan Thorngren's Boost module implements something similar to Item 5 but I don't think it uses extended memory for the stack.

Ohhh.... I like the new Avatar Dan, and am officially jealous. You creative guys have all the tricks. I wonder if id 2CDCC is taken in NY...?

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
04-17-2021, 06:48 AM (This post was last modified: 04-17-2021 07:03 AM by Ángel Martin.)
Post: #4
RE: HP-41 ROM Module wishlist from PPC V9N4P35-36
Not exactly the same as an inverse to GETX, but quite worth looking into:

Doug Wilder's POP/PUSH function set use a LIFO file in X-Mem, and are all included in the WARP Module ;-)

I added a couple more options and a launcher that groups the different options as follows:

PUSH I:A:F:X:Z:T:R <- [SHIFT] -> POP I:A:F:X:Z:T:R

with:

I: Initialization
A: ALPHA
F: Flags
X: X-Reg
Z: Complex value (X & Y)
T: Stack {Y,Y,Z,T}
R: RTN Stack

See attached the relevant pages from the WARP manual with the description.

Cheers,
ÁM


Attached File(s)
.pdf  Warp_Core Manual 5556.pdf (Size: 229.12 KB / Downloads: 6)

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
04-17-2021, 07:17 AM (This post was last modified: 04-17-2021 01:51 PM by Ángel Martin.)
Post: #5
RE: HP-41 ROM Module wishlist from PPC V9N4P35-36
Very nice wish-list, especially considering it pre-dates the CX.

Here's a few random comments on other entries:

1. Store/Recall Relative.- I like this one, and it's quite easy to implement. But still, wouldn't that be the same as STO IND / RCL IND on the s-Reg location? Thus: STOR = sREG?, X<>Y, STO IND Y; and: RCLR = sREG? , RCL IND X would do the job.

2. COMPILE - in the AMC_OS/X
3. View Program - See CSST in WARP et al.
4. Save/Get Keyboard - See SAVEKA / GETKA in AMC_OS/X
5. MCODE Version of LoadBytes - See LOADB and LOADB+ in the WARP module
6. Reverse CATs - a curious idea but IMHO it's superseded by the XEQ+ concept
7. POPX (again) - not quite the same but in the Equation Solver ROM I added a couple of file pointer functions that facilitate this.: REC+ and REC- move the record pointer by one up and down (and a third function ADVREC moves it by the number of bytes in X).. This: POPX = REC- , GETX
But if the goal of said POPX was to use it combined with GETX, wouldn't it be better to use a PUSHX that saves the X-value but doesn't move the file record pointer instead?

Ruminating in the background... ;-)

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
04-18-2021, 06:38 AM
Post: #6
RE: HP-41 ROM Module wishlist from PPC V9N4P35-36
FWIW, here's the code for STOR and RCLR in case you're interested:

Code:
092    "R"    
00C    "L"    RCL Relative
003    "C"    uses IND SREG
012    "R"    
378    READ 13(c)    get .END. Location
10E    A=C S&X    put in A.X for compares
1BC    RCR 11    location of SREG
306    ?A<C  S&X    off limits?
0B3    JNC +22d    yes, show "NONEXISTENT"
270    RAMSLCT    select SREG
038    READATA    read value
0EE    C<>B ALL    done.
18C    ?FSET  11    
3B5    ?C XQ    
051    ->14ED    [R^SUB]
046    C=0 S&X    
270    RAMSLCT    
0CE    C=B ALL    
0E8    WRIT 3(X)    
3E0    RTN    
092    "R"    
00F    "O"    STO Relative
014    "T"    uses IND SREG
013    "S"    
0F8    READ 3(X)    read value
070    N=C ALL    put in in N
378    READ 13(c)    get .END. Location
10E    A=C S&X    put in A.X for compares
1BC    RCR 11    location of SREG
306    ?A<C  S&X    off limits?
381    ?NC GO    yes, show "NONEXISTENT"
00A    ->02E0    [ERRNE]
270    RAMSLCT    select SREG
0B0    C=N ALL    recall value
2F0    WRTDATA    put in SREG
3C1    ?NC GO    terminate
002    ->00F0    [NFRPU]

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 2 Guest(s)