craig-review

[ Originally published in Datafile, Vol 11 No 1, January/February
1992, page 24. ]
The HP-94: A Posthumous Review
by
Craig A. Finseth (member #???)
It is clear (to me, at least) that one of the three spiritual
ancestors of the 95LX is the HP-94 Handheld Industrial Computer.
There was a call for atricles on the 94 in DATAFILE V5N4, and this is
a belated response (possibly a record for such a delay: I am assuming
that no other articles have appeared since as I have not finished
reading my DATAFILE back numbers).
This is the first of four articles (DATAFILE editor willing). The
second article will describe the Collect-94 devlopment system, the
third the Collect-94 language, and the fourth the tale of Audax Corp
and its interactions with HP as it developed Collect-94.
Introduced May 1986
Price, 94D 1,395 (US$: I don't believe that it was ever released
outside the US)
94E 2,095
94F 2,795
CPU NEC V.20 (8086-compatible)
Memory, 94D 64K bytes, 1 expansion slot
94E 128K bytes, 1 expansion slot
94F 256K bytes, no expansion slots (A 94F is a 94E with
the 128K byte card installed at the factory. You
don't get a price break over buying them separately.)
Discontinued May 1987 (same price as at introduction)
Dimensions 14.6 cm (5.75 in) x
16.5 cm (6.5 in) x
3.8 cm (1.5 in)
Weight 680g (1lb 8oz) as measured on our office scale
Power NiCad battery pack
DC in jack for recharging the battery
DC in pin on the serial interface for recharging the battery
lithim cell for continuous memory
Battery Life 16 - 18 hours normal
10 - 12 hours of heavy bar code reading
Display 4 lines x 20 columns, 32 x 120 pixels, backlight-able, LCD
Real Time Clock
Beeper
/---------------------------------------------------------------|-------\
| | |
| HP Hewlett-Packard 94 | |
| | |
| |----------------------------------| | |
| | display | ON/OFF | |
| | | o | |
| |----------------------------------| <dial> | |
| | |
| | |
| A B C D */# - SHIFT | |
| | |
| E F G H/7 I/8 J/9 CLEAR | |
| | |
| K L M N/4 O/5 P/6 <- | |
| | |
| Q R S T/1 U/2 V/3 EN | |
| T | |
| W X Y Z/0 SPACE/00 . ER | |
| | |
| | |
\---------------------------------------------------------------|-------/
Connectors:
DC in earphone jack
/-----------------------------------------------|-------\
| | |
serial | | | screw
port | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | screw
| | |
\-----------------------------------------------|-------/
wand
port
Packaging
The unit is made of a medium dark gray glossy plasic (ABS?). Trim is
black (well, very dark gray). The front and back halves are separate
(fastened by screws). A rubber strip seals the opening between the
halves. Preproduction units have extra rubber flaps over the serial
port, earphone jack, and DC in jack. They were removed on production
units (by cutting them off with a scissors (:-)?) because users
thought that they made the unit waterproof. (Which is odd because
several other openings did not have the flaps.
Keyboard
The keys are rubber. The letters, "*", and "SPACE" are printed in
orange. The SHIFT key is solid orange with black lettering. Pressing
and releasing SHIFT toggles shift modes. The "o" by the ON/OFF key is
a paper-clip hole for the reset button. The ENTER key is two keys
high. Pressing and holding the SHIFT key for two seconds activates
the display backlight. It goes off by itself after two minutes (big
battery drain). The <dial> adjusts the display contrast.
Power
The "bar" on the right is the battery pack. It is removable. When
present, it integrates into the case. (Spare battery packs were HP
2430A for US$89.) The battery pack is held on with two thumbscrews.
These screws have coin slots (or you need a BIG screwdriver...) so
that they are flush when attached.
A recharger was available (HP 82431A for US$69). It was NOT included
with the 94. In addition, one of the pins on the serial port was also
used as DC in. Thus, you could (and someone did) build a "docking
station" that only needed the one connection for both serial
communications and recharging.
Ports
A serial port was built in. It used a DB15 connector. All of the
usual speeds and character formats were available. It accepted any
reasonable voltages but drove the lines at TTL levels (0V and +5V).
Hence, you had to buy as RS-232C Level Converter (HP 82470A for
US$240) if you wanted to talk with other computers. In fact, quite a
few could work directly with the TTL levels (but not anything made by
IBM). The level converter had a DB25 connector.
A wand port was also built in. It used a 5-pin DIN connector. HP
advertised it as requiring a "smart" wand and, in fact, supplied the
94 with a "software UART" to read the data. (A "smart" wand did the
bar code decoding and output ASCII text as standard serial data.) In
fact, the port was just the usual wand interface and one could (and
someone did) write bar code software that allowed the use of any wand.
Sound
A speaker was built in. In addition, there was a standard miniplug
earphone jack. Plugging the earphone in automatically disconnected
the speaker.
Handle
A detachable elastic strap could wrap around the battery pack end,
either on the side or the back. Thus, the device was suitable for
either right- or left-hand operation.
Expansion
There was was internal expansion slot. This slot essentially had the
8086 bus available. Access was through a cover in the back: the card
fit entirely inside. Standard cards available from HP were:
82410A 128K-byte Memory Board US$700[*]
82411A 40K-byte RAM card US$350
82412A ROM/EPROM card US$150
[*] HP lists this as a field service upgrade. Actually, there was no
difference between installing it and any of the other cards. Of
course, it is called a "board" and not a "card." The price may have
been US$695, in which case you paid HP US$5 EXTRA for them to sell you
a 94F instead of a 94E and 128K card (excuse me: board).
Markets
The 94 was aimed at the data collection and route accounting markets.
As a device, it was a little ahead of its time in both markets,
offering more power (CPU, memory, display size) than most existing
machines and, of course, a higher price. However, it was much easier
and cheaper to program than existing machines.
Its greatest failings were in its supporting products and efforts. It
lacked quality printers, modems, upload/download stations, waterproof
cases, carrying cases, and the other such things typically developed
by third parties.
It also "fell through the cracks" in HP's marketing divisions. The 94
was offered by the Corvallis divison, who were used to selling to
bookstores, EduCalc, and other such organizations. A typical 94 sale,
on the other hand, would take two years of lead time, require the
cooperation of a dozen vendors and involve thousands of units. (This
is covered in more detail in the fourth article.)
Software
The 94 has 32K bytes of ROM. This software provides a VERY primitive
file system, a very primitive command shell, a simple "BIOS" for I/O,
and a BASIC interpreter.
The file system allowed 4 character file names, supported three file
types (A: application (programs), D: data, H: (interrupt) handler),
and two to six directories, numbered from 0 to 5. Directory 0 is
always main memory. Directory 1 is RAM or ROM. Directories 2 to 4 are
ROM (if the ROMs are configured that way), and directory 5 is always
the system ROM. Files must be pre-allocated and are always
contiguous.
The command shell had these commands:
B#.# set baud rate and serial data format
Cfrom.to copy file[*]
D# list directory
Efile erase file
I# initialize directory
K keyboard self-check
L LCD self-check
M memory test
S start (run) an application
T set date/time
[*] if you omit either from or to, the serial port is used. Data is
transferred in Intel Hex format.
All error messages are numeric (e.g., error code 219).
The BIOS is simple and straightforward. It provides the functions
that you would expect.
The BASIC implementation is very strange. You wrote the program on an
IBM PC-based development system, then downloaded the tokenized form to
the 94. That isn't what is strange, though. The dialect of BASIC
implemented by the devlopment system is like no BASIC that you ever
saw. Between the weird dialect and the baroque development system, I
was never able to actually write and download a BASIC program.
But that is getting into the next article.