I would like to put some equations that I use regularly onto my HP50g in the form of an RPL program on the SD card.

What I would like to do is write the programs on my laptop using emacs, and then put them onto the SD card that way. I've been reading the docs and hpcalc.org but there are a couple of gaps in my understanding:

Can I actually do this?

I would like to have the simplest setup possible. I don't want to have some big fancy-pantsy IDE. I would prefer just to use command-line tools if possible. Can I do that?

What format do the programs need to be in when I write them on the laptop? Plain text?

Do I have to compile them on the calculator or can I compile them on the laptop and move the binaries over?

You can install EMU48 with wine and convert any binary UserRPL in ASCII format to transfer it to SD card and reconvert it in UserRPL on HP 50g, alternatively you can write your programs/equations directly in ASCII format (using ASCII translation symbols) with any text editor as EMACS and send them to SD card as explained in:

I'm an electrical Engineer, with a specialty in designing radio's.
There are a couple of dozen equations that I use fairly frequently, and
I've programmed them into PEQEM rather than use Excel because of the
numeric solver and multiple equation solver that's built into the 50G.

Asciiflow (http://www.asciiflow.com/ ) is a useful website/drawing tool
that will create ASCII drawing for documentation. While it's not as nice
looking at a GROB, it's a lot faster to put together, and text is all
that PEQEM supports.

Since I like typing on a large keyboard as well, I use a SD card to hold
text files, and translate them on the calculator from ASCII format to
directories and variables. I've also developed a couple of utility
programs to assist with this, and I'll document them here. I use
AsciiBin (http://www.hpcalc.org/details.php?id=3648) to go from a text
string on the stack to HP50g executable objects. I've renamed
ASCIIBIN.49 to UZ on my calculator, just to make things easier to type.

First, the PEQUM Equation Directory. This is a cut down version of the
one I use, as that one is ~ 20k of ASCII. I use the @ as a comment
delimiter, and try to format equations so that they are readable. This
text file resides in the root directory of the SD Card.

*******************************************************************************
%%HP: T(3)A(D)F(.);
@ Collected directory of equations for PEQUM.
@ PEQUM:
@ Equations are stored in a directory
@ {Equations}.
@ Constants can enter directly
@ variable$ is a text note Can attach to variables or directories
@ Can also support subdirectories.
@ http://www.asciiflow.com/ is a useful website for creating some

*******************************************************************************
In practice, I recall this text file from the SD Card to the stack, and
then run UZ on it, to translate it to a directory. I can then "EVAL"
this, and the object on the stack will purge the old 'EQUATION'
directory and store the new one into the same one. Below is the program
that I use (from the home directory) to pull EQ02.txt and a Notes file.
The Notes File is a simple text file that I display using VV, which is
the text display part from ( http://www.hpcalc.org/details.php?id=7213).
When I update either text file on the SD card, I run this utility, which
I've named rclSD, to pull from the SD card and install on the
calculator.

*******************************************************************************
Recall from the SD Card. Stored in my home directory.

%%HP: T(3)A(D)F(.);
@ Utility to recall directory objects from the SD card
@ and put them into the {HOME DEV} sub directory. Each one of these
@ directory objects will purgedir of the previous version and then
@ store itself into that named variable.
\<<
PATH @ Put the Path on the Stack

PEQUM:
Equations are stored in a
directory {Equations}. RPL code
bkupeqn copies the equation to
the SD card, after running uz
on it. File name is eq.txt.
Once this is on a computer,
use EQ01.txt as the human
readable version to edit
and cleanup and then use
uz to recover the directory
object.