HP Forums

Full Version: HP41 Functions Address Table (F.A.T.)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

HI Folks,

Long time no write ...

As I can remember, the HP41 FAT size is 128 bytes, with 2 bytes / Global Label (GL) or Data File (DF).

Question : is the Module title included in this FAT ?

In other words : what is the maximum number of GL's which can fit into one single 8K ROM : 64 GL's (if Module title not included in the FAT), or 63 GL's (if Module title already takes up 2 Bytes in the FAT).

Thanks in advance for your reply : it will save me time to dig out this information somewhere from my dusty documentation.


Antoine M. "Kermit" Couëtte

Hi Antoine, the module title (typically those header functions with a hyphen in the function name) counts like another function, so the total is 64 functions in the FAT.


Edited: 19 July 2013, 11:00 a.m.

Hi Ángel

Thanks for your reply.

Sorry for me being stupid. But does your reply mean that - since the Module Title (as per your description) already takes up 1 function slot (i.e. 2 bytes of the pre-existing 128 bytes) - the maximum number of remaining available GL's falls down to 63. Right ?


Edited: 19 July 2013, 11:22 a.m.

the maximum number of remaining available GL's falls down to 63. Right ?

Right. This is a design limitation of the 41 OS, where the number of XROM functions is limited,, as it is the number of XROM's (due to the allotted space in the byte table).

64 GL's (or 63 plus the ROM title) is typically a good compromise for mid-sized FOCAL programs. Actually it usually fares better with FOCAL programs than it does with MCODE, where the average function length is smaller.


Edited: 20 July 2013, 1:58 a.m. after one or more responses were posted

Thank you so much, Ángel


Maybe it's of interest in that context that the module title can be "abused" as a normal function. It's not mandatory that there is nothing but an immediate return to OS in the code section of a module header, you can "hide" complex funtionality there. For example the module headers of the CCD rom provide useful functionality.

Thank you very much Michael for your reply.

I one of my 2 * 32 K ASTRONAV Software Modules, I was unable to load 64 Functions in addition to Module title. Thanks to the precious information given by Ángel - Thanks again Ángel ! :-) - and through reshuffling programs between 2 such Modules, I could fill up one of them with Module title, 63 Global Labels and 0 byte left, while overall saving 4 bytes. Happy me !

I do not need the "trick" you have mentioned, but anyway it is very interesting to know that it does exist and could be used if necessary.

Thanks again for your information, and

Best Regards


Antoine M. "Kermit" Couëtte