Post Reply 
SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
03-12-2023, 12:46 PM (This post was last modified: 03-12-2023 01:18 PM by Olivier COIGNARD.)
Post: #1
SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
Hello guys,
My current issue : the 'ADV' sub-program of the Sparcom 251 library (L833) seems not to work on the HP50g. Therefore I would like to split this library into directories in order to check the program commands. The size of this library is > 128KB (130925 B) which makes it impossible to split with the usual lib split tools as this implies to have more than 260 KB of free memory available.
Is it possible to "re-size" the Home partition, taking one 128 KB block from port 2 and use it in port 0 ? Alternatively, If somebody could make the Sparcom library fully work on an HP50g I'll be happy to know how this could be done !
Thanks in advance for your comments.
Sincerely/Cordialement
O.C.
PS: The Sparcom library is an astro-navigation package available on the HP forum.
Find all posts by this user
Quote this message in a reply
03-15-2023, 06:17 AM
Post: #2
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
Do you mean the Sparcom Celestial Navigation Pac? Then there is a version for the the 49g+/50g on this side:
https://www.hpcalc.org/details/7082
Find all posts by this user
Quote this message in a reply
03-15-2023, 12:03 PM
Post: #3
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
Hello Klaus, Thanks for your reply.
Yes, that is the package i'm referring to.
This package has to be loaded as a library (Lib # 833) on an HP49g or HP50g.
The same library works on an HP48 SX and a GX, but it bugs on an HP49 or 50g.
Olivier
Find all posts by this user
Quote this message in a reply
03-15-2023, 12:27 PM (This post was last modified: 03-15-2023 06:08 PM by rprosperi.)
Post: #4
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
(03-12-2023 12:46 PM)Olivier COIGNARD Wrote:  Is it possible to "re-size" the Home partition, taking one 128 KB block from port 2 and use it in port 0 ?

No, you can only use port 1 (so, only 128KB) RAM cards to merge/extend main RAM.

Update: The above is intended as an answer for the 48GX, which I initially thought you were asking about; it does not apply to the 50g.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
03-15-2023, 05:52 PM
Post: #5
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
(03-15-2023 12:03 PM)Olivier COIGNARD Wrote:  Hello Klaus, Thanks for your reply.
Yes, that is the package i'm referring to.
This package has to be loaded as a library (Lib # 833) on an HP49g or HP50g.
The same library works on an HP48 SX and a GX, but it bugs on an HP49 or 50g.
Olivier

Did you try the one with "hp49" in its filename? It claims to be compatible with the 49/50.

<0|ΙΈ|0>
-Joe-
Visit this user's website Find all posts by this user
Quote this message in a reply
03-17-2023, 09:17 PM (This post was last modified: 03-17-2023 09:33 PM by acapde.)
Post: #6
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
(03-12-2023 12:46 PM)Olivier COIGNARD Wrote:  Hello guys,
My current issue : the 'ADV' sub-program of the Sparcom 251 library (L833) seems not to work on the HP50g. Therefore I would like to split this library into directories in order to check the program commands. The size of this library is > 128KB (130925 B) which makes it impossible to split with the usual lib split tools as this implies to have more than 260 KB of free memory available.
Is it possible to "re-size" the Home partition, taking one 128 KB block from port 2 and use it in port 0 ? Alternatively, If somebody could make the Sparcom library fully work on an HP50g I'll be happy to know how this could be done !
Thanks in advance for your comments.
Sincerely/Cordialement
O.C.
PS: The Sparcom library is an astro-navigation package available on the HP forum.

Funny! I was working on the same thing... I love this type of projects when I have to submit my taxes paperwork, I'm very good at procrastination!

Going back to the NavPac, I found two issues:
1) Time and date is not format correctly, this is due to the ->STR command; the HP50G needs a R-I (real to integer) (before the ->STR command) to get rid of that pesky decimal point.
2) The ADV issue, I didn't try to fix it yet because I was looking for a solution to the library repacking.

I also created a couple of side programs that I wanted to add.

I was able to split the lib using Split by Wolfgang Rautenberg... but haven't found a way to re-build it.

I'll let you know if I find something but I'm running out of ideas... someone did it before, so there is a solution 8)
Find all posts by this user
Quote this message in a reply
03-17-2023, 11:14 PM
Post: #7
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
Did you try the 'D<->L' command in the OT49 library package to split/rebuild the libraries ?
Find all posts by this user
Quote this message in a reply
03-17-2023, 11:52 PM
Post: #8
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
       

Hi Kiwi,

Thank you for the suggestion.

Yes, I had tried, and it seems to sort of work doing the library to directory part, however it cannot complete it because there is not enough memory in IRAM.

Right now the NavPac lib is in ERAM and it takes all the 128KB available (almost 100%), when D<->L converts it to a directory in the stack, it takes 128KB from IRAM so now only 101KB is available, and because of that, it cannot store it.

To overcome the issue, the IRAM should be 256K (or a bit larger) or accomplish all these operations in a PC where memory is not a problem.

I tinkered with Debug4x and found an example there that creates a library from SysRPL, but I couldn't make it work using User RPL (NavPac is programmed in User RPL). I thought to convert all the routines (more than 200) to SysRPL but I'm trying to avoid it for now.

Reading the Debug4x docs, I found an INCLOB directive but I'm not sure how to use it, and haven't experimented with it yet:

INCLOB (Include HP Object Files)

The INCLOB directive inserts a pre-compiled HP object file (xxx.hp) into the current build. There is very limited error checking and the programmer is responsible to make sure that the object is the right version for the calculator (i.e. HP-48 files for HP-48 etc.).

This command may be used in MASD, SysRPL or SASM modes. The proper format is:
INCLOB <file.hp>
Find all posts by this user
Quote this message in a reply
03-18-2023, 12:43 AM
Post: #9
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
Tried now using Split (to go from lib to directory), and then D<->L to rebuild the library back, I get "insufficient memory" error Sad

   
Find all posts by this user
Quote this message in a reply
03-21-2023, 03:35 AM
Post: #10
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
Ok, I was able to rebuild the library using Debug4x (with the help of the INCLOB directive), before that, I recovered the individual routines with Split. I modified several files to fix the display issues (mainly using R->I before ->STR) and I also found the problem that prevented ADV to work properly: a routine inside the library was used to just hold a constant, and that object was then called inside algebraic expressions. It seems that HP50G didn't like that approach, I simply replaced the calls (within the expressions) with the actual number.

I tested using a real HP50G (port 1), followed several of the examples on the manual, and I always got the same results, but I didn't try all the examples, so more testing might be needed (do not cross the Atlantic yet relying only on this program!)

I noticed that it doesn't run well on the emulated HP50G, however the same happens with the original library, so this might be a problem with the emulator. With the emulated HP49G does run perfectly, though.

Updated NavPac library attached.


Attached File(s)
.zip  NavPac HP50G 230320.zip (Size: 52.95 KB / Downloads: 6)
Find all posts by this user
Quote this message in a reply
03-21-2023, 02:28 PM
Post: #11
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
(03-21-2023 03:35 AM)acapde Wrote:  I noticed that it doesn't run well on the emulated HP50G, however the same happens with the original library, so this might be a problem with the emulator. With the emulated HP49G does run perfectly, though.

This may be down to a difference in ROMs. None of them are bug-free, they just have different bugs. Smile
Find all posts by this user
Quote this message in a reply
03-21-2023, 05:12 PM
Post: #12
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
(03-21-2023 02:28 PM)John Keith Wrote:  This may be down to a difference in ROMs. None of them are bug-free, they just have different bugs. Smile

Yes, that's true!
I'll try to find a workaround to that issue, maybe it's simple enough...
Find all posts by this user
Quote this message in a reply
03-24-2023, 12:04 PM
Post: #13
RE: SPARCOM 2.5.1 Library / Split Lib / Extend HP50g Home port size
I found the problem that prevented the NavPac software to run properly on an emulated HP50G. It seems that the emulator fails to handle functions addressing port 3. For example, :3:var_name VTYPE should return -1 (of course, that variable does not exist), however, the emulator returns an "insufficient memory" error. I confirmed the problem with VTYPE and RCL but I assume it might affect other commands. Wildcard :&: triggers the problem as well.
The real machine, even without a SD card, works well.

I "compiled" a new NavPac version, attached to this message, it should run well on real or virtual machines. It only searches for custom variables in port 0.

Any bug that you find, please let me know. Sail safe.


Attached File(s)
.zip  NavPac HP50G 230325.zip (Size: 53.03 KB / Downloads: 12)
Find all posts by this user
Quote this message in a reply
Post Reply 




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