Posts: 1,253
Threads: 117
Joined: Nov 2005
As yet another MCODE surgery exercise, the SOLVE & INTEG ROM is a 4k module containing that fabulous implementation extracted from the Avantage Pac - plus some additional FOCAL programs to complete the theme, as follows:
- World-famous "IG" and "SV" from the PPC ROM
- Valentín Albillo's "2DIG", adapted from DataFile article "Long Live the HP-34C"
- Alternate programs for Single and Double Integration, and non-linear 2-equation systems.
- Application of nested SOLVE/INTEG: Bessel J and its zeros.
With some minor exeptions, the MCODE is basically unaltered from its original implementation. It fills up more than 3/4ths. of the module - which should give you an idea of its intricate design that amongst other things uses a memory buffer always located at the bottom of the I/O area - all completely transparent to the user, and compatible with any other buffers that may exist (like the TIMER alarms).
Function names are FINTG and FROOT, so you can compare them against the original ones.
Soon at a TOS near you.
Cheers,
ÁM
Posts: 1,545
Threads: 168
Joined: Jul 2005
Allow me to say thank you, gracias, gratiz, etc for all you do Angel. The love you show in this work makes many people very happy even if they / we don't always pause to tell you so.
Woohoo!
Posts: 591
Threads: 16
Joined: Feb 2012
Great news indeed, Ángel.
And thank you for sharing with us. I appreciate!
Saludos.
Luiz (Brazil)
Posts: 591
Threads: 16
Joined: Feb 2012
Posts: 882
Threads: 23
Joined: Jan 2005
A great THANK YOU Ángel!
Massimo
Posts: 1,253
Threads: 117
Joined: Nov 2005
Guys, guys, you're going to make me blush! Thanks for your kind words but it's not such a big deal, really. Truth is as much as I enjoy writing NEW MCODE functions for the Coconut, I also dig going into this archaeological kind of hunting - it keeps my aging brain active :-)
This particular example was fun to do. I managed to squeeze about 60 bytes in HP's code just by removing a lot of SETHEX instructions, replacing them with the appropriate port_dependent call (you know, starting with 375 as opposed to 379 - within the same quad.) Needless to say those 60 bytes were used up in this module with other stuff.
I can say I sort of understand about 85% of the code, so there's another 15% chance that it flunks :-) I tested it with several examples though, like the nested Bessel J zeros, a rough acid test for sure - and so far it's holding up nicely.
Cheers,
'AM.
Posts: 591
Threads: 16
Joined: Feb 2012
Quote:
(...) it's not such a big deal (...)
I tell my students that once you know how to do something, it becomes an easy task. We all know how hard it may have been when you started learning how to create and manage these machine language ROM images, and we, low-level programmers, know one must 'talk' microprocessor so it can understand you. You now speak HP41 machine code, and once you know how to do it...
Again: ¡Saludos, y muchas gracias!
Luiz (Brazil)
Posts: 1,216
Threads: 75
Joined: Jun 2011
Quote:
Soon at a TOS near you.
Well, in principle it should be available now, but there's an error on the site for downloading.
So here's a working direct link:
http://hp41.claughan.com/file/SIROM.zip
Franz
Posts: 1,253
Threads: 117
Joined: Nov 2005
The "main" link works for me - make sure you don't miss the QRG - and the Blueprint is a must if you're MCODE-oriented.
ÁM
Posts: 1,216
Threads: 75
Joined: Jun 2011
Quote:
The "main" link works for me
Strange, I can only see the first lines at the top and after "Related to" there's a yellow box with "ERROR: Invalid Operation". And the rest of the page is empty.
Quote:
make sure you don't miss the QRG
And where is this? I can only see (and download) the Blueprint, but not any QRG, also not with trying a direct link.