Greetings from the archaelogy SW dept.- This time the focus goes to a tweaked HP-41 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 bank-switched 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 bank-switching 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 Matrix-capable Coconut OS-extension, 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 bit-by-bit, save the bank-switching 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 menu-driven style is convenient and elegant to say the least. A wide-ranging scope that provided a complete set of frequent topics, all in an 8k-footprint module.
Move on to the present, with emulators, Clonix, and MLDL. Rom images abound and are not an issue as long as they're self-contained and don't have dependencies on other modules. So what about extending the Matrix capabilities of the Advantange Pac, replacing the non-Matrix 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 tour-de-force 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.