Re: An HP28S wakes up Message #10 Posted by James M. Prange (Michigan) on 15 Sept 2005, 10:38 p.m., in response to message #1 by GE
First off, I recommend that you have a look at the 28 series
reference materials, particularly Bill Wickes's "HP-28 Insights",
available on the Museum DVD if you don't have a printed copy.
http://www.hpcalc.org/ also has a lot of information on this
model, and of course the newsgroup comp.sys.hp48 is a good source
of information.
I agree that the battery cover is a poor design; I haven't had one
break, but that may be a matter of luck as much as a matter of
being careful. I have mixed feelings about the hinged design too.
As for N cells, they are used elsewhere, but they're unusual
enough that "new" N cells may have been in storage for a very long
time. To avoid a "Memory Lost" condition, I recommend that you
test the cells before inserting them into your calculator,
especially if they don't have a date code.
Quote:
While typing some programs, I ran into some problems : - No such
thing as a 'continue', once it is HALTed you can't restart the
program
Sure there is; use CONT, the "shifted" 1 key. Or just type in
CONT and press ENTER; it's a built-in command.
Quote:
- No access to local vars in called programs : if program A has a
local variable and calls program B, then B doesn't see the
variable. You need to pass it on the stack - hmm.
The compiler compiles a name as a local name only if that local
variable currently exists, or is defined as such in the source
code. A work-around: Suppose that your program 'A' defines the
local variable 'a', and you want the called program 'B' to use
'a'. Run a program like
<< "dummy string" -> a << HALT >> >>
Now enter (or edit or visit) your program 'B' which uses 'a'; this
way 'a' will be compiled as a local name. Finally, do a CONT to
finish the suspended program. This technique is easy enough, but
it's very easy to forget to use it if you decide to edit program
'B' at some later date. This technique works with the 48 and 49
series too. Starting with the 48G series, any name that begins
with a <- (left arrow) character is compiled as a local name, even
if it doesn't currently exist.
Of course you can pass the contents of the variable on the stack
instead.
Quote:
- STO+ can't do all what + STO can : no STO+ into local variables,
and for example {1,2} 'A' STO {3} 'A' STO+ brings an error
True enough, STO+ requires real or complex numbers or arrays, and
a global name, while + can take quite a variety of arguments, and
STO works with either a local or global name, but so what? The
"storage arithmetic" commands are intended to be rather special
purpose; STO+ is not intended to be a "short form" of + STO.
Quote:
- The program editor is horrible, starts in overwrite mode,
I prefer that editing start in insert mode, but note that
overwrite mode seems to be the default for quite a few editors.
Quote:
discards your nice indentation,
The source code that you type into the command line editor isn't
saved; it's compiled, and the resulting object is stored, thus all
separator characters (such as SPACE and NEWLINE) and delimiters
are discarded. To display an object on the stack, for editing, or
printing the object, it's decompiled, using separator characters
(and delimiters) as the designers thought appropriate.
If you want to save your source code, then write the program
within a character string. When you want to compile it, you can
use the STR-> command, or edit out the " delimiting characters
around the body of the string.
Quote:
doesn't go to the next line if you [->] at the last character of
the line,
??? So use NEWLINE (shifted SPACE key) when you want to go to the
next line.
Quote:
etc. Cursor keys being the same as menu keys is also bad.
Okay, and the cursor keys being the same as ALPHA keys on the 48
series is a bit of a nuisance too. Design decisions had to be
made; no doubt you or I would have decided differently on some
things, but I think that the designers made reasonable decisions
on the 28S.
Quote:
Other funny behavior includes : - UNITS catalog doesn't have base
units such as kg
I think that this calculator treats g (gram) as the "base unit"
for mass. While that doesn't agree with SI, it's easy enough to
insert a "k".
Quote:
- 'A+B' 'A' STO A doesn't crash. Then A EVAL gives 'A+B+B'. EVAL
again gives 'A+B+B+B' !?
Well, I'd certainly hope that it wouldn't "crash", but a "Circular
Reference" error (as on later models) would be nice. But even the
latest models don't catch all non-obvious circular references. In
some cases, a warmstart may be needed to stop evaluation of
a "circular reference".
Quote:
- 'SQRT 5' 2 + SQ EXPAN COLCT gives back a numerical result
17,94... instead of '4*SQRT 5 + 9'(where SQRT is the square root
character)
True, as documented, COLCT starts out by evaluating numerical
subexpressions.
Quote:
I still like the FORMS editor, it was powerful and a lot faster
than the Equation Editor on 48s.
I tend to agree on that.
Quote:
32 kb is nice to use. So I only wish this model would have
benefited from all the ideas that surfaced in the following years.
Well, that's the nature of the evolution of devices.
Quote:
However, this one was the real innovation, the 48/49 being IMHO
much less of a change in paradigm.
Actually, I'd say that the 28C was the real innovation; it
introduced UserRPL. The changes in the 28S and 48/49 series seem
rather minor in comparison.
Quote:
I think this machine deserves some space in the museum.
Well, it does have some space in the Museum; see
http://www.hpmuseum.org/hp28c.htm. But apparently some feel
that the RPL models don't belong in the Museum at all.
Regards, James
Edited: 16 Sept 2005, 2:21 a.m.
|