Musings and comments about our common interest
You may have bought an HP-41 in EBay, just to find that the battery bay is utterly rusted. There goes your investment! Maybe you wanted it for CL conversion - maybe it was your first 41c and you wanted to see what’s all the fuss about it!
Whatever the reason, letting the rust inside your calculator is a recipe for later disaster. It will corrode the circuit lines, communicate to other parts of the circuit, destroying your investment (and, in the case of the CL, it IS an investment!)
You can easily buy port covers, even battery cover; but it is much more difficult to find this piece in internet. And with a good reason: it is the first thing that fails in the HP41c, and therefore you can only salvage the other parts.
Well, there is an option: you can buy in our shop the adhesive circuit that adapts to the plastic body of the battery connector. It has an extremely strong bonding, and the shape is perfect for the task. I have to say that it is a little difficult to put it properly: you need a firm hand and some experience to do it. I would not recommend to buy one to repair your only calculator, since it will not work properly the first time. At least it did not work for me the first time, but I got the experience of what failed. The second time went well already. So, my advice is: if you want to repair just one calculator, you’ll be better off buying two. If you’re repairing more, then n+1 - so that you can afford one error. Or you may be more skilled than me - in than case buy just as many units as repairs you need to do.
The circuit comes with clear repair instructions, but I would stress the fact that you need to bend it properly to shape beforehand, using the guidelines, and that you should start in the cavity between both ports.
I have used it to repair a calculator that would not start, and that I bought in internet as “for parts”. Now it is my CL. Today I have just repaired a non-working CV - this time keeping the original board in. This will end up in another CL as soon as I receive the new boards, with Sandmath 2x2, among other new features.
Please take a look at the beautiful finish of the battery once repaired.
Programming the HP41CL - some comments.
While looking at the many programs found in the Solution Manuals or the modules, in many cases I find that the data entry to the program is too formatted and not flexible enough. In my opinion, what is really needed is a clear register usage, so that the user can put the correct data into the right registers beforehand - no need to go through all of the data in order to start the program again.
One typical case is the cashflow-related programs. If we agree that the 0 register is now, and register 1 = period 1, and so on, things can get very easy for data entry. You just need to define how many years you’re using, store that in a register outside of the possible year length scope, and then enter all the year data in the order you want, correcting it as many times you want, checking the contents whenever you want, etc. No need for cumbersome data entry procedures.
I would like to be able to apply the same logic to matrix entry, but here the knowledge of how a matrix is stored is much more involved. There, the example to follow is the HP15c user mode matrix data entry for serial entry, and the register 0 and 1 use to fix the pointer in the right cell.
Let’s show it with a couple of examples that I much prefer to the options found in the financial pac or in the financial solutions book: Net Present Value (NPV) and Internal Return Rate (IRR)
Lets agree that the maximum cash-flow length is 20 years (periods). This is OK for most investment projects. This assumption is important, since it is a “hard” limit in the program. If you feel that 10 years is enough, you can modify the program accordingly and be able to run it with a lower “SIZE” arrangement. However, this is not a concern anymore for us CL users.
We will focus on the NPV function, to make it as simple as we can, and forget about IRR. We will use the SOLVE function found in the Advantage pac to find it.
We use register 21 to store the number of periods to use, in order to make the loop shorter; we will use register 22 for the countdown, as the indirect register used in HP15c and others. And the registers 0 to 20 are self explained with regard to periods.
|2||1e2||Change X to %|
|7||ENTER^||Load the stack|
|10||RCL 21||Recall number of years|
|11||STO 22||Store in the indirect register|
|13||0||Enable stack lift to start the loop|
|15||RCL IND 22||Recal Year n cashflow|
|16||+||add to previous value|
|17||*||multiply times 1/(1+X)|
|18||DSE 22||Decrement register and check if zero|
|19||GTO VAN1||if not zero, do it again|
|20||RCL 00||Recall initial flow|
|22||RTN||Return so it can be used as a subroutine|
Now, the IRR is extremely easy, based on the SOLVE capability of the Advantage Pac:
In a past blog issued we gave Angel Martín’s indications on how to change the behavior of the %T function in the excellent ROM module Sandmath Lib.4. The method intended to be used with the HP41CL calculator.
In short, the %T function does not appear in the basic function set of either the HP41c or the newest HP41cl. There are a number of ways to implement it in either machine, one of them being the Sandmath module. However, its behavior there is different from that found in HP financial calculators. In them, the “total value”, stored in register Y, is not “consumed” by the function, as is the case with most binary functions. This way, you can clear the x register, disabling stack lift, enter then a new “part” number and continue calculation. I can attest that this behavior is very practical when doing financial analysis.
Angel Martin was extremely helpful in finding and offering a solution for my specific case, Sandmath Lib4 ROM module.
But if you want to perform the same change on the newest version of Sandmath (currently called 2x2), you need to change the memory address. The procedure would be as follows:
Copy the module to RAM. The location of the 4SMT module was 126 and 127 (is a two block module)
The byte to change is 0xpF44, relative to where you put it. So:
Step 1. introduce in Alpha the text: "840F44-1111"
Step 2. execute YPEEK. You should get "840F44-0369”. This is to check that the previous step did work, and that you’re operating on the right byte.
Step 3. modify the Alpha value to "840F44-0331"
Step 4. execute YPOKE.
Step 5. Plug it to the port of your choice (mine was 2):
And that should be all.
Interesting adventures with the HP41cl
As you may have found in this blog, despite being engineer, I have a financial job. Therefore, I have used all HP financial calculators and I am a little bit accustomed to how they work.
In the routine costs analysis, you find yourself trying to see which % of a total are several quantities that form part of that total. HP developed several percentage functions, one of them, %CH, is included in the standard set of HP41 functions (as well as in the HP15c, for that matter). It is logical, since in science you usually try to find how much a variable has increased. However, the “percentage of a total”, %T, is absent in both calculators.
One key feature in all % functions in HP calculators is that they leave the y register untouched (the number from which the x percentage is taken, in the % function; the origin for change, in the %CH function, and the total, in the %T function). Most other functions “consume” the operands, which “collapse” into the result. Why?
Typically the y value needs to be used again. For %, you typically add or subtract the result of % to the base number. For example, if you want to add VAT to a price, you just enter the number, enter, the VAT rate, %, + and you’re done.
In the case of %CH, you may want to try with a different “new” value. You just CLX, which disables stack lift, enter the new value, and you’re ready for another %CH calculation.
With the %T function is the same. Once you have entered the total, you may want to calculate the percentage as part of the total of a number of quantities. Again, for each one, you press CLX, enter the new part, press %T and you’re there.
As I said, there’s no %T function in the plain HP41c. The HP41c manual, in its programming part, shows a supremely elegant way of performing this function:
As % keeps Y, so does %T defined as above.
But when I started working with the HP41CL, and having the Sandmath module as one of the plugged in, I decided to use the %T function that resides there. But when I started using it, I discovered that it did not keep the Y register! It rendered unusable the function for my purposes. What a pity.
I then wrote to Angel Martín to inform him of the function behavior. He had modeled it as the typical binary function, that consumes its parameters, but he came up with the solution: you just need to change a byte in a specific position in the ROM and that’s it. He did it from the top of his head - that’s how well he knows his modules!
As I am not too much versed in the inner working of the HP41cl, I asked him for more directions. Actually, he told me three different way of doing it, from the easiest to the most difficult and dangerous.
The first involves downloading the latest version of the module with the serial cable. A no-no in my case, since I decided early on not to have it. It is ugly, and in the long term I can live with the HP-IL.
The second was to copy the module from its flash location to RAM, then modify it there with YPOKE, and the redirect the PLUG to a port of my choice.
The third involved the initial part of the second, but then writing it back to flash - I did not dare to do it by fear of destroying something.
Here’s the procedure for number 2:
Copy the module to RAM. The location of the 4SMT module was 126 and 127 (is a two block module)
The byte to change is 0xp8EC, relative to where you put it. So:
Step 1. introduce in Alpha the text: "8408EC-1111"
Step 2. execute YPEEK. You should get "8408EC-0369”. This si to check that the previous step did work, and that you’re operating on the right byte.
Step 3. modify the Alpha value to "8408EC-0331"
Step 4. execute YPOKE.
Step 5. Plug it to the port of your choice (mine was 2):
I have found a time module for the HP41CL and I am now enjoying the facilities it provides.
The most important part, in reality, were the time functions that were already available from the beginning, thanks to the architecture devised by Monte; but it is nice to use your calculator as a machine to keep your appointments. Of course, an smartphone is much better for that purpose, even as a chronometer; but together with the HP IL interface, the HP41CL is able to control many things, like lighting, multimetres, even oscilloscopes.
You may have read my messages about the HP3468A. This is an HP-IL enabled machine. I have two units (one for me, one for the shop), that I have converted to 230v/50hz use. They work flawlessly with the HP41CL.
We have an apartment in a mountain area. We know that the voltage there is not too stable, and the drops have damaged in the past some appliances. But, of course, the local utilities company denies everything (although they have started working to improve the supply with a new transformer house nearby). To prove the point, I have set up the voltage meter of the HP3468A so that it is triggered and read by the HP41cl each 5 minutes. This way I am able to map the whole performance daily. It is a pity that this method does not allow me to see the real peaks and valleys, but at least it gives a good proxy to the real situation. Then you can make some statistical calculations, apart from knowing the waveform (since I am also storing all the points - it is a pleasure to have such a big memory). I have seen voltages as low as 193, which is 16% lower than the European standard at 230.
(By the way, do you know the reason for the 230v? I have been told that the European bureaucrats, faced with different voltages across the English channel (240 and 220v), decided to set the standard at 230 and just enlarge the tolerances. That way, the UK would continue at 240 and the rest of Europe at 220, and everyone would be happy - except the appliances, working with much wider voltage tolerances)
Today I am beginning to put in the website some of the modules I have. Some of them come with manuals, even a couple of them boxed.
Now that I have the mighty HP 41CL, there is no need for physical ROM modules. The only modules that may be necessary are the ones that have other utility beyond the ROM itself: the infrared printer module, the HP-IL module (of which I have now 2: one for me, and another to be sold with a HP 3468A multimetre to create a “vintage calc lab”) and the time module. These I will keep.
The modules I will be putting in the accessories part of the web are the following:
As soon as I modify it to European voltages, I will put in the web an HP 3468A HP-IL multimeter as well. I am keeping another one for me - it is amazing what can be done with that multimetre, a time module and a HP41c.
I have finished the current batch of 41CL from Systemyde. Time to reorder. Please show your interest if you would like to buy one. If not, it’ll take longer to receive the board. I am only purchasing as many boards as interest shown from customers. I will order another one this time since the damned loss of my calculator during the latest business trip. Every time I think about it, it drives me mad.
It seems that many people are attracted to this calculator, but they do not dare to assemble theirs. On one side, they may have an old HP41c laying around, but for personal reasons, they want to keep it as is; on the other hand, to spend over 100€ in a bet in Ebay (where you can end up with a non functioning calculator, or one with deficient aesthetics) is a risky proposition. And they do not feel comfortable opening their calculator to do it.
While I am very satisfied by doing this work, I would not like European calculator amateurs to be put off to buy from us to get this wonderful calculator. I encourage them to try by themselves. If they fail, they always have professional repairers that can finish off their job properly.
Just a couple of hints to a successful HP41CL conversion.
- The contacts between the battery module and the circuit itself (on both sides)
- The contacts in the ports
Once you have assembled your own CL, you will enjoy a sense of achievement (even though it was so easy), and admiration on how can a 30 years old machine be so well designed. As well, you will feel grateful to Monte Dalrymple and his outstanding achievement.
But if you still do not dare to do it, even after the above, please contact us at email@example.com for quotes and pictures of the donor calculators. We’re more than happy to help!!! As well, we’re willing to buy your malfunctioning full nut HP41c or cv.
Now I am looking for a way to produce overlays for all the software we now have in a convenient way.
Last but not least: software. I do not know what you will fill your CL with; but I draw the Library #4 software suite from Angel Martín, including the PowerCL, Sandmath 44, advanced matrix #4, OS additions and others. Programmed mostly in Mcode, these change your calculator to a very different animal.
PS: Gardermoen airport has informed me that they have found the HP15c LE that I have lost the past week. Not all is lost! However, I had already opened another one, so I will give it to one of my children.
I have Lost my HP15cL!!
This week I was traveling on a business trip to Norway. Many nice things - but somehow I managed to lose my trusty HP15c LE. It belonged to the initial American shipment, with serial number 182. The ones I have been selling were in the 23k range already.
Now, although I carry the HP15c in my jacket pocket all the time, it is with the HP41CL how I perform most of my financial work. But I had the HP15C LE programmed with all kind of financial programs (you can see previous installments of this blog to see a description of these programs. I have developed a version for the HP41CL for those that happen not to be in one of the zillion modules it comes with.)
The good thing is that I kept 5 units more in reserve. My thought was: “one for me, two for each of my two children”. Maybe they will be more attracted to the new HP Prime… In any case, I will have to spend significant time in writing all the programs back into the machine. But it is worth it: in board meetings, we can compare return rates for projects immediately - much shorter than the time it takes to open excel and test some hypothesis. And there is no way you can come into the boardroom with the whole HP41CL shebang, showing yourself a little bit as a luddite. (if only they knew that they are looking at the best current scientific calculator available…)
I have some hints about where I may have lost it. I will try to find out tomorrow, but the chances are slim...
Fortunately I did not lose my original HP15c, which has the exact same programs in.
On the other hand, I will have the guilty pleasure of opening again a new calculator - even though I did it already in the past.
When discussing the HP Prime with HP officers, it seems that it belongs to a long range strategy to recover the educational market.
You may have heard that there will be some kind of wireless connection. What for? Could it be cause for schools forbidding its use? Nothing further from the truth.
This wireless connection will be just with the professor’s dongle on his computer. Everything will be managed from the HP Classroom Manager, an already existing software that takes care of everything that exists in the class, and that allows the professor to remotely manage all computers in class. This software can link and manage the new calculators, too.
By the way, I saw a demo of it with computers, and it was impressive. You can block keyboard, and/or mouse, and/or screens of a single or several members of the class. You can start the presentations, manage the speed they run on each computer, run tests and exams and see in real time how everyone’s doing, etc.
A class full of computers is far from what I find desirable, but with calculators, it is a completely different thing. Unobtrusive, powerful, compatible with a writing pad on the table, it can really be the way to teach and learn maths.
As well, the wifi is one way: you just can connect with the professor computer dongle - no way to intercommunicate with other peers. It is just one way (or master and servant, in old computer parlance). I will forward the information to my children’s school.
Here is a short video about it. Tell me what you think about it:
There are at this moment three interesting calculator development areas for us, and some other minor interesting possibilities:
- The new calculators from HP. The work behind the development of the new family of HP calculators is enormous, and it implies a significant commitment from HP. The prospect of the HP Prime is magnificent. I look forward to use it to teach maths to my children. The HP39gII is already an excellent tool - if crippled by the lack of CAS (but this was a requirement of that particular market. Let’s not forget that China is the goal of that calculator, and that there are several big markets where it is not distributed), but the HP Prime is several levels higher. It covers the space between the textbook and wolfram; you need to spend significant money in iPad apps to get to that level. And, for a classroom, it has the advantage over the iPad that you CAN’t use it to browse the internet and otherwise distract your pupils. (In technobabble, “the killer feature is that it does not have a browser”)
- The HP41CL. For those of us that are well over 40, this calculator was a part of our lives. There were many things that we did with it, we can create simple programs to ease our common calculations with our eyes closed, and it has the best keyboard feel of them all (of all practical calculators - there is a lot of pleasure to be had with the HP67 and HP97 calculators, but the lack of permanent memory makes them a no-no for daily work). The HP41CL allows us to do everything we wanted to do and could not afford at that time. For the price of 4 modules in the auction sites, you can have them all; and you can flash more on top; and everything runs up to 50 times faster.
- Our community projects, of which the WP34s and the WP43s project are the best example. Everything I have seen from the WP43s project is impressive, and competitive with any offer in the market. I really think there is room for a proper RPN calculator that can be used without mastering a doctor’s degree in computing. The HP42s was the last of that era; and while the WP43s is fantastic for what it does and clearly superior many others, it lacks the easy of use and interface of the former. Of course, this is not the fault of the creators, due to the limits of the platform used (the HP30b), in particular its lack of on-screen function keys and the limited resolution (and ugliness) of its segment-based screen.
Summing it all, it is a fantastic time to be in this business. Let’s remember that it was close to dead several years ago…Now we only need someone to realize that there is a permanent space for the HP15c LE - taking into account that the development is all done and there are no more costs to bear (some bug fixing would be great but not really required!)