The Museum of HP Calculators

HP Forum Archive 14

[ Return to Index | Top of Index ]

Programming speed on 48GX
Message #1 Posted by Naim on 18 May 2004, 4:20 p.m.

Just wondering, but do program run faster in Port :0: or faster in the home directory?

      
Re: Programming speed on 48GX
Message #2 Posted by Raymond Del Tondo on 18 May 2004, 7:36 p.m.,
in response to message #1 by Naim

No speed difference, since both port0 and HOME reside in main RAM.

Differences will be there if you store your program in a port>0, or worse, a port>1 . Ports 2 to n are always bankswitched, so code run from there will always be slower.

Port 1 is online (not switched) in most cases. IIRC, there were occasions when even port 1 is hidden, but i'm not sure at the moment.

However, most of my software libraries reside in port 1, and the programs run very fast from there.

Raymond

            
Re: Programming speed on 48GX
Message #3 Posted by HrastProgrammer on 19 May 2004, 2:58 a.m.,
in response to message #2 by Raymond Del Tondo

code run from there will always be slower

The code will run at the same speed but program loading will be slower because it has to bo copied from port >=2 into main memory before execution (unless you execute it directly from the port as in the case of my emulators).

Code from port 1 usually don't have to be copied to main memory and can be executed directly.

I have measured the machine code execution time in main memory and RAM cards in port 1, 2, ... and I haven't noticed any difference in speed.

Best regards.

                  
Re: Programming speed on 48GX
Message #4 Posted by Naim on 19 May 2004, 5:48 a.m.,
in response to message #3 by HrastProgrammer

Thanks. When I call the programs I need to also press EVAL. E.g. :0:quadratic . Is there any alternative way of doing it? Thanks, Naim

                        
Re: Programming speed on 48GX
Message #5 Posted by Raul Lion on 19 May 2004, 2:44 p.m.,
in response to message #4 by Naim

I use to store my programs in libraries and call them from menus (choose boxes or softkeys): does this help to you?

                              
Re: Programming speed on 48GX
Message #6 Posted by Naim on 19 May 2004, 5:59 p.m.,
in response to message #5 by Raul Lion

Hi Raul, If you were running a program and it calls up a subroutine [subprogram] stored in port:0: , how would you call it? Thanks, Naim

                                    
Re: Programming speed on 48GX
Message #7 Posted by Raul Lion on 20 May 2004, 2:19 a.m.,
in response to message #6 by Naim

with EVAL, as you said in your previous post

                                          
Re: Programming speed on 48GX
Message #8 Posted by Veli-Pekka Nousiainen on 20 May 2004, 4:41 a.m.,
in response to message #7 by Raul Lion

Why do you store it in port 0 anyway?
It uses the same RAM as main RAM.
{VPN} now using the new 49g+

                                                
Re: Programming speed on 48GX
Message #9 Posted by Raul Lion on 20 May 2004, 9:09 a.m.,
in response to message #8 by Veli-Pekka Nousiainen

I answered a question... but sure I don't store my libraries in port 0. (...but Erable "fixed addreses") For saving free memory in the main RAM, I store my programs grouped in libraries in ports>=2. So for running a program, just key in its name. Not EVAL is needed. Or use menus...

                                                      
Re: Programming speed on 48GX
Message #10 Posted by Veli-Pekka Nousiainen on 21 May 2004, 12:21 a.m.,
in response to message #9 by Raul Lion

Sorry Raul!
I should have answered the previous post...
Iqbal gave actually a good answer to my question
with best regards {VPN}

                                                
Re: Programming speed on 48GX
Message #11 Posted by Iqbal on 20 May 2004, 4:19 p.m.,
in response to message #8 by Veli-Pekka Nousiainen

I store my programs in port :0:. I started doing so because someone I gave my programs gave another person [that I didn't approve of] and I started to think of a way to prevent stealing of my programs. It works, because they have to call it out of port :0: and then send it across and then send it back to port :0: because some programs call back programs from port :0: [bit confusing :)] . So if it's not there they'll have a problem. I have in fact written an installation program to transfer my programs to port :0: and it's purged after installation. It looks good when it's being installed and secondly, it makes it very tedious to transfer.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall