The Museum of HP Calculators

HP Forum Archive 20

[ Return to Index | Top of Index ]

[WP34s] New flash handling?
Message #1 Posted by fhub on 17 Dec 2011, 7:45 a.m.

Marcus, could we please get a short description of the new flash structure and handling?

In the current SVN I can't even load any of my programs with "PRCL n" because PRCL now doesn't accept a parameter anymore. :-(

Franz

      
Re: [WP34s] New flash handling?
Message #2 Posted by Marcus von Cube, Germany on 17 Dec 2011, 8:55 a.m.,
in response to message #1 by fhub

Here is a short description:

There are no longer any regions (copies of the RAM program structure) which can be individually accessed by number. There are just four program areas:

RAM
User library
User backup
ROM

Each area (except ROM) can be divided into individual programs delimited by END. To make any program (in any area except ROM) the current program you can use CAT and navigate to a label within the program. ENTER will just position the PC while R/S or XEQ will run the program. P/R lets you inspect the program.

The following commands act on a single program only:

CLP - removes current program from RAM or library. CLP can be directly accessed from the CAT browser.

PSTO - stores the current program in the library. The program must start with a LBL'xyz' instruction which serves as kind of a file name. Programs are always appended to the end of the flash area. If a program with the same name exists, it will be deleted first. PSTO is mapped to STO in the CAT browser.

PRCL - Creates a copy of the current program at the end of RAM. The source may even be RAM so you can make a duplicate of your code on the device. No automatic removal of duplicate labels is attempted. XROM cannot be copied, all other programs are available to PRCL. Single program size is bound by some 900 steps. If needed, room in RAM is increased by clearing the statistical sums and reducing the number of registers before PRCL is performed. PRCL is mapped to RCL in the CAT browser.

LOAD and SAVE have not changed. SAVE is the only way to store something in the backup (PSTO 0 is no longer available).

In case of trouble do a manual RTN to force the PC to location zero in RAM. There may still be situations where the internal pointers get a bit mixed up.

            
Re: [WP34s] New flash handling?
Message #3 Posted by fhub on 17 Dec 2011, 9:32 a.m.,
in response to message #2 by Marcus von Cube, Germany

Thanks for the explanation, Marcus!

That's now indeed a completely different flash handling, and I still don't fully understand it.

Ok, let's begin with my usual daily work on my PolynomSolver (everything for the emulator of course):
I guess now I have to compile my source to wp34s-lib.dat instead of wp34s-n.dat (with n=1..9), right?

And what if I already have e.g. 10 separate programs? Do I need to have them all in one single source file to compile them to wp34s-lib.dat?
So I would always have to compile all of them again and again, even if I only change something in the source of one program?
And what's the size limit for this wp34s-lib.dat? What if I have hundred programs which would compile together to e.g. 10kB?

Quote:
If needed, room in RAM is increased by clearing the statistical sums and reducing the number of registers before PRCL is performed.
What if my program is too big to load (and PRCL reduces the stat registers), but these registers are used in my program (as it is the case in my PolySolver)?

                  
Re: [WP34s] New flash handling?
Message #4 Posted by Marcus von Cube, Germany on 17 Dec 2011, 11:50 a.m.,
in response to message #3 by fhub

The assembler is being updated to support updating the library so you can just recompile any sources and they are automatically updated in the library.

Until then, it's better to compile into wp34s-backup.dat or wps3s.dat and run (and test) from there. Use PSTO to add the program to the library.

The automatic measures to increase the available space to load a program are only carried out if there isn't enough room beforehand. Just use REGS to decrease the number of registers before you attempt the PRCL. If you need a very long program and a lot of memory for data, run the program from the backup or from the library.

                        
Re: [WP34s] New flash handling?
Message #5 Posted by fhub on 17 Dec 2011, 12:14 p.m.,
in response to message #4 by Marcus von Cube, Germany

Oh my god, after having worked almost every day in the last months with the WP34s I'm quite familiar with these 'n' flash files and this new stuff sounds rather complicated to me - I'm not sure if I'll like it!?

But at least the increase in possible program steps in RAM is a great advantage - my Laguerre PolySolver has now (with more than 500 steps) already reached the current size limit, and I was already thinking about removing some of its features ...

                              
Re: [WP34s] New flash handling?
Message #6 Posted by Marcus von Cube, Germany on 17 Dec 2011, 12:29 p.m.,
in response to message #5 by fhub

Even within the limits of 510 steps you could separate parts of it and create routines with global labels which do part of the work and are called by the main program. These routines may well be stored in a program region.

I think you will be comfortable with the new features if you work with them. The main reason for the change was a better exploitation of the available flash space which is now organized in pages of 256 bytes (no longer 1 KB chunks). There is no slack, all programs in the library are contiguously aligned in the available space. Being able to have larger single programs (even in RAM for editing) is an additional benefit.

                              
Re: [WP34s] New flash handling?
Message #7 Posted by Dominic Richens on 18 Dec 2011, 10:02 p.m.,
in response to message #5 by fhub

You'll like it :-)

The best part you no longer have to organize the programs you want into 1kb pages. Just throw everything into the wp34s-lib.dat Also less problems with multiple programs wanting to use the hotkey labels A-D or internal LBL 0-9 etc..

                                    
Re: [WP34s] New flash handling?
Message #8 Posted by fhub on 19 Dec 2011, 4:42 a.m.,
in response to message #7 by Dominic Richens

Quote:
You'll like it :-)
Well, maybe I would if I could! :-(

Unfortunately now not even the new assembler (not to speak of the library manager) is working with my TinyPerl.

So I guess I'll stop updating to new WP34s versions and stay with SVN 2030 (the last version before this new flash handling) ...

Franz

                                          
Re: [WP34s] New flash handling?
Message #9 Posted by Marcus von Cube, Germany on 19 Dec 2011, 8:41 a.m.,
in response to message #8 by fhub

Tiny Perl is just too tiny I'm afraid. Any hopes to upgrade your PC to a more recent model that supports ActivePerl? With the new Qt based emulators being developed you may even switch to Linux (where Perl is standard). Linux will most certainly get more juice out of the same hardware than Windows does.

                                                
Re: [WP34s] New flash handling?
Message #10 Posted by fhub on 19 Dec 2011, 8:47 a.m.,
in response to message #9 by Marcus von Cube, Germany

Quote:
... you may even switch to Linux ...
Linux??? Never!!!

That's almost as if I was to undergo a sex change! ;-)

                                                      
Re: [WP34s] New flash handling?
Message #11 Posted by Dominic Richens on 19 Dec 2011, 9:26 a.m.,
in response to message #10 by fhub

Quote:
Linux??? Never!!!

That's almost as if I was to undergo a sex change! ;-)


It's not that bad. It's more like switching from People's Party (Windows - don't ask questions, you _will_ like what we give you) to Social Democrat (Linux - have what you like, but you have to do it yourself ) :-)

Why don't you use ActivePerl? I remember it was very simple to install - though the full thing does suck > 120MB of disk because it include almost 40M of documentation and 80 Mb of libraries - it should be possible to delete most of them.

                                                            
Re: [WP34s] New flash handling?
Message #12 Posted by fhub on 19 Dec 2011, 10:09 a.m.,
in response to message #11 by Dominic Richens

Quote:
Why don't you use ActivePerl? I remember it was very simple to install - though the full thing does suck > 120MB of disk because it include almost 40M of documentation and 80 Mb of libraries - it should be possible to delete most of them.
Well, you've already written the reason yourself: 90% of all my work I'm doing on my VERY old internet notebook, and this notebook has VERY limited resources. So I definitely can't (and don't want to) install 120MB just for running one single Perl script!

But if anyone would show me a small (maybe upto 10MB) ready-to-use (no need to install dozens MBs useless libraries) Perl package, I would certainly download and use it. ;-)


[ Return to Index | Top of Index ]

Go back to the main exhibit hall