[Long] Programming fun, and my calculator history Message #16 Posted by James M. Prange on 3 Mar 2004, 4:32 p.m., in response to message #15 by Wayne Brown
Quote:
I love synthetic programming, and that is the main
reason I chose a 41. I've been playing with learning RPL on my 48GX for
a while, but have a hard time staying interested; it just isn't
fun for me in the way that programming my 41CX is.)
I haven't any experience with synthetic programming, so I've missed out
on that fun. But if UserRPL isn't interesting enough for you, assuming
that you've got the basics of it down and are willing to have it crash
and even lose memory sometimes, maybe try SysRPL or even assembly
language on the 48GX. And a few of the folks at comp.sys.hp48 are
getting started at getting the 49g+ to access the underlying ARM
processor that the Saturn emulator runs on; that should be somewhat
"interesting" and even very useful, although I certainly expect some
"crashing surprises" before they get it all figured out and learn to
write really useful ARM code that works reliably on the calculator.
I suppose that the main reason that I like UserRPL is that it's so easy
to quickly write very useful ad hoc programs that (usually) work as
intended, even though very likely not optimal in size or execution
speed. And when I have the time to spare or just feeling like playing
around, I can write better optimized, or longer, more complicated
programs or whole directories (occasionally even as source code for
libraries) that do things that most people wouldn't expect a calculator
to be capable of. I guess that I really ought to try SysRPL programming
for programs that are frequently used and worth the effort of
optimizing, and just for the fun of it.
Well, I suppose that a lot of it does depends on which calculator the
user first "fell in love with".
The first electronic calculator that I ever used was a Canon that
belonged to one of my shipmates. It cost him a small fortune (for us),
had to be plugged in, had a Nixie tube display, and only did addition,
subtraction, multiplication, and division, not even square roots, but it
was certainly a marvel to us.
I have a TI SR-51A, but the battery life was a problem and the NiCad
battery pack required rebuilding all too often, so it's been dead in a
box with the disassembled battery pack for decades. I don't know whether
installing batteries into the battery pack yet again would get it
working. Maybe someday I'll give it a try, just to have a working
"collector's item" with an LED display.
I used to have a shirt-pocket-sized Sharp "scientific", and another that
included some statistical functions, but I gave those to my niece and
nephew when I stopped using them.
I have a Sharp EL-5520, a Radio Shack EC-4004 (rebadged Casio, I think)
keystroke programmable "scientific", and a few "4-bangers", all working,
but these are rarely used now except for maybe a credit-card sized model
that I carry for comparing prices when shopping. It tends to confuse me
every time that I use it; I really do wish for a relatively low cost
shirt-pocket-sized RPN model.
The cheap 8-digit "LLOYD'S ACCUMATIC 608 AUTOMATIC SHUT-OFF", still runs
on it's original batteries after more the 20 years, and the Radio shack
on the original battery after about 17 years, which amazes me every time
that I turn one of them on.
The first HP that I tried was a 28S. It took me maybe a minute to
realize that it actually worked the way that a calculator should work
and I quickly decided that it was a "must-have", even though it lacked
any way to input anything except by the keyboard, and I soon found that
the battery cover was a real pain, and never really liked the folding
design. I kept printouts of my programs attached to large index cards,
with notes about the sizes, checksums (the checksums obtained by using a
third-party program), any variables that they required, and any programs
that called them written on the cards. But the first time that I got a
low battery indicator and replaced the batteries, when I pressed the ON
key, the display momentarily flickered and went out. It turned out that
the "new" N cells that I'd purchased must've been "on the shelf" for way
too long; with a high-impedance voltmeter, they all checked well below 1
volt; just imagine what they'd be under load. Replacing the "new"
batteries with the old "low" batteries showed me "Memory Lost". Well,
that's one way to get rid of unneeded programs (of course most of them
were never put back into the 28S), and now I always use a battery tester
before putting any battery into any electronic device (and yes, I
occasionally find one battery out of the same package that checks
significantly lower than the others). But for all of it's faults, I
still think that the 28S is a good calculator.
Of course, almost as soon as the 48SX came out, with real I/O and
expansion card capability, and even more the common AAA cells, I bought
one. It's a big improvement over the 28S, particularly the I/O. I can
save anything on the PC, and write large programs with commented source
code in my text editor. But I don't understand why they removed the
catalog and, if I recall correctly, there were some other "backward
steps", and the "Programmers Reference Manual" was an added expense.
I eventually got a 48GX after it was available for a few years. Ok, it's
faster and has some additional commands and enhanced list processing,
but I'm used to using loops to "process" lists and already had an
equation library card, and the 48SX is fast enough for me. The system
flag browser is perhaps what I find to be the biggest improvement, but I
already had a program to display the system flag states and usage. The
character browser is nice too, but I already had an admittedly less
convenient but functional menu for the more "difficult" characters. Input forms can be
nice when several things have to be set for what I want to do, but in
general, I usually find input forms and especially "choose box" style
menus more of a nuisance to be avoided than a convenience. I don't know
that I've ever found anything that I can do on the 48GX that I can't do
easily enough on the 48SX. The documentation isn't as good as the 48SX,
although not too bad if you're already familiar with RPL and make the
extra purchase of the AUR.
I got a 49G when I saw one as a display item, but having mine turn on in
"ALG" mode was a nasty shock! Hey, the one on display worked! Who asked
for that nonsense? If I'd wanted something like that, I would've bought
a TI! Oh well, I soon found out how to easily switch it to "RPN" mode
and keep it there. The keyboard doesn't feel as nice, and I've had it
miss keystrokes, something that's never happened on my earlier HPs; not
often, but I consider any missed keystrokes to be a defect. The
lack of IR and expansion card capabilities are other shortcomings. The
way that it decompiles "NUL", """, and "/" is incompatible with the 48
series (and of course, binary transfers to the 48 series aren't
compatible either), although an improvement if the decompiled object is
to be used on the 49 series only. I do have some (I'm almost certain
workable) ideas on translating the results to be compatible with the 48
series; I've done it "manually", but any attempt to write a program to
do it is still on my to-do list. The OS still has far too many bugs,
even though HP could at least try to fix them and a new "ROM" can be
loaded into the flash memory. I sometimes get unexpectedly complicated
results; I expect from the "CAS" getting in the way, perhaps more so
when in "Exact" mode. Cursor movement keys that aren't shared with alpha
characters are an advantage, but moving EVAL and ' to a shifted key
plane and ENTER to a small corner key, for example, doesn't make any
sense at all. Some of the new commands, such as SREPL, UNPICK, NIP, and
PICK3 are a real advantage. Maybe math students might appreciate the new
CAS commands, but I have very little, if any, use for them. Yes, exact
mode and the (practically) unlimited length integers can be nice, but I
usually just want to get a simple numeric answer and 12 significant
digits is normally easily "close enough". Being able to use "styles" and
change fonts in a character string is cute, and so are greyscale grobs,
but they're just fluff to me. The documentation is disgraceful; it
doesn't explain well how to best use the calculator, and lacks complete
references for system flags and reserved variables (you have to go to
hpcalc.org for those), and the printed AUG doesn't document the
"non-CAS" commands. But at least the complete AUG can be downloaded at
no extra cost (save a little time online), the PDF files can be
searched, and printing them on an impact dot matrix printer isn't too
expensive, although certainly time-consuming.
I inherited the 16C. Yes, the binary integer functions are great, but it
lacks functions that I frequently use, and the binary integer
capabilities of the RPL calculators are almost always sufficient for my
purposes.
But just in case anyone's wondering, no, I'm not about to part with the
16C, or any of my other calculators, for that matter. Well, I might loan
or give some to my grandnieces or grandnephews, but they're special.
I bought a 28C with all of its manuals cheap on eBay, mostly out of
curiosity about how it differed from the 28S. Ok, I don't have any need
for it, but it does work and I rather like having it.
I'm a real sucker for new RPL calculators, because I purchased an early
production unit 49g+. It has some improvements over the 49G, but it
misses a lot of keystrokes, and that's a real disgrace. Yeah, I
know, just press "firmly", and just use some starter spray if my car
doesn't start every time. Well, it's on it's way to California at the
moment, and I hope that the warranty replacement actually does have a
reliable keyboard. Other than the defective keyboard, it's probably an
improvement over the 49G. Some of the more important keys have been
moved back to the unshifted key plane. IR I/O has (sort of) been
restored; it does work with the 82240A/B printers, but with the range
drastically reduced to 2 or 3 inches, and I haven't found a way to get
it to communicate directly with the 48 series. It does have IrDA
capabilities, but I don't have any other IrDA devices; I suppose that I
really ought to splurge and spend about $100 on a good (self-powered,
that is) RS-232 to IrDA adapter. The USB is a lot faster than the RS-232
style I/O, but can be used only with a USB host with the 49g+ drivers
loaded. I wish that they'd also kept RS-232 style I/O for communicating
with other devices. The SD expansion card capability is nice, and SD
cards are a lot cheaper (and much larger capacity) than the cards for
the 48 series, and they can be used for transfers to the PC. The files
that the 49g+ stores on the SD card are stored as compiled objects with
a binary transfer header, so getting a file suitable for editing in a
text editor to the PC is easier to do via USB, although with a few extra
keypresses, I can decompile/compile and translate the objects either way
on the calculator. The user's guide is better than the one that came
with the 49G, but an AUG with a complete command reference is lacking,
although the AUG for the 49G serves well enough.
And I've purchased a few extra used RPL calculators while they were
cheap, just in case the originals die before I do.
It seems to me that HP can never take a few steps forward with their
calculators without also taking a few (maybe sometimes more) steps
backward.
The 49 series are interesting gadgets to play with, but for any "real
work", I'll use a 48 series every time.
I occasionally use the 28 series for quick calculations, but I don't
use any large programs in them; it would be too difficult to restore
them if I should manage to get another "Memory lost".
I think that the 48SX is still my favorite calculator for getting any
work done, although the 48GX does come very close, and the 49 series
are, in some ways, more fun to play with.
Regards, James
|