41CX's ED: Lower Case & Special Chars patch
|
08-04-2017, 05:33 AM
(This post was last modified: 08-08-2017 01:47 PM by Ángel Martin.)
Post: #1
|
|||
|
|||
41CX's ED: Lower Case & Special Chars patch
41CX: Adding Lower Case & Special Chars to ASCII File Editor.
The standard ASCII file Editor on the 41CX has no support for lower case and other special characters. As a consequence, those chars need to be entered first in ALPHA and then manually transferred to the ASCII file using APPCHR or APPREC; either way the user needs to exit the editor, make the manual transfer, and call ED again. With this patch entering lower-case and special characters is simply done by typing the designated key from within ED itself, no need for intermediate cumbersome steps. The special chars keyboard layout is the same one available for ALPHA mode on the OS/X Module (and in turn on the original CCD Module) with USER off. There are two conceptual differences though: 1. Since ED uses the USER key to move the cursor one position to the left, that cannot be the mode flag in this case. Activation of the lower case & special chars is done switching ALPHA off instead. 2. With ALPHA switched off, the "native" ED uses the numeric keys to enter digits , radix and the unary minus sign. That is not changed, and therefore imposes a design for the rest of available choices. This forces an inverted scheme for the layout compared to the OS/X, as follows:
Easier to use it than to describe it - specially if you have the old CCD overlay at hand. The important thing is that none of the standard features or character layout of the original ED are altered in any way. Patching the ROM. All changes are confined within the bank-switched page of the CX-Extended Functions, i.e. ROM_5B. If you use the 41-CL or an emulator capable of altering the OS sector (like V41), then all you have to do is replace said ROM_5B with the new one containing the patch. Patching instructions. Three steps are necessary: Step #1. There are only three bytes to change in the original ED code, which is good news since that code is 1,001 bytes long!. The bytes to change are located at 0x5F62, 0x5EF0 and 0x5EF1; where: 0x5F62 has a jump-if-carry to address 5F51 (37F JC - 17d). The jump distance needs to be changed to point at 5F4C instead, i.e. 5F62 357 JC -22d 0x5EF0/F1 has a call to [BLINK] (265 , 020) - this needs to be replaced with a non-conditional jump to address 0x5BF1: 5EF0 3C5 ?NC GO 5EF1 16E ->5BF1 Step #2. Next we need to add the following code at the jumped-to location (which is conveniently empty in the original ROM), to process the key-presses and triage them accordingly: Code: 5BDF 1B0 POPADR get calling address Step #3. The code above relies on a character table that needs to be added to the ROM. We do this in another empty section, not to disturb any existing code - as follows: Code: 56F9 041 shift-"A" That's all there's to it folks - enjoy your enhanced ED+ ! PS. With this enhancement it's possible to enter any formula expression used by the Formula Evaluation module directly in an ASCII record. Refer to the following for details: http://www.hpmuseum.org/forum/thread-862...evaluation PPS. To *visualize* the lower-case letters in the LCD you need to use a half-nut machine, and also apply the patch provided by JF-Garnier in the following link: 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." |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)