The Museum of HP Calculators

HP Forum Archive 20

[ Return to Index | Top of Index ]

HP 41CL update from a user
Message #1 Posted by Geoff Quickfall on 2 Aug 2011, 12:46 p.m.

Well, what to say, where to start!

Monte Dalrymples package is superb.

I have just created a routine which will allow you to store in FLASH RAM up to four CALCULATOR-STATES protected from power loss and the dreaded "MEMORY LOSS".

For example, I have a set of routines which require 100 memory registers and 500 lines of programming. This set of routines requires reassigning of all the keys to specific sub routines. Also included are synthetic commands and synthetic routines which sort data and etc... I created this set of programs back in 1984 in the lab during my Palynology/Climate research.

Today I have as set of routines with SIZE=25 and 3 PRGM REG left over. Also an assigned set of keys:

Well I got a call the other day from my University supervisor asking about co-authouring an article based on my data from 1984 so I dug up my Palynology Magnetic cards and lo and behold, they work.

Firstly, I copied my AVIATION suite of programs to the CL flash memory and then downloaded with the card reader my Palynology routines.

That got me thinking, HOW DOES ONE save multiple calculator states in a CL for future reference using a routine to automate the procedure.

Firstly a definition: CALCULATOR-STATE is the unique set of memory registers applicable to a specific set of duties; for example I have the requirement for two CALCULATOR-STATES:

AVIATION           280 PRGM registers used, x-memory data and asci files, key assignments
PALYNOLOGY         217 PRGM registers used, 100 STO registers required
                   x-memory alpha data, synthtetics, key assignments.

Another CALCULATOR-STATE state may involve the data stored in a number of registers such as a SURVEY routine. After collecting data, store the calculator state in a FLASH RAM address and then do the next days transect and store that CALCULATOR-STATE in another location.

So here is the routine and you can see how flexible the entire system is:

LINE    COMMAND                 DESCRIPTION

1. LBL “YCTOF” CALCULATOR TO FLASH 2. TURBO50 GO FAST 3. “1: 0C9 2: OD1” DISPLAYS CHOICE OF FOUR DIFFERENT LOCATIONS: 4. AVIEW 0C9000, 0D1000, 0D9000, 0E2000 5. PSE 6. “3: 0D9 4: OE2” 7. AVIEW 8. GETKEY USES THE KEYPRESS TO CHOOSE THE CORRECT SUB ROUTINE. 9. “COPYING” COPYING IS DISPLAYED UNTIL “DONE” APPEARS SO YOU DON’T 10. AVIEW FREAK OUT WHILE IT IS RUNNING! 11. GTO IND X USED TO DIRECT THE PROCESS TO THE CORRECT SUB ROUTINE. 12. LBL 72 IF 1 SELECTED USE ADDRESS STARTING AT 0C9000. 13. XEQ 20 14. “0C9000” ERASE THE ADDRESS BLOCK. 15. YFERASE 16. “800>0C9” COPY THE CALCULATOR-STATE TO THE ADDRESS BLOCK. 17. YFWR 18. GTO 13 19. LBL 73 IF 2 SELECTED USE ADDRESS STARTING AT 0D1000. 20. XEQ 20 21. “0D1000” ERASE THE ADDRESS BLOCK. 22. YFERASE 23. “800>0D1” COPY THE CALCULATOR-STATE TO THE ADDRESS BLOCK. 24. YFWR 25. GTO 13 26. LBL 74 IF 3 SELECTED USE ADDRESS STARTING AT 0D9000. 27. XEQ 20 28. “0D9000” ERASE THE ADDRESS BLOCK. 29. YFERASE 30. “800>0D9” COPY THE CALCULATOR-STATE TO THE ADDRESS BLOCK. 31. YFWR 32. GTO 13 33. LBL 62 IF 4 SELECTED USE ADDRESS STARTING AT 0E2000. 34. XEQ 20 35. “0E2000” ERASE THE ADDRESS BLOCK. 36. YFERASE 37. “800>0E2” COPY THE CALCULATOR-STATE TO THE ADDRESS BLOCK. 38. YFWR 39. GTO 13 40. LBL 20 PLACES YFNS IN RAM SO YFERASE AND YFWR ARE AVAILABLE. 41. 062>80C 42. YMCPY 43. 80C-RAM PLACES YFNS RAM IN TO PORT 1 LOWER. 44. PLUG1L 45. RTN 46. LBL 13 PLACES YFNS BACK IN PORT 1 L. 47. “YFNS” 48. PLUGIL 49. DONE DISPLAYS “DONE” TO LET YOU KNOW THE ROUTINE HAS 50. AVIEW FINISHED. 51. END

• WHEN THE USER ABORTS THE ROUTINE AT THE ADDRESS LOCATION PROMPTS BY PRESSING “C” THE CALCULATOR EXITS THE PROGRAM IMMEDIATELY WITH THE DISPLAY “DONE”.

• WHEN THE USER SELECTS AN ADDRESS THE ROUTINE TAKES ABOUT 22 SECONDS TO COMPLETE AND “DONE” IS DISPLAYED WHEN THE ROUTINE IS COMPLETED.

Some standard caveats when dealing with any type of FLASH RAM:

DO NOT INTERUPT THE PROGRAM AS IT IS RUNNING, THIS IS DUE TO THE YFERASE AND BELIEVE ME YOU DO NOT WANT THE CONSEQUENCES ON YOUR HEAD!!!

MAKE SURE YOU HAVE A GOOD SET OF BATTERIES AS YFERASE IS VERY UNFORGIVING!!!

The upshot is that we are finding so many new and exciting ways to use the HP 41CL.

Last night, I loaded from withing the XROMs the CL has in its Library the ZENROM XROM. I saved 5 program registers just converting some commands to the synthetic equivalent.

I now have a QRG pocket PDF produced (if you want one, email me) which records which routines I need and in which XROM they are located.

My CL has the following XROMS loaded and displayed by CAT II:

1  -EXT FCN 2D     
2  -CX EXT FCN
3  -TIME 2C     PHYSICAL TIME MODULE
4  -CX TIME
5  -PRINTER 3B  PHYSICAL IR MODULE
6  -YFNS 1C     CL FUNCTIONS (ALWAYS RESIDENT)
7  -CCD"OS/X    VIRTUAL XROM FROM RESIDENT XROM LIBRARY
8  C PPC 1981   VIRTUAL XROM FROM RESIDENT XROM LIBRARY
9  EXT IL ROM   VIRTUAL XROM FROM RESIDENT XROM LIBRARY     
10 -CLUTILS 1H  ANGEL MARTINS CL UTILITIES ROM FOR THE CL!
   -SYS/EXT     ANGEL MARTINS CL UTILITIES ROM FOR THE CL!

The CLUTILS 1H XROM was loaded via Diego Diaz's CLONIX in a very simple procedure. However, some of the testers (and myself) are now experimenting with the serial port built into the CL and using a stereo jack in a port cover to RS232 on the computer. More on this later.

At any time I can swap out, or add more XROMS up to the standard limit of pages. YFNS must always reside in a 4K page so it stays in PORT 1 Lower. But that leaves 7 4K pages for 7 4K ROMS or 3 8K ROMS or, well you get the picture. The IR module and time module do not occupy the pages available for XROM images.

Well I can go on but...maybe later!

Geoff

oh, did I say it was fast!!!

Edited: 2 Aug 2011, 12:54 p.m.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall