Posts: 1,253
Threads: 117
Joined: Nov 2005
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 :-)
Best,
'AM
Edited: 19 Dec 2011, 1:55 p.m.
Posts: 171
Threads: 15
Joined: Sep 2011
Thanks Angel! For writing the CL-UTILS and now the manual! Very helpful.
Regards, Kerem
Posts: 1,083
Threads: 126
Joined: Sep 2006
Thanks Angel,
CLUTILS is a must have for the CL group!
The CL is a must have, nough said!
Geoff
Posts: 1,545
Threads: 168
Joined: Jul 2005
Put it up somewhere and send us a link.
:-)
Posts: 1,253
Threads: 117
Joined: Nov 2005
Quote:
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
23 YRALL Y-Read-ALL
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.
Posts: 297
Threads: 25
Joined: Nov 2006
Posts: 882
Threads: 23
Joined: Jan 2005
Thank you, Ángel! Thank you, Monte!
Massimo
Posts: 1,545
Threads: 168
Joined: Jul 2005
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?
Posts: 1,253
Threads: 117
Joined: Nov 2005
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.
Posts: 1,830
Threads: 113
Joined: Aug 2005
Quote:
# 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.
Posts: 1,253
Threads: 117
Joined: Nov 2005
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!
Posts: 1,830
Threads: 113
Joined: Aug 2005
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.
01 LBL 'HEP
02 TURBO50
03 'HEPX
04 PLUG2U
05 'CLUT
06 PLUG2L
07 '0B9>808
08 AVIEW
09 YMCPY
10 '0B9>809
11 AVIEW
12 YMCPY
13 '0B9>80A
14 AVIEW
15 YMCPY
16 '0B9>80B
17 AVIEW
18 YMCPY
19 'PLUG RAM
20 AVIEW
21 '808-RAM
22 PLUG3L
23 '809-RAM
24 PLUG3U
25 '80A-RAM
26 PLUG4L
27 '80B-RAM
28 PLUG4U
29 4
30 12
31 HEPINI
32 HEPROOM
33 TURBOX
34 VIEW X
Edit: The HPXNN functions would radically reduce the size of this FOCAL. :)
Edited: 19 Dec 2011, 5:33 p.m.
Posts: 1,545
Threads: 168
Joined: Jul 2005
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.
Posts: 1,830
Threads: 113
Joined: Aug 2005
Quote:
Thank you, Ángel! Thank you, Monte!
Massimo
Double Ditto!
Posts: 1,253
Threads: 117
Joined: Nov 2005
the ROM and the source code (a.k.a blueprint) are already posted at TOS, easiest think to download.
Posts: 1,253
Threads: 117
Joined: Nov 2005
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.
Posts: 117
Threads: 16
Joined: Jul 2009
Monte, thank you for providing the CL-Utils manual!
I already wondered where the commands would be explained.
Posts: 464
Threads: 10
Joined: Jan 2005
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 !
Etienne
Edited for typo
Edited: 20 Dec 2011, 6:15 a.m.
Posts: 1,253
Threads: 117
Joined: Nov 2005
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
Posts: 464
Threads: 10
Joined: Jan 2005
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 yes...it's getting tight...
Cheers
Etienne
Edited for typo E7F
Edited: 20 Dec 2011, 11:38 a.m.
Posts: 117
Threads: 16
Joined: Jul 2009
Quote:
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.
Posts: 1,253
Threads: 117
Joined: Nov 2005
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.
|