Post Reply 
41-CX's "ED" gets a facelift
08-02-2017, 10:28 AM (This post was last modified: 08-04-2017 08:15 AM by Ángel Martin.)
Post: #1
41-CX's "ED" gets a facelift
Announcing special character support for "ED", the built-in ASCII file editor on the 41-CX

Some of you (Michael Fehlhammer, Garth Wilson, et al) have asked about this for months, and until recently I doubted it could be easily accomplished; but a series of recent bemusing explorations provided fruitful and yielded some ideas to get it done - so here it is at last...

Using the enhanced "ED+" all special characters can be entered in the ASCII record displayed by switching ALPHA off (yes, you read correctly) and pressing the designated keys. These loosely match the same layout as the OS/X (or CCD) ALPHA keyboard with USER off (also known lower-case mode). Note that at this point there's no support for lower case letters though, only for the special characters.

BTW with this enhancement you can enter in an ASCII file all possible characters involved in the formula definitions in the EVAL_1F module - this was one of the driving forces to delve into ED, instigated by Mark Fleming...

As to how to get it in your system, well whatever you use needs to support OS changes. This is easy on V41, just replacing the ROM file for the bank-switched XFNS in page #5. It's also possible on the real-life CL performing an OS update.

The updated ROM will be posted in a couple of days, as soon as the beta testing is finished.

Cheers,
ÁM

Edited: Direct typing of Lower Case is also being added - to visualize them on a half-nut you need the patch prepared by JF-Garnier a while ago, posted here: http://www.hpmuseum.org/cgi-sys/cgiwrap/...?read=1205

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
08-04-2017, 05:40 AM (This post was last modified: 08-04-2017 05:40 AM by Ángel Martin.)
Post: #2
RE: 41-CX's "ED" gets a facelift
Mission accomplished. All code changes required described on a new article:

http://www.hpmuseum.org/forum/thread-877...l#pid76821

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
08-04-2017, 01:40 PM
Post: #3
RE: 41-CX's "ED" gets a facelift
(08-02-2017 10:28 AM)Ángel Martin Wrote:  Announcing special character support for "ED", the built-in ASCII file editor on the 41-CX

Thank you Ángel for this new ROM, another jewel in your jar, I will try it next week.

(08-02-2017 10:28 AM)Ángel Martin Wrote:  As to how to get it in your system, well whatever you use needs to support OS changes. This is easy on V41, just replacing the ROM file for the bank-switched XFNS in page #5. It's also possible on the real-life CL performing an OS update.

41CL Question?

Since 41CL board need a full-nut to work and that only the display driver of the half-nut are able to display lower cases, even if I patch the page 5 ROM, how can this work ?
If I change the display of a full-nut with one from a half-nut will work ?

Regards,

Sylvain
Find all posts by this user
Quote this message in a reply
08-04-2017, 02:36 PM (This post was last modified: 08-06-2017 05:45 AM by Ángel Martin.)
Post: #4
RE: 41-CX's "ED" gets a facelift
(08-04-2017 01:40 PM)Sylvain Cote Wrote:  
(08-02-2017 10:28 AM)Ángel Martin Wrote:  As to how to get it in your system, well whatever you use needs to support OS changes. This is easy on V41, just replacing the ROM file for the bank-switched XFNS in page #5. It's also possible on the real-life CL performing an OS update.

41CL Question?

Since 41CL board need a full-nut to work and that only the display driver of the half-nut are able to display lower cases, even if I patch the page 5 ROM, how can this work ?
If I change the display of a full-nut with one from a half-nut will work ?

To the first part of the question - Fullnuts can show many special characters that are not supported by ED -for example: &, #, (, ), greek-mu, little men, [, ], ; ... All these are displayed on the CL as well, so patching ROM5B is beneficial in any case.

The lower-case chars after "e" will be shown as starbursts - as the LCD cannot handle them. So for the CL patching ROM2 is a superfluous (but not harmful) action.

The second part of your question is for Monte to answer; I'd assume however there's more than just the LCD unit to the story, possibly the LCD controllers are different and the halfnut's LCD won't communicate well with the CL board?
But I don't really know!

Cheers,
ÁM

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
08-06-2017, 03:22 PM (This post was last modified: 08-06-2017 03:33 PM by J-F Garnier.)
Post: #5
RE: 41-CX's "ED" gets a facelift
This works well in Emu41, thanks!

To get a fully complete patch, I propose to also modify the ROM identifier and checksum:
5FFB 00D M was 003 C
5FFC 018 X
5FFD 20D M
5FFE 014 T
5FFF 395 was 267

I propose an id = "TM-XM" instead of the regular "TM-XC" (Time eXtension version C) - version "M" as Modified ... or Martin :-)

One question, why did you put your LWRCAS table at 56F9 in the middle of nowhere in the free 567E-57FF area? Maybe some other private patches?

Oh, the link to my article (in your article) is invalid.

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
08-07-2017, 05:14 AM (This post was last modified: 08-07-2017 06:28 AM by Ángel Martin.)
Post: #6
RE: 41-CX's "ED" gets a facelift
Hi J-F,

Glad to know it works on EMU41 ;-)

Yes, I have other additions made to the OS and specifically to that ROM5B that use much of the initially available space; so what appears to be "in the middle of nowhere" it really isn't. The other additions are not patches per se, but more functions added (RNG, RETPFL, RNFL, CLEM, FLHD, etc.) - taking advantage of the fact that there were available FAT entries in the Time module.

I called the ROM trail "TM-XX", but the checksums are different in my case because of the above reason.

I have corrected the link to your article in mine, it works fine for me.

BTW, do you know of a way to access the "capital Gamma" character on a half-nut? On the fullnut that is code 0x60, but on a half-nut that one was re-purposed to the upper "t".

