SpeedUI v20.05 on 48GX in 2024
|
08-08-2024, 05:18 AM
(This post was last modified: 08-08-2024 05:21 AM by JDW.)
Post: #1
|
|||
|
|||
SpeedUI v20.05 on 48GX in 2024
As some of you may have read in my other thread, my 128K FRAM card recently died, or so I thought, and Meta Kernel got wiped. The upside is that the card seems to be working again after using a heat gun to reflow all the solder joints. This led me to reconsider the advice I received several years ago from many of you who recommended I installed SpeedUI instead. I didn't heed that advice back then because I wanted to try Meta Kernel, and because I was pleased with it, I never tried SpeedUI. All that changed yesterday when I downloaded SpeedUI.
I must say, the documentation (3 different PDFs!) requires multiple reads to make sense, and even then I am left with many questions. Anyone installing it needs to know what the dependency libraries are, and the documentation doesn't make it clear on the first read. Before sending anything to my real calculator, I decided to give SpeedUI a test on Emu48 running in WINE on my 5K iMac (which works great, by the way). Installing it on Emu48 is so much easier than transferring data to the real calculator over that special USB cable you have to buy. And for you Mac users out there, I use the Hoppi app to initiate the transfers to my real calculator. Using Emu48, I just drag the LIB files to the LCD and bam, they're transferred! I installed the following libraries in order from the top to bottom: * CF.LIB (required) (4) * UF.LIB (809) * UFLF.LIB (257) * UI_Full.LIB (805) * SBUC.LIB (224) * B0.LIB (176) * B1.LIB (177) * B3.LIB (179) * FC.LIB (128) * CMD.LIB I forgot to take note of the library number for CMD.LIB, which raises the the following important question: Q1: When I have installed libraries, what is the procedure to find out what the library numbers are? Without that info, you cannot DETACH. If if you cannot DETACH, you cannot PURGE! So that is my first question. My next two questions are as follows: Q2: I see "FM.LIB" in the v20.05 SpeedUI download, but that is not mentioned anywhere in the documentation. I sent a couple PMs to Raymond, but he hasn't replied. Is it even needed? If it is needed, what does it do? Next... Q3: When I access the SETUP soft menu and change HDR to "1", it displays this: {HOME} <1><0B> But I would prefer to see the date & time instead of <1><0B>. How can I achieve that? @rprosperi, I believe you still use SpeedUI, so would you know? Thanks! |
|||
08-08-2024, 11:53 AM
Post: #2
|
|||
|
|||
RE: SpeedUI v20.05 on 48GX in 2024
(08-08-2024 05:18 AM)JDW Wrote: @rprosperi, I believe you still use SpeedUI, so would you know? It has been years since I've dabbled with SpeedUI, so don't recall fine details, but not to worry, Raymond is a regular visitor here and will have answers shorlty, though I am pretty sure active development of SpeedUI has ceased for some years. I recall a similar reaction about the docs, however once finally grasping most of it, understood that the very modular nature of SpeedUI and the huge number of ways it can be configured, it's no simple task to document it in a more typical ABC format. Like you, I found that re-reading the docs helped a lot, making more sense and penetrating deeper each time. I especially like the ability to 'decompile' interactively, etc. but having all those capabilities together at once uses too much RAM, and I ended up paring it back quite a bit. As a 48GX power-user, be absolutely sure to check out Filer48, ( https://www.hpcalc.org/details/4242 ) by far the best file manager and system extension I've ever found for the 48. I have a recipe for installing it if you run into trouble, it uses several of Ray's system libraries as well, and load sequence seems to matter. --Bob Prosperi |
|||
08-08-2024, 01:14 PM
(This post was last modified: 08-08-2024 01:15 PM by Hiwi.)
Post: #3
|
|||
|
|||
RE: SpeedUI v20.05 on 48GX in 2024
I am still using SpeedUI, but not all libs, only the lite ones.
Q1: You can go to the library menu and recall the library with right shift, then you see the name. cmd.lib is lib 7 Q2: FM.LIB may be a part of the form master (input forms) Q3: Did you try in MODES menu to check clock display? Ralf /41/48/ |
|||
08-08-2024, 03:53 PM
(This post was last modified: 08-08-2024 09:45 PM by Giuseppe Donnini.)
Post: #4
|
|||
|
|||
RE: SpeedUI v20.05 on 48GX in 2024
ANSWER TO Q1.
Several options: A. The Manual Way. You can inspect the various ports by first going into the Port Catalogue (push [LS]+LIBRARY, followed by the {PORTS} soft key), and then selecting the port of your choice (e.g. { 0: } for Port 0). You will be presented with a menu of all library and backup objects contained in that particular port (use [NXT] and [LS]+PREV to navigate through other menu pages, in case there are several). Backup objects (also called “port variables” in User RPL parlance) appear the same way as global variables would in the VAR menu. Library objects, on the other hand, appear as a number representing their identification number in decimal format. There is no confusion possible as to which is which, since variables must not begin with a digit (unless you have hacked the system). If you press a soft key corresponding to a library ID, that library will be put on the stack as a library object. The display then shows it in the following decompiled format: Library <n>: <title> where <n> is the library’s (decimal) ID number, and <title> is an “unlimited” descriptive text for the user’s edification and delight. You should always take the time to read it. If you want to see more than a few characters of it, press [LS]+EDIT, or simply [DOWNARROW], to place it in the command line editor – for viewing purposes only. (You can’t actually edit the library, since the HP-48 doesn’t come with a native library compiler. Hence, make sure to cancel the edit session with [ON]; if you press [ENTER], you will end up with an unpredictable, but harmless, pile of garbage on the stack.) However, DETACH as well as PURGE need a port-tagged library ID number as their sole argument, so you can’t use the library itself (in form of a library object on the stack) for that particular purpose. Here’s a convenient trick, though: Press [RS]+ENTRY to activate program entry mode before you press the softkey corresponding to the desired library ID. In that case, the port catalogue is instructed to enter libraries in the form of their port-tagged ID number, e.g. :0: 258, which can be fed without change to both DETACH and PURGE. (To be precise, DETACH doesn’t require the port-tag, but it is good practice to include it, since the following command is likely to be PURGE, which does require it; as a result, you can simply reuse the same argument – usually by duplicating it beforehand: <port-tagged library ID> DUP DETACH PURGE.) [ Remember that you have to be in the HOME directory in order to detach the libraries attached to it. ] B. By Using PVARS. The PVARS command takes a port number as an argument and returns (to stack level 2) a list of the contents of that port, i.e. a port-tagged (decimal) ID number, in the case of a library; and a port-tagged name, in the case of a port variable. Since each element is tagged with the respective port number, and since the HP-48GX offers automatic list-processing, you can use the result of PVARS as an argument to both DETACH and PURGE, if you want to wipe everything in that port. In addition, PVARS returns (to stack level 1) one of the following objects: – a real number representing the amount of free bytes in the port; – the character string "ROM" if the port contains a ROM card or a write-protected RAM card. – (in the case of port 1 only) the character string "SYSRAM" if port 1 is merged (in which case the contents list will be empty, as potential library and/or backup objects will be counted as belonging to port 0). C. By Using LIBS. The LIBS command returns a list of information on all the libraries attached to the current directory. For each library, three objects will be returned: – a character string representing the full title of the library; – a real number representing the library’s ID number; – a real number representing the port number. If no library is attached, the result will be an empty list. Only the HOME directory can have more than one library attached to it. If such is the case, LIBS will return a multiple of three elements, which are not themselves grouped into a sub-list. ANSWER TO Q2.
The FM library (ID number 258 or #102h) is the “Font Maintenance Library” for the original “Universal Font Library” (UFL), adapted to the vastly expanded requirements of SpeedUI. Since it is largely meant for power-users, it has not yet been included in the official documentation. Raymond developed it in the winter of 2012-2013, and it took its present shape and form in the course of several hundred e-mails between him and myself over the last decade. It contains the following 10 user commands (but be aware that I am not going into all the minute details for now): FSTAT : Shows a full-page prompt with the following information on the “UFL Font Status”: UFL Installed: Yes/No FNT1 Present: Yes/No FNT2 Present: Yes/No FNT3 Present: Yes/No FNT4 Present: Yes/No Fonts Editable: Yes/No Note that UFL fonts are only editable if the corresponding library (ID number 257 or #101h) resides in a non-covered port, although FM itself may reside anywhere. F1ED : Given a 128 x 48 pixel GROB, representing the complete Font 1 bitmap, F1ED opens a full-fledged font editor for that font. \->F1 : Expects a 128 x 48 pixel GROB, representing the complete Font 1 bitmap, and sets it to be the new current Font 1. F1\-> : Returns current Font 1 in the form of an (appropriately tagged) 128 x 48 GROB, ready to be modified by the user (e.g. by using F1ED). \->F2 : Expects a 192 x 64 pixel GROB, representing the complete Font 2 bitmap, and sets it to be the new current Font 2. F2\-> : Returns current Font 2 in the form of an (appropriately tagged) 192 x 64 GROB, ready to be modified by the user. (Note that, for historical reasons, Font 2 is bigger than Font 3.) \->F3 : Expects a 192 x 56 pixel GROB, representing the complete Font 3 bitmap, and sets it to be the new current Font 3. F3\-> : Returns current Font 3 in the form of an (appropriately tagged) 192 x 56 GROB, ready to be modified by the user. (Note that, for historical reasons, Font 3 is smaller than Font 2.) \->F4 : Expects a 192 x 80 pixel GROB, representing the complete Font 4 bitmap, and sets it to be the new current Font 4. F4\-> : Returns current Font 4 in the form of an (appropriately tagged) 192 x 80 GROB, ready to be modified by the user. ANSWER TO Q3.
Unfortunately, it is currently not possible to customize the contents of the single-line header.
|
|||
08-09-2024, 07:25 AM
Post: #5
|
|||
|
|||
RE: SpeedUI v20.05 on 48GX in 2024
Gentlemen,
Please accept my sincere and humble thanks for your very kind and helpful replies. I am especially indebted to Giuseppe for such extensive detail. My goodness, I love it! Giuseppe , I must assume you are the person Raymond chose to continue SpeedUI development. Raymond answered my PM last night to say that he had a 2023 version of SpeedUI in the works (which would allow mixing of Full & Lite modules), but he decided that 38 years of HP development was enough, so he handed it off to "a fellow HP addict." He added that the Date/Time display is only available with HDR=2 "at this time." The "at this time" part suggests customization of the HDR=1 display might be feasible in a future release. I wish cast my vote for that. Again, THANK YOU! |
|||
08-09-2024, 11:44 AM
Post: #6
|
|||
|
|||
RE: SpeedUI v20.05 on 48GX in 2024
Well... so much for my comment "...though I am pretty sure active development of SpeedUI has ceased for some years."
Indeed, Giuseppe's replies are always thorough, clear and impressive.This small jewel was new to me "Since each element is tagged with the respective port number, and since the HP-48GX offers automatic list-processing, you can use the result of PVARS as an argument to both DETACH and PURGE, if you want to wipe everything in that port." Handy to know! --Bob Prosperi |
|||
08-20-2024, 04:24 AM
(This post was last modified: 08-20-2024 08:19 AM by JDW.)
Post: #7
|
|||
|
|||
RE: SpeedUI v20.05 on 48GX in 2024
I should add one more thing about SpeedUI v20.05.
When I press Right-Shift & 1 (I/O) to initiate a TRANSFER and select NAME, then CHOOS to get "Remote PC files", if I select any SpeedUI filename with "_FULL" in it (e.g., UI_Full.LIB), when I press the KGET softmenu, it results in "Error: Invalid Name". Deleting the "_Full" part is the fix. By the way, I am using the Hoppi 2.1.2 app on my iMac running macOS Monterey, in combination with a special USB cable that links the 48GX to the iMac. Not sure why the files are named that way unless most people are transferring via some other means which doesn't generate such an error. But the SpeedUI documentation says nothing about the need for file renaming. Anyway, I proceeded to install the following, in the order shown: 1. CF.LIB (required, install first!) (4) (361 packets) (Full -- had to rename) 2. UF.LIB (809) (70 packets) 3. UFLF.LIB (257) (165 packets) 4. UI.LIB (805) (464 packets) (Full -- had to rename) 5. SBUC.LIB (224) (23 packets) 6. B0.LIB (176) (163 packets) 7. B1.LIB (177) (45 packets) 8. B3.LIB (179) (262 packets) 9. FC.LIB (128) (40 packets) The Libraries are not automatically placed on the stack after having been sent to the 48GX. I have to exit out of Transfer, then press Right-Shift & VAR (MEMORY), then CHK the LIB file, push NXT, then choose RCL and OK. With it on the stack, I then type 0 and STO. I then need to return to MEMORY to PURG the LIB file and its IOPAR file. I then turn the calculator OFF and then ON to get the LIB file to install itself. After transferring a given LIB file, there were times when I placed the LIB on the stack only to find the word "Library" missing and instead it said "HPHP48-R@+..." I knew that wasn't right so I cleared it from RAM and downloaded it again, and then it displayed "Library" properly on the stack. So I guess there was some kind of transfer error that caused that. Not sure. For whatever reason, after I had installed all 9 LIB files above, when I then entered LIBRARY > UF > SETUP and then CHOOS the Fnt, it exited UI modes, produced garbage on the display, and then the calculator did a reset, asking me if I wanted to RESTORE MEMORY. I say yes, but it ended up getting wiped. All the libraries were gone, and it went back to saying my 128K FRAM card (installed in Slot1) was INVALID. Prior to all this, I had the 128K card merged via the MERGE1 command and all was working fine with no errors. SpeedUI makes no mention of the need to MERGE when you have a 128K card installed (unlike Meta Kernel, which requires you to Merge). I used PINIT on my card and it no longer throws an error. The card is still installed, but I did not merge it like before. I reinstalled all the libraries again. I think I found a bug in UI Modes (SETUP). When I enter UI Modes, the first thing selected is Fnt. Normally, I would just press the ENTER key to display the Choose Box, but when I do that, it exits to the stack. That's what happened before when my FRAM card and Calculator got wiped. So I guess if you have a MERGED card and do that, it not only exits to the stack, but it wipes your calculator too. Well, my card isn't merged now, so nothing was reset/deleted, thankfully. The bug remains though. When I enter SETUP and press CHOOS for Fnt, then the Choose Box will display. And I can change the font with the arrow keys and then press ENTER to confirm my choice. So ENTER works in that case. But if you press ENTER before the Choose Box is displayed, it exits to the stack. That's the bug. Same thing happens when I use Emu48, so it's nothing specific to my calculator. Lastly, the documentation can use an update. For example, in SpeedUI.pdf, the top of page 5 talks about pressing the Left-Arrow during a warmstart to get the SPEEDUI CONFIG MENU, but that doesn't work. It also suggests that typing SETUPB manually will also achieve the same, but it doesn't. I am forced to open LIBRARY > UF > SETUP. But that is named "UI Modes" and looks nothing like the screenshot in the manual, and "WARP" is no where to be found in "UI Modes". Then on page 6 of that same PDF it talks about B2.LIB and shows a screenshot of "RAY'S CHAR CAT" but that's not how mine looks. No mention of "RAY" at all. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)