CL-UTILS Manual now available


Hi folks, finally I got around writing the User's Manual for the CL-UTILS module. It's revision 2E, with functions covering the production run of the CL board - so will hopefully be useful to all CL owners.

Also more documentation is available: blueprint, QRG, etc. Make sure you check TOS in a couple of days or so and download your Xmas parcel :-)


Edited: 19 Dec 2011, 1:55 p.m.


Thanks Angel! For writing the CL-UTILS and now the manual! Very helpful.
Regards, Kerem


Thanks Angel,

CLUTILS is a must have for the CL group!

The CL is a must have, nough said!



Put it up somewhere and send us a link.



Put it up somewhere and send us a link

Gene, would love to but believe it or not I don't have any server or web place to put it up on - will be glad to send it over to anyone who could do so.

Here's the QRG to whet your appetite :-)

#	Function	Description
1 -CLUTLS 2E Module Header
2 ?MMU MMU Status Yes/No
3 SCLF _ Global Launcher
4 BAUD _ Baud functions launcher
5 CLLIB _ CL ID Library
6 MMU _ MMU functions launcher
7 MMUCAT MMU Catalog
8 PLUGG _ Plug Page
9 PLUGG? _ Page Location MMU
10 PLUGGX Plug Page by X
11 PLG#4 _ Page#4 Plug
12 PLUG _ PLUG functions launcher
13 ROMLIB ROM Library
14 UPG#4 Clears MMU entry for page #4
15 TURBO _ TURBO functions launcher
16 UPLUG _ UPLUG functions Launcher
17 Y1SEC One-second delay
18 YBSP ALPHA back Space
19 YCL> Clears string from ">"
20 YCL- Clears string from hyphen
21 YFNZ? Page location of YNFS
22 YINPT _ Y Input
24 YSWAP> swaps both sides of ">"
25 YSWAP- swaps both sides of hyphen
26 YWALL Y-Write-ALL
27 -SYS/EXT Section Header
28 ADRID Address ID
29 BFCAT Buffer Catalog
30 BLCAT Block Catalog
31 CDE Code
32 DCD Decode
33 DTOA Display to ALPHA
34 DTST Display Test
35 HEPINI HEPAX FileSys Init
36 "HPX4" HEPAX FileSys Init - CL
37 "HPX8" HEPAX FileSys Init - CL
38 "HPX16" HEPAX FileSys Init - CL
39 SECURE enable password lock
40 UNLOCK disable password lock
41 XPASS change password

Edited: 19 Dec 2011, 3:06 p.m.


Great document.

Suggestion for some?

What roms can be plugged into pages 6 and 7? What problems can / does that create?

Can someone simply plug the CCD/OSX into page 7 (no HP IL) and be ok? What about page 6?


Gene, this is a manual for the CL Utils module - not a compendium of the collective knowledge on the 41 system.

I've had the AOSX plugged in page 7 since day-1, only remove it when using the HPIL.

Page 6 is trickier - as it has more scanning entry points than the others - because of the printer stuff. The only module I know to be 100% compatible with page#6 location is the HEPAX - but unfortunately that won't work on the CL because page#6 doesn't support bank-switching.


Oh, but you are one of THE 41CL experts. :-)

The knowledge that the CCD-OSX and AOSX modules should work there helps. I had wanted to put the YFNS there, but for various reasons it is in page 8. But I can save 4K by moving the CCDX there.

Thanks for all you do.


#	Function	Description
35 HEPINI HEPAX FileSys Init

Cool! I made it on to one of your modules :)

Edit: Wow! I'm onboard the 41CL! I had no idea. I wrote a FOCAL program to do the initialization on mine LOL.

Edited: 19 Dec 2011, 4:53 p.m.


Howard you sure did, as it´s duly credited to you in the manual :-)
In fact HEPINI is used in the other three HEPAX Config functions, saving over 100 bytes over the older versions.

BTW I wrestled with the HEPINI M-code for a while trying to "optimize" it (or at least reduce its length) but apart from the first three lines (strictly speaking unneeded but good practice nevertheless) I couldn't make any improvement! [picture-perfect:-)

I did find an issue with one instruction in the main loop where you increase A[S&X] for the page# - but I could have created it during the optimization attempts. So the code is pretty much the same as the function you wrote for the MLDL2k - thanks!


Thank you, Ángel! It's an honor and a thrill to be included!

Could you send me your source? I'd like to check that possible bug.

I don't seem to have the HPXNN functions in my production release of the 41CL CLUT module. This is what I ended up with for initializing my HEPAX configuration.