In the patch for ED I use char 0x97 (151d), which produces "G:" - with the colon as part of the character itself, even if you place it in ALPHA it takes only one byte.

Cheers,
ÁM

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
08-07-2017, 05:19 PM
Post: #7
RE: 41-CX's "ED" gets a facelift
(08-07-2017 05:14 AM)Ángel Martin Wrote:  do you know of a way to access the "capital Gamma" character on a half-nut? On the fullnut that is code 0x60, but on a half-nut that one was re-purposed to the upper "t".

I don't know a true "capital Gamma" character on the fullnut (there is one on the halfnut).
Or do I miss something?

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
08-07-2017, 06:19 PM (This post was last modified: 08-07-2017 07:26 PM by gjmcclure.)
Post: #8
RE: 41-CX's "ED" gets a facelift
(08-07-2017 05:14 AM)Ángel Martin Wrote:  BTW, do you know of a way to access the "capital Gamma" character on a half-nut? On the fullnut that is code 0x60, but on a half-nut that one was re-purposed to the upper "t".

In the patch for ED I use char 0x97 (151d), which produces "G:" - with the colon as part of the character itself, even if you place it in ALPHA it takes only one byte.

Cheers,
ÁM

Uh, I think 0x97 is "W:", and 0x87 is "G:"... I tried 0x157 (dsplyC = 1, which yields the last 4 rows of characters including the halfnut characters) and got capital gamma on V41... and 0x60 yields " ." for me. Also I get upper T with 0x160 or 0x047.

Maybe V41 is NOT emulating halfnut afterall, but it does match Kaarup's documentation (Programmer's Handbook)...

Greg
Find all posts by this user
Quote this message in a reply
08-08-2017, 01:40 PM
Post: #9
RE: 41-CX's "ED" gets a facelift
Sorry for the confusion, the 151 was a decimal value, as used to input XTOA: 151, XTOA adds capital gamma with colon to ALPHA

On the other hand, 0x60 = 96d adds the "raised 't'" to ALPHA, but I'm pretty sure on a Fullnut it adds capital gamma (without colon).

That was my question, whether the halfnut has another way to display the capital gamma char, but I believe that one was a casualty of the LCD change...

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
08-08-2017, 01:50 PM (This post was last modified: 08-08-2017 01:51 PM by Ángel Martin.)
Post: #10
RE: 41-CX's "ED" gets a facelift
Patch update: one more byte needs to be modified - see the updated instructions in the article.

The corner case occurred pressing SST while visualizing the last record in the file.

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
08-08-2017, 03:43 PM
Post: #11
RE: 41-CX's "ED" gets a facelift
(08-08-2017 01:40 PM)Ángel Martin Wrote:  Sorry for the confusion, the 151 was a decimal value, as used to input XTOA: 151, XTOA adds capital gamma with colon to ALPHA

On the other hand, 0x60 = 96d adds the "raised 't'" to ALPHA, but I'm pretty sure on a Fullnut it adds capital gamma (without colon).

That was my question, whether the halfnut has another way to display the capital gamma char, but I believe that one was a casualty of the LCD change...
Aha, so you are trying to put it in the Alpha register. Yep, your solution of Gamma with a colon is all you can do. I just wrote a program to display all characters from 1 forward (does AINT, appends an "=" and XTOA for value) and 151 is the first value that shows Gamma and colon.

I tried to get slick and put Gamma with colon into alpha, then go to alpha and append, then backspace to remove the colon. Then ATOX. It shows up 0. More investigation shows that the backspace really removed the whole character, and doing alpha alpha verifies that.

Oh well, Culture Club sang about a Karma Chameleon, we seem to have a Gamma Chameleon here :-)

Greg
Find all posts by this user
Quote this message in a reply
08-08-2017, 04:40 PM (This post was last modified: 08-08-2017 04:45 PM by J-F Garnier.)
Post: #12
RE: 41-CX's "ED" gets a facelift
I'm thinking of a way to improve my patch of the HP41 system ROM 2 to give access to the new special characters of the halfnut LCD (including the upper gamma - for you Angel :-), on top of the lower case characters provided by my current patch.

My problems are:
- first, I'm not sure of the halfnut LCD greek characters 110h to 115h. 115 seems to be sigma, 112 beta, but what are exactly the meaning of the other characters between 110 to 114? See here:    
- second, to which HP41 user codes (ASCII codes) should I map these new characters that are in the row 11x of the LCD character map?

The hangman, micro, different and angle symbols should stay where they are, but what about the greek letter?
One possibility is to map them to codes similar to the HP82143 printer with codes in the range 1-15, however, this solution will replace several of the hangman symbols.
Another possibility is to map them to currently unused HP41 user codes, between 16 and 28, but it will not be in line with the classic (or emulated) HP41 printer character set. Especially printing programs embedding these new special characters will be a mess.
And a last possibility should be to map them to the codes 128-143 but I'm not sure of the behaviour of the classic HP41 printers (143, IL, IR) with these codes.

What is your opinion?

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
08-08-2017, 06:49 PM
Post: #13
RE: 41-CX's "ED" gets a facelift
J-F,
Character 101 seems to be pi, but the others is everyone's guess - they look funny and frankly I had never cared much about them. The OS/X module uses the same mapping as the CCD, which for a half-nut covers all characters I need and then some more... it also does some printer special characters, but those are even less likely to be of any use these days (I don't use printers at all anymore).

And of course for the CL it's a fullnut LCD, so even less of a need, I'm afraid.

Sorry I'm not much of a help here, I guess trial and error is as good a method as any..

Cheers,
ÁM

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 3 Guest(s)