A review of the HP-28COM


By Mogens Jallberg.

Last week I had the opportunity to visit the inventor
of the HP-28COM Friedrich Schroeder. This is my opinion of
the invention.

The HP-28COM is a device which connects the HP-28S to a
PC via a RS-232 interface. It is bidirectional, i.e. it is
possible to store your programmes and data on a PC file, and
retrieve it any time you like.

The first thing Friedrich did when showed me the HP-
28COM, was to make a "memory lost". To say I was surprised
would be an understatement. To me a "memory lost" means
hours of wasted work, and at least as many hours trying to
reconstruct it. Friedrich merely typed in a simple #D0000h
SYSEVAL and a neat installation program, contained in a
PROM, installed all the necessary programs for the HP-28COM.
He was now able to restore programmes from a library on his
PC or even complete images of the RAM could be retrieved.
This was what I had always been dreaming of. It worked, it
was fast, professional, easy to use, and moreover it was
right there! Well, before I get to exited, I should give
you the review I promised in the headline.

The HP-28COM consists of 3 things:
The hardware
The HP-28 software
The PC software

First the Hardware. The interface is a little box with
a RS-232 connector in one end, and a wire with a plug to the
HP-28S in the other. In the HP-28S a small plug-in has been
installed, along with the PROM mentioned earlier. The PROM
contains more then 16Kb of programmes, and takes up only
about 1Kb of the HP-28S RAM, leaving you with almost 31Kb
left. The plug-in does not destroy the IR capability of the
calculator.

To install the plug-in and the PROM, the HP-28S has to
be opened, destroying any warranty. However Friedrich does
give the buyer one year warranty on his work. And frankly, I
have never heard of a HP-28S breaking down.

The transmission speed can be as high as 2400 bps. The
HP-28COM can also do 1200 bps, but I fail to understand why
anybody would prefer that. With 2400 bps it takes only 2.25
minutes to backup the entire RAM (see later).

The software for the PC is 4 different programs. One is
used to test the reliability of the connection and the other
three are powerful tools to use it. First let me explain.
Friedrich Schroeder has made two different ways to save
memory from the HP-28S to the PC. Either you can save any
object, including directories, by putting the name or a list
on the stack and run a save program. This will save it under
a given name, to a file on the PC. Or you can make a backup
of the entire RAM, including the clock unfortunately, and
save that into a PC file. This allows you to have RAM images
of several different tasks saved on the PC. The reason why
it is unfortunate that the clock is saved, is that when you
restore the RAM, the clock is set to time the image was
made.

The two PC programmes to use the selective save/load
facility are PCTO28 and 28TOPC. The names should speak for
them selves. The program used to backup the RAM is HPTOT,
which is also used to restore it. They are all very easy to
use.

Contained in the PROM mentioned earlier, are the coun-
terparts of PCTO2828, 2828TOPC and HPTOT programmes, plus
many more. The well-known FAST is there, as is DATE and TIME
programmes with calendar, alarm and similar routines, PEEK
and POKE programmes, and an extended work-space manager. All
of the i/o programmes are contained in a work-space (some-
thing similar to a directive, but better!) called IO. Along
with the above mentioned programmes, save and load, are
the two atomics on which all the i/o routines are based,
INSTR (get string from port) and OUTSTR (put string to
port). These can be used by the advanced user, to make her
own i/o functions, e.g. to connect the HP-28S to some other
device.

Also contained in the PROM is programmes, to give the
user a full xmodem capability. This means that the HP-28S
becomes the first calculator in word to have this ability.
For those of you who does not know, the xmodem is a very
popular file transfer protocol; supported by almost every
computer.

The receive and transmit functions works in a way very
similar to the save/load facilities (28TOPC and PCTO28)
already described. The puts an object, directory included,
or a list of objects on the stack and press the XMTR button.
First the calculator will pack the object(s), i.e. convert
it (them) into a string. This took about 5 seconds with a
directory containing 10 programmes of considerable size.
After the object(s) has been packed, the calculator will try
to establish a connection, through the RS-232 interface.
Once the connection has been established, the transmission
will begin. On the display, one is able to see how many
blocks and how many bytes, transmitted. Needless to say,
receiving data through the xmodem facility is very similar.