02 TURBO50
03 'HEPX
05 'CLUT
07 '0B9>808
10 '0B9>809
13 '0B9>80A
16 '0B9>80B
21 '808-RAM
23 '809-RAM
25 '80A-RAM
27 '80B-RAM
29 4
30 12

Edit: The HPXNN functions would radically reduce the size of this FOCAL. :)

Edited: 19 Dec 2011, 5:33 p.m.


the ROM and the source code (a.k.a blueprint) are already posted at TOS, easiest think to download.


Here it is:


Thank you, Ángel! Thank you, Monte!



Thank you, Ángel! Thank you, Monte!


Double Ditto!


Monte, thank you for providing the CL-Utils manual!

I already wondered where the commands would be explained.


In the current version (2E) the Backup to Flash uses sector at address 0x0C8, thus if used it will DELETE the Solution Books ROMS.

To prevent this you need to PATCH the code at the following locations in the CLUTILS ROM: (x: = page number).

x0EE, change current value "043" to new value "044"

x0FB, change current value "043" to new value "044"

x105, change current value "043" to new value "044"

This will use sector at address 0x0D8 instead.

You can patch it using YPOKE or HEPAX' HEXEDIT function. CLUTILS needs to be loaded in RAM for this to work.

I'll make this change permanent in version 2F, but in the mean time you'll need to have CLUTILS in RAM to make the changes stated above.


Hello Angel,

Great work, both CLUTILS and the manual - very handy and thorough explanations..thank you!!

I never use my CL without YINPT.

My 0D8 is full with TIMER SLN, Blood glucose, Monopoly 1 & 2, Sudoku so I'll patch my CLUTILS to a more remote place :-)

Thanks again !


Edited for typo

Edited: 20 Dec 2011, 6:15 a.m.


Hi Etienne, absolutely right but what's more remote than that?

Addresses beyond 0xE7 are already taken with other modules, so it's getting tight - imagine!

Practically there's two sectors available, assuming the first USER FLASH sector is taken by the Solution Books modules.

Best, ÁM


Well..I agree...more remote is actually E00-->E7F for me :-(

I was also looking at 00F and wondering if it's empty or hosting another page of the Multiprecision ROM...

But's getting tight...



Edited for typo E7F

Edited: 20 Dec 2011, 11:38 a.m.


Addresses beyond 0xE7 are already taken with other modules, so it's getting tight - imagine!

For the more or less uninitiated in profound knowledge about flash and RAM: What would be the main disadvantage of saving stuff into user RAM?

I am thinking of the address space 0x806000 - 0x83FFFF (which is about 232kB).

The RAM content would not survive a MEMORY LOST condition. Is this right?

But anyway, as long as you don't push the 41CL to its extremes such condition is not a standard occurence, and hence the user RAM would

appear to be a handy storage space if the free room in flash is at its limits.


Using CL-SRAM for backup is a perfectly valid approach. It WILL survive a Memory Lost - so even better than you thought - but will fade away like your "dayddy's best jeans" if the batteries are removed from the machine for a (undetermined) while.

Possibly Related Threads...
Thread Author Replies Views Last Post
  HP-41(CL): The easiest way to transfer FOCAL programs from a Linux PC to the HP-41 Geir Isene 13 3,618 12-05-2013, 02:40 AM
Last Post: Hans Brueggemann
  Getting back to the CL Geir Isene 6 1,579 03-20-2013, 07:02 PM
Last Post: Geir Isene
  41-CL Routine of the week: MMUSWAP Ángel Martin 3 1,156 11-09-2012, 01:39 PM
Last Post: Luiz C. Vieira (Brazil)
  Great white shark sighted in CL reef... Ángel Martin 7 1,598 10-26-2012, 11:35 AM
Last Post: Richard Wagoner
  Beta 41CL --> Best CL UTILs to burn in NoVRAM 64? Gene Wright 5 1,447 07-01-2012, 03:06 PM
Last Post: Matt Kernal
  Can my CV take a CL board? Les Wright 5 1,462 06-03-2012, 08:33 PM
Last Post: Les Wright
  HP 41 CL ROM List Gerry Schultz 2 845 05-23-2012, 12:51 AM
Last Post: Ángel Martin
  HP7B-CL John W Kercheval 29 5,010 05-19-2012, 01:29 PM
Last Post: Diego Diaz
  41CL. "CL" means... John W Kercheval 13 2,496 05-09-2012, 02:11 PM
Last Post: John W Kercheval
  CL-UTILS revision 2G released Ángel Martin 4 1,175 01-08-2012, 03:40 PM
Last Post: Ángel Martin

Forum Jump: