HP41 Advanced Matrix Pac Message #1 Posted by 聲gel Martin on 15 May 2011, 2:33 a.m.
Greetings from the archaelogy SW dept. This time the focus goes to a tweaked HP41 Advantage Pac, surely one of the better modules produced  yet if you're like me I'm sure you'd like to customize it a bit or two... Read on if you're interested.
No doubt being bankswitched gives this module a great, er.. advantage. If you haven't thought about this before, it's because of the very long code required to implement SOLVE and INTEG that the bankswitching was probably used: both functions together use almost 3k of the upper page (bank_1), whilst only thre/four FAT entries are required.
The second bank contains the code for matrix functions, and some for the Binary conversions as well. The matrix set is an extension of the CCD's "Array Fns" group  a marvel on itself that got enhanced by HP, topping it up with major matrix operations (Inverse, Determinant,Simultaneous Equations, etc.  as well as some FOCAL programs for easy usage of the main subjects.
If the CCD set the basis for a Matrixcapable Coconut OSextension, certainly HP rounded it off very nicely. Matrix programs changed from being a convoluted maze or data registers utilization to just a discerning usage of the Alpha register as data entry, relying on XMEM files for the data storage. Simply a brilliant design and a superb execution.
BTW I always wondered about that particular deal: the CCD code is copied almost entirely bitbybit, save the bankswitching tricks of course. That speaks tons about the quality of the CCD implementation!
So what about the rest of the Pac? Well, certainly great but a few things could be improved. For starters, the Complex program is a nice beginners pac, nowadays dwarfed by the 41Z. The other FOCAL programs are beautiful, and the menudriven style is convenient and elegant to say the least. A wideranging scope that provided a complete set of frequent topics, all in an 8kfootprint module.
Move on to the present, with emulators, Clonix, and MLDL. Rom images abound and are not an issue as long as they're selfcontained and don't have dependencies on other modules. So what about extending the Matrix capabilities of the Advantange Pac, replacing the nonMatrix content with additional Matrix programs? Welcome to the "Advanced Matrix Pac", featuring:
 All the ADV MATRX functions from the advantage Pac
 All the Matrix Functions & Programs from the ALGEBRA module
 A New Matrix Input mode, for fast data entry using Alpha.
 All Binary Conversion Functions, and last but not least...
 Also keeping SOLVE & INTEG, a monumental tourdeforce in Buffer manipulation and MCODE feats by itself.
This is a lengthy post so we'd better stop here. More details will follow, and for those interested in taking it for a spin, the image will be posted at TOS shortly.
Cheers,
'AM
Edited: 15 May 2011, 2:36 a.m.
