|Re: HP-49g+ and SD card|
Message #3 Posted by James M. Prange (Michigan) on 5 Dec 2006, 3:56 a.m.,
in response to message #2 by Les Wright
I have an SD card reader on my computer so I never use the USB cable or the
connectivity kit that comes on the CD. Just copy files directly to the SD
card and find and load them by navigating thru the "Files" screen. I swap
little programs back and forth between Power48 on my Palm XT and the 49G+
Yes, the SD card port amounts to a built-in mass storage drive
with removable media; you could think of the SD card (or
MultiMedia card) as being like a very large floppy or a CD-RW, or
with the largest cards, maybe a DVD RW, although the calculator
has rather limited capabilities for managing files and directories
on the card.
When the calculator stores a file on the card, it amounts to a
binary transfer, including an HPHP49-X transfer header before the
object. If you have a card reader for your PC, then you can simply
transfer a file between the card and your hard drive. When the
calculator reads a file on the card (or receives any binary
transfer, for that matter), it checks for a valid binary transfer
header (it must begin with HPHP49-), and if it has one, it does
some validity checking on the object; I don't know how much, but
at least the correct length. If the file is determined to be not
valid for the 49 series, then its contents are embedded within a
character string object.
The calculator can execute files on the card, in which case the
object is transferred to RAM before execution. But a library file
on the card cannot be attached; for that the library object has to
be stored in port 0, 1, or 2.
But the calculator doesn't allow for an "ASCII" transfer (object
decompiled to command line editor form, optionally with character
translations) with the card that makes it easy to view, edit, or
write source code on the PC. For that matter, it doesn't allow for
ASCII transfers when using the Xmodem protocol either. I don't
know why; it would've been very easy to add these capabilities.
Anyway, I wrote my own UserRPL programs to make ASCII transfers
with the card (or Xmodem or plain "serial I/O", for that matter)
easier. Being UserRPL, they're fairly slow (expect a few seconds
to do a translation), but they do work, and they're easy for a
user to do any customization on. For these programs, see
I guess it depends on what you are specifically asking for. If there is a way
to get ones PC to recognize the HP49G+ as an SD card reader so you can just
drag and drop files via windows explorer, I would be interested. I believe the
provide Conn4x software just lets one access the calc's RAM, not the contents
of the SD card.
That would be nice, but as designed, any transfer using USB, IrDA,
or, on the 50g, the serial port, involves transferring the file to
or from System RAM, although via the underlying ARM processor.
This way they could reuse the routines written for previous models
instead of starting from scratch. I suppose that using HPGCC, it
might be possible to bypass using the emulated Saturn+ processor
and System RAM and access the card as if the calculator were a USB
SD card drive.
I suppose that an RPL program could be written to transfer
information about the card's file system via USB, and recall or
store files on the card via USB, but the file size would be
limited to what can fit in the available System RAM, and it might
be fairly slow.