HP Forums

Full Version: 48GX serial comms (Mac)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
hi all,

I've just picked up a 48GX, which I'm liking very much; keyboard & screen seem much nicer look/feel than my 50g (which I also like, but the keys are so hard & clacky).

I've successfully transferred back and forth to my Mac via serial, but I wondered about “best practices,” in particular:

• XMODEM or Kermit? The manuals don't seem to express a preference, other than Kermit being the default.

I've read lots on conflicting guff on their various merits, which seems often to come down to implementation. What do people recommend I use, given I have an apparently capable serial app on the Mac that does both? Obviously I'd favour data integrity over performance.

• any tips on the best mechanism for a general calculator backup regime? On my 50g I use both the native ARCHIVE prog, and the ARCHIV prog, to create backups to flash & SD card (after a RCLF), and periodically dump the SD card onto my computer. What's good for the 48 via serial?


thanks very much indeed.

edit: removed question on transfer rate; didn't realise 9,600bps was the maximum
The 48 supports Kermit natively. If you want it to do XMODEM then you need to install a library that the official ConnKit transfers to the calculator.

Archival of data on the 48 is similar to the 50g. Just place a global name in one of the ports (e.g. :0: MEM) and run ARCHIVE. If you then recall that object to the stack (you'll see that it's just a directory object) and store it in a HOME variable, you can then transfer it to your computer as you would any other variable. The down-side is, you can only do this as long as your calculator is less than half full!
As a side node, about macOS serial port applications ...
I have been using for several years now the Serial application.
It's the only application for macOS that I have seen that can support serial port data transfer of up to 1.2Mbps.
It also support file transfer with Text, Binary, Kermit & X:Y:Z Modem protocols.
Sylvain
(02-09-2019 05:34 PM)grsbanks Wrote: [ -> ]The 48 supports Kermit natively. If you want it to do XMODEM then you need to install a library that the official ConnKit transfers to the calculator.

Archival of data on the 48 is similar to the 50g. Just place a global name in one of the ports (e.g. :0: MEM) and run ARCHIVE. If you then recall that object to the stack (you'll see that it's just a directory object) and store it in a HOME variable, you can then transfer it to your computer as you would any other variable. The down-side is, you can only do this as long as your calculator is less than half full!

Thanks very much. I didn't want to do XMODEM, as much as was wondering whether it had any advantage over the default Kermit?

Ta for the backup info; I do have a RAM card, so could backup to that first (although can I transfer direct from RAM card port 1 to serial? No, I think not) but if I have it merged then same problem, although will take me longer to fill it half-way Smile
(02-09-2019 06:57 PM)Sylvain Cote Wrote: [ -> ]As a side node, about macOS serial port applications ...
I have been using for several years now the Serial application.
It's the only application for macOS that I have seen that can support serial port data transfer of up to 1.2Mbps.
It also support file transfer with Text, Binary, Kermit & X:Y:Z Modem protocols.
Sylvain

Thanks, yes, that's what I'm using; I liked its inbuilt USB–serial converter support, especially since the dedicated cable I got with the calc includes a converter that isn't Prolific or FTDI. Worked perfectly with the Serial app.
(02-09-2019 07:05 PM)cdmackay Wrote: [ -> ][XModem] whether it had any advantage over the default Kermit?
Kermit was available for nearly any platform back then, and Kermit was easy to use.
However XModem offers much more data transfer performance than Kermit.

Many years ago I made a semi-automatic batch-backup mechanism for my HP 48GX to another GX.
Actually the only precaution on the receiver GX is Kermit Server mode.
On the Sender I send a predefined (via VARS or othe means) list of files to be transferred over Kermit, followed by sending a UserRPL program for the receiver side.

The receiver side program effectively is a loop which takes the next name from the list, and calls XModem receive on that name.

On the sender, the execute remote command is issued, which calls the XModem receive loop program which was just transferred via Kermit.

Then the Kermit server is finished and exited from the sender.
Then the sender also exits the Kermit environment, and starts the sender XModem loop.

Within this loop, one by one the programs on the given list are sent via XModem.

When all list elements are transferred, both programs end, and the I/O is closed.

This is a simple example of remote execution, however there are ways to fine-tune the mechanism, with error-checking and such.

The goal was to make the backup using a few key clicks only, with maximum possible speed, and without any additional software needed to be installed.

It's possible that one of the steps described above works slightly different in reality, since I just recalled the principle mechanism from memory.
nice touch, thanks Raymond.
ARCHIVE also accepts :IO:filename as a special argument, for which user memory is directly transmitted (in binary) to the current I/O port (serial or infrared, depending on system flag -33).
thanks!
Reference URL's