Page 1 of 1

Sy 41CL Program Submissions

PostPosted: Wed Dec 03, 2014 11:33 pm
by NumberSix
Is this a good place to submit Focal programs for review, feedback, and general membership use?

I am a recent System Yde (Sy) 41CL owner. I plan on expanding into the world of Mcode with this new circuit board but first I felt I needed some software tools to learn my way around.

So I have created some tools that will help me learn and I would like to share them with the membership that also own a 41CL.

I create my program listings using Word. I realize that not every member may use Word. I really need a document converter to make Word document files into Adobe PDF. Anybody here that can point me to a good converter?

The first thing I noticed about the 41CL was that I could not easily look at the contents of its huge memory sequentially. So using the 41CL’s PEEK function and a focal program to automate the advance of the PEEK address in the Alpha register I was able to sequentially view the contents RAM or ROM.

I have attached a copy of this focal program listing for your review. Once you have the program loaded into main program memory and SAVEP into Extended Memory the key points of the listing are these.

- User instructions that include how to reload the program from Extended Memory, what the User keys (A, B, C, D, and / or E) do if used, and how to get the program started.

- Memory Usage (if any) i.e. registers 00, 01, etc.

- Flag Usage (if any)

- Test data

- Program Listing which includes line numbers, the individual instructions as displayed, the number of program bytes each instruction uses, the Hex codes that makes up each instruction (so that there is no ambiguity about the displayed instruction) (no letter Os mistaken for the number Zero)

- and a complete description of what each section of the listing does.

I would like to give a shout out to Richard Nelson and all who helped put together the PPC ROM. This ROM has been the inspiration of many a routine over the years for me. I have attached two other routines that the Sequential Peek routine needs to step from one address to another. dH-D converts a hexadecimal to a decimal number and is based on the PPC ROM routine BD. dD-H/B converts a decimal number to a hexadecimal (or a binary number based on the state of flag 05) and is based on the PPC ROM routine TB.

Looking forward to your replies.

Re: Sy 41CL Program Submissions

PostPosted: Thu Dec 04, 2014 12:04 am
by Garth
This place is fine to share your programs.

HEXIN (hexadecimal input, ie hex-to-decimal conversion) and HEXVIEW (decimal-to-hex conversion) are part of the Advantage module (which is one of the 200+ module images in the CL). They have no visible delay even on non-CL 41's. I use these two functions so much I have them assigned to keys for the USER keyboard. The ZENROM (which I'm sure you also have in the CL) has a direct RAM editor called RAMED, and it lets you step forwards and backwards in byte or register increments.

I use Linux, and I don't use Word (or any Microsoft software for that matter), but rather LibreOffice (Open Office) which is free, and it has a converter to .pdf files. I'm sure it's available for Windows as well. .pdf is an industry standard now, so you don't need Adobe for that either.

Sy 41CL Program Submissions

PostPosted: Thu Dec 25, 2014 3:55 am
by NumberSix
Thanks Garth for the feed back. I found the Advantage ROM image in my 41CL Flash memory, loaded the image into a port, and experimented with the functions HEXIN and HEXVIEW. Unless I missed something, I don’t see how I can use these functions to automate the advance of the Hex address in the Alpha register as needed by the YPEEK function.

The ZENROM’s RAMED function has some draw backs when used in a 41CL. A standard HP41 has a seven byte register length. The 41CL, however, has an eight byte register length. It is true that this eighth, most significant ,byte is never used but RAMED can’t show this byte’s content.

The ZENROM’s MCED function has similar draw backs with Read Only Memory as RAMED has with Random Access Memory. MCED only displays the lower 10 bits of each 41CL memory location.

These are some of the reasons I have created several focal software tools using YPEEK function to allow full inspection of any 41CL memory location; FLASH (ROM) or RAM.

Thank you Garth for pointing me to LibreOffice (Open Office). I now have that installed on my computer.

I am now working on merging all my focal software tools into one suite. Once I have that working I’ll post it here.

Now, I have one problem with my 41CL that I’m hoping the membership can help me with. I can not get the 41CL to send or receive 4K blocks of data via its serial port. I have E-Mailed Monte Dalrymple ( and together we have proved I have connectivity. I am able to send single bytes in either direction.

On Monte’s page are several ways others have used as a ‘computer driver” to send and receive 4K blocks of data. The last entry on this web page is from Bernd Grubert. I loaded Python onto my Windows XP OS and tried to run his scripts. No go. I’m not sure I have installed Python correctly.

There are some things that Mr. Grubert makes mention of in the text file but the ‘How To’ is missing. For example, under
- Requirements:
-- Python 2.7.x with packages: pyserial, crcmod, binascii.

How do I check Python to insure these three packages are installed? Are there any 41CL users in the membership that can help?

The second entry on Monte’s page is from Raymond Wiker. This seems like a possible solution but I have never used .NET programs / scripts. Is there anyone in the membership that can help with this approach?