Friedrich demonstrated to me, how reliable the xmodem
connection was. He did this in the toughest possible way, by
unpluging the HP-28S during the transmission! The calculator
sounded a beep, but was otherwise unaffected. It waited
patiently for the connection to be reestablished, and as
soon as it found that this was the case, the transmission
continued as if nothing had happened - no data was lost.
Friedrich also introduced severe noise to the connection,
but even under extreme difficult conditions, not a single
bit in 10K bytes was corrupted.

The reliability of the xmodem is not an invention of
Friedrich Schroeder, I know. But I hope I have made t clear
the the xmodem programmes of HP-28COM, supports the relia-
bility with has made the xmodem so very popular.

Speaking about support. The xmodem programmes for the
HP-28S, supports the CRC checksum. Whether or not to utilize
it, the calculator figures out for it self. If the programme
at the other end of the connection requests it, it is
automatically provided. The user does not have to do any-
thing.

To determine if xmodem, or the specialized save/load
routines are to be used, a variable called XMD is used. It
must contain 1 for HP-28COM to use the xmodem option, and 0
otherwise.

The xmodem programmes also provides a few utilities and
atomics. By means these atomics, the user is allowed to
transmit or receive a given amount of bytes. This means
that, in theory at least, the calculator could be used as a
terminal. Of course the size of the display, or rather the
lack of size, makes the HP-28S a somewhat impractical termi-
nal.

However, it would be easy to write a small terminal
programme for the HP-28S to make possible to hook-up two
HP-28'S; being useful to announce what software and/or data
either side could provide, before sending it through xmodem.

As you probably know the RS-232 is a standard inter-
face. Theoretically the HP-28S can be connected to any com-
puter or similar device other than a PC as long as it has a
RS-232 port. But the need of software in both ends of the
line, means that programmes must be written to both
machines. This requires some programming skill to do, but if
you poses it the HP-28COM will not stand in your way. The
software that comes with the HP-28COM is for a PC.

The save/load facility allows you to build up libraries
of HP-28S programmes on your PC discs. This makes it mush
easier to exchange software between HP-28S owners than it is
today. Because it is possible to save and load any objects,
experimental data from practically anywhere can be put into
the HP-28S in a much easier, than if you had to type it in.
You can then use the advanced calculation facilities of the
HP-28S to manipulate the data, and put the results back into
the PC.

Another extra Friedrich added along with the xmodem
facillity was two programmes for a PC, which converts the
special characters used by the protocol into sequences of
ordinary characters. The special characters are introduced
because some of the characters in the HP-28S character set
are not in the ASCII set, e.g. the program limiters ">>"
and "<<". When a programme is saved on a PC, a listing of
it will reveal some strange characters, these are the char-
acters, to which I have just refered.

With the two "new" routines, that problem has been
solved. Now one should simply pass the programmes through
a filter to obtain a nice readable text. This also means
that programmers are able to use an editor on their PC when
writing the programmes. A big advantage in my opinion.

Apropos getting around. Friedrich told me, that the
HP-28COM has been finished since April 1989, but due to
problems with VM electronics, it has not been launched yet.
Tired of waiting, just like the rest of us, Friedrich has
decided to make the HP-28COM personally. He will start by
making 10 copies and send them to selected persons in Europe
and the USA, mainly leaders of HP user clubs. He plans on
starting the sale in a matter of weeks. The procedure will
be as follows. You send a HP-28S and $200. He will then
modify the calculator (probably in a matter of days) and
return it, along with the discs to the PC, the manual etc.

In general I thing the HP-28COM is a very powerful
tool. The programmes that comes with it are very good, and
is very professional made. The price is OK, it is neither a
bargain nor too expensive.

Especially the xmodem facility, makes the HP-28COM
powerful. It makes the HP-28COM open to all computer owners,
not only to pc owners. As it is the first handheld calcula-
tor with such a powerful data transferring ability, I hope
it will open the eyes to the engineer at Corvallis, and
Tokyo I might add. It introduce whole new aspects to the
genuine scientific use of a handheld mathematical computer,
like the HP-28S.

If you have any questions, problems, comments etc.
please email them to me. Unfortunately, Friedrich's access
to the net is very limited, and I have promised to receive
email to him as well.

Thanks for your attention

Mogens Jallberg.

P.S. I nearly forgot: the HP-28COM can only be used with a
HP-28S. Sorry HP-28C owners.

+--------------------------+-------------------------------+
! Mail: Mogens Jallberg ! Email: jall@diku.dk (uucp) !
! Rovsingsgade 17 ! !
! DK-2100 ! Phone: +45 31 29 78 83 !
! Denmark ! !
+--------------------------+-------------------------------+