Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

HP28s vs. HP48

524 views
Skip to first unread message

James Gentles

unread,
Dec 23, 1991, 6:53:57 AM12/23/91
to
I have just moved from a HP28 to a HP48, I used the following articles,
posted some time ago to help me... (Warning.. this is long)
James
---------------------------------------------------------------------
I have no professional connection with Hewlett-Packard's
calculator operations other than as a user of their products.
---------------------------------------------------------------------
Opinions expressed are my own, and are not intended to be an official
statement by Hewlett-Packard Company
---------------------------------------------------------------------
James Gentles Hewlett Packard, Amateur: GM4WZP
Queensferry Telecoms Division QTD, Email: j...@hpsqf.sqf.hp.com
Station Road, South Queensferry, HPDESK: James Gentles / HP1400
West Lothian, Scotland, EH30 9XR. Phone: + 44 31 331 7663 DDI
---------------------------------------------------------------------

From: sjth...@cup.portal.com (Stephen J Thomas)
Date: Thu, 14 Mar 1991 04:15:03 GMT
Subject: Re: HP-28 to HP-48 changes

Following is a reference article I wrote a couple of months ago. It was
distributed at the Jan 1991 User's Meeting in Las Vegas which corresponded
with the WCES. On seeing the recent 28 -> 48 postings, I realized I
never posted it. It's about 6 type-written pages....under 16K.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


HP-28S TO HP 48SX TRANSITIONS
by Stephen J. Thomas

This article is a summary of functional differences of HP-28S
operations as implemented on the HP 48SX. It is not intended to
present all of the many improvements and new commands in the 48, but
is primarily an aid for 28 users who wish to use their previously-
developed programs on the 48. The comments on any given topic are
not exhaustive, but are quick summaries of operational differences.
Further reference should be made to the appropriate manual(s).

In addition, a number of non-programmable differences are
included, as well as a table showing differences in system flags.

I would appreciate receiving any corrections or additions from
the readers. My mail and email addresses are listed at the end of
this article.

[l-shft] and [r-shft] refer to the HP 48 orange left-shift and
blue right-shift keys, respectively. "sigma" represents the Greek
upper-case letter sigma.


GENERAL COMMENTS:

When a special display (message, plot, etc.) is created on the
HP-28S, it usually persists after program completion until a key is
pressed. Alternatively, the command CLMF may be included in the
program to resume the normal stack display when the program is
completed.

On the HP 48SX, special displays are normally cleared and the
stack (or graphics environment) display is resumed when a program is
completed -- unless the FREEZE command is included in the program.

The 48 does not contain the 28's R->P and P->R commands.
Instead, the calculator is set to one of rectangular,
polar/cylindrical or polar/spherical modes. This mode affects the
interpretation of complex numbers. Conversion is done by changing
the mode. The rectangular form is always stored internally; only
the DISPLAY of these values are converted when in a polar mode.

The 28 commands ARRY->, C->R, LIST-> and STR-> may be replaced
by the more general 48 command OBJ->, although the 48 does recognize
the 28 forms.

The 28's ALGEBRA FORM environment has been changed and is now
incorporated in the EquationWriter Application.

It is often possible to recover from accidentally PURGEing or
STOring into a global variable on the 48 via the LASTARG command.


The HP 48 menus are completely reorganized and renumbered. The
current custom menu list (or the name of a global variable containing
it) is stored in the variable 'CST', a distinct one of which may
exist in each subdirectory.

Custom input menus (created with STO as the first list element
on the 28) are not supported on the 48. The [l-shft] key can be used
to store directly into global variables displayed in the menu line.


The MENU command will accept any object as its argument and
store it in 'CST'. However, an error is generated if 'CST' does not
contain a list (or the name of a global variable containing a list)
when the custom menu is invoked. Specific pages within a menu can be
specified by the fractional portion of the argument -- for example,
12.02 refers to page 2 of menu #12.

In a custom menu, labels other than the key actions can be
specified -- with either a string or 21x8 graphics object. [l-shft]
and [r-shft] actions can also be specified.

The sixty-four user flags are represented by positive flag
numbers. The sixty-four system flags are represented by negative
flag numbers.

The PLOT system has been substantially enhanced, with multiple
plot types, increased functional abilities in the interactive
Graphics Environment, equation catalog, etc. Points are digitized by
pressing ENTER in the Graphics Environment. See the manual.
SPECIFIC OPERATIONAL DIFFERENCES:

ABORT -- Is not recognized by the 48. Use 0 DOERR.

AXES -- Can also be used to specify axis labels.

CENTR -- Also accepts a real number x corresponding to the point
(x,0) as the plot center.

CHR -- Some characters and character codes have been changed.

CLLCD -- Does not clear the menu line. In a program, must be
followed by 7 FREEZE for the blank display to persist.

CLMF -- Is not supported by the 48. See "General Comments" above.

CLUSR -- Is recognized with this spelling, but has been renamed
CLVAR, which can be placed in the command line with [r-shft] DEL.
CLUSR is "translated" to CLVAR in programs and lists.

COLsigma -- Is supported by the 48, but not listed in a menu. It
is replaced by the separate commands XCOL and YCOL in the STAT menu.

COMMAND -- (keyboard only) Renamed LAST CMD.

CONVERT -- Has been redefined to function in the new Units
Management System:
2: x_sourceunit CONVERT 1: z_targetunit
1: y_targetunit -------> (y is ignored)

C->R -- Is provided on the 48, operating similarly to R->C (and
[l-shft] 2D and V-> ). See R->C below.

DGTIZ -- Is not supported on the 48. Instead, the interactive
Graphics Environment is entered with the GRAPH command.

DISP -- Now accepts arguments 1 - 7. Must be followed by FREEZE
for the display to persist after program execution ends.

DRAW -- Does not erase previous graphics display before plotting.

DRWsigma -- Is not supported by the 48. It is replaced by
SCATRPLOT or SCATTER DRAW.

EVAL -- EVALuating a list on the 28 returns it unchanged. On the
48, each element of the list is EVALuated in turn.

EXGET -- Not present in the 48. It is replaced by the SUB
command in the interactive EquationWriter Application.

EXSUB -- Not present in the 48. It is replaced by the REPL
command in the interactive EquationWriter Application.

FACT -- Is recognized with this spelling, but has been renamed !.
Only the ! form is in a menu. ! requires postfix notation.

FIX -- In FIX display mode, real numbers are displayed with digit
separators, such as: 1,234,567.89 or 1.234.567,89 (depending on
the state of flag -51).

GETI -- Wrap-around indicated by flag -64 rather than 46.

IM -- Performs conversion to rectangular value if in a polar mode.

INDEP -- Can also be used to specify the plotting range of the
independent variable.

Integration -- Completely redesigned. Output uses the | (Where)
function. Stack usage is different:
4: Lower limit 1: Expression representing
3: Upper limit ===> integral (can be EVAL'd)
2: Integrand
1: Variable of integ Error stored in variable IERR

Algebraic syntax: $(lower limit, upper limit, integrand, name)
where $ represents the integral character.

KEY -- On the 48, returns a 2-digit rc (row-column) keycode to
level 2, rather than a string representing the pressed key.

LAST -- Is recognized with this spelling, but has been renamed
LASTARG. It is displayed as ARG in the MODES menu to enable/disable.
LAST is translated to LASTARGS in programs and lists.

LCD-> -- Returns a graphics object (GROB), not a string.

->LCD -- Argument is a graphics object (GROB), not a string.

MENU -- See "General Comments" above.

NEG -- Does not appear in a menu. Use the +/- key.

NUM -- Some characters and character codes have been changed.

OBGET -- Not present in the 48. It is replaced by the SUB
command in the interactive EquationWriter Application.

OBSUB -- Not present in the 48. It is replaced by the REPL
command in the interactive EquationWriter Application.

PIXEL -- Is not recognized by the 48. It is replaced by PIXON,
which accepts a complex number as a "user" unit coordinate, or a list
of two binary integers as a pixel coordinate.

PMAX -- Is supported by the 48, but is not in a menu.

PMIN -- Is supported by the 48, but is not in a menu.

PPAR -- Contains two additional elements: plot type & dependent
variable.

PREDV -- Is recognized by the 48, but has been renamed PREDY.

PRMD -- Not present in the 48.

PRUSR -- Is not supported by the 48. Use VARS PR1.

PURGE -- The contents of the PURGEd variable can be retrieved by
the LASTARG command when PURGE is executed from the keyboard.
Recovery is not possible when PURGE is executed from a program, the
command line, or when the argument is a list. Use PGDIR to purge a
non-empty subdirectory.

PUTI -- Wrap-around indicated by flag -64 rather than 46.

P->R -- Not provided. See "General Comments" above.

RCLF -- Returns a list containing two binary integers -- the first
representing the states of the system flags (-1 thru -64) and the
second representing the user flags (1 thru 64).

RCLsigma -- Is supported on the 48. Press [r-shft] STOsigma to
execute RCLsigma or place it in the command line.

RDX, -- Is renamed FM, (Fraction Mark) in the MODES menu.

RE -- Performs conversion to rectangular value if in a polar mode.

RES -- Accepts a binary value to specify pixel resolution (as a
real value does on the 28) or a real value to specify resolution in
"user" units.

RND -- On the 48, the value in level 2 is rounded as specified by
the level 1 value:
0 <= n <= 11 ---> level 2 value rounded to n decimal places
-11 <= n <= -1 ---> level 2 value rounded to n significant digits
12 ---> level 2 value rounded according to current display format
(as the level 1 value is rounded on the 28).
Also see TRNC (Truncate) in the 48 manual.

R->C -- Is provided on the 48. If a polar mode is set, the values
are converted to polar form for display. Also, if flag -19 is set,
[l-shft] 2D from the keyboard and the command ->V2 create a complex
number. In this case, however, if a polar mode is set, the real
values are interpreted as already being polar and are not converted
for display.

R->P -- Not provided. See "General Comments," above.

SCLsigma -- Is supported by the 48, but not listed in a menu.

SIZE -- Arguments which cause a "Bad Argument Type" error on the 28S
return the real value 1 to level 1 on the 48.

STO -- The previous contents of the global variable can be
retrieved by the LASTARG command to recover from accidental over-
writing performed from the keyboard. Recovery is not possible when
STO is executed from a program or the command line.

STOF -- If the argument is a single binary integer, it is
interpreted as the set of system flags and the user flags are left
unchanged. If the argument is a list containing two binary integers,
the first corresponds to the system flags and the second to the user
flags. See RCLF and "General Comments" above.

SYSEVAL -- To get the ROM version on the 48, do #30794h SYSEVAL.

TRAC -- Printer Trace mode is not directly provided by the 48, but
may be implemented using Vectored ENTER.

TYPE -- Returns values from 0 thru 31. On the 48, built-in
functions and commands return 18 and 19, respectively, compared to 8
on the 28.

UNDO -- (keyboard only) Renamed LAST STK and displayed as STK in
the MODES menu to enable/disable.

VAR -- Is supported on the 48, but not listed in a menu.

WAIT -- On the 48, arguments 0 and -1 interrupt program execution
until a key is pressed -- and then return its 3-digit rc.p
(row-column.plane) keycode.

+ -- If either level 1 xor level 2 contains a string, the other
object is converted to a string and they are concatenated.


Stephen J. Thomas P.O. Box 371861 El Paso TX 79937-1861
sjth...@cup.portal.com

FLAG TABLE

If there are no notations, the set and clear states function
similarly on the HP 48 as on the HP-28. S = set C = clear


Description HP-28S HP 48SX
---------------------------------------------------------------------
Last Arguments 31 -55
S = arguments saved S = arguments not saved
C = arguments not saved C = arguments saved

Trace Mode 32 Not supported

Auto CR Mode 33 -38

Solution Mode 34 -1

Constants Mode 35 -2
S = remain symbolic S = eval to number
C = eval to number C = remain symbolic

Results Mode 36 -3
S = symbolic S = numeric
C = numeric C = symbolic

Binary Wordsize 37 - 42 -5 - -10
Binary Base 43 - 44 -11 - -12

Multiline Display 45 -52
S = ML on S = ML off
C = ML off C = ML on

Index Wraparound 46 -64
Double Space Print 47 -37
Radix/Fraction Mark 48 -51
Display Format 49 - 50 -49 - -50

Beeper 51 -56 Error/BEEP Command
-57 Alarm Beep

Print Speed 52 Controlled by DELAY

Number of Decimal Digits 53 - 56 -45 - -48
Underflow Action 57 -20
Overflow Action 58 -21

Infinite Result Action 59 -22
S = error S = return +/- MAXR
C = return +/- MAXR C = error

Angle Mode 60 -17 & -18
S = radians C & C = degrees
C = degrees S & C = radians
C & S = grads

Negative Underflow 61 -23
Positive Underflow 62 -24
Overflow 63 -25
Infinite Result 64 -26

Stephen J. Thomas P.O. Box 371861 El Paso TX 79937-1861
sjth...@cup.portal.com
From Jak...@cup.portal.com Sat Mar 3 20:25:00 1990
Relay-Version: version Notes 2.8.2 87/11/24; site hpqtdla.HP.COM
From: Jak...@cup.portal.com (Jake G Schwartz)
Date: Sat, 3 Mar 1990 20:25:00 GMT
Date-Received: Mon, 5 Mar 1990 17:24:02 GMT
Subject: Re: Re: HP48SX versus HP28S
Message-ID: <27...@cup.portal.com>
Organization: The Portal System (TM)
Path: hpqtdla!hpsqf!hpcuhb!hpda!hplabs!hp-pcd!hp-sdd!ucsdhub!ucsd!usc!cs.utexas.edu!mailrus!iuvax!rutgers!bellcore!texbell!texsun!newstop!sun!imagen!atari!portal!portal!cup.portal.com!Jake-S
Newsgroups: comp.sys.handhelds
References: <7...@telesoft.com>
Lines: 274




HP48 Improvements over the HP28S
(A rough list in no special order)


1. I/O - Via serial cable- 1200, 2400, 4800 or 9600 baud.
2. I/O - Built-in Kermit protocol for objector directory transfer to and
from computers.
3. LCD - 8 lines by 22 characters, 64 by 131 dots.
4. Expandibility - 2 ports for plug-in RAM, ROM or OTP cards
5. I/O - 2-way infrared at 2400 baud. HP48 to HP48 comm. Other units IR
output to HP48 via software included in HP82208/HP82209 Serial
Interface Kit.
6. Keyboard - Single vertical-format keyboard. Hold in one hand and press
keys with the other.
7. Size - Narrower; easier to hold than the HP28, taller; approximately
the size of HP41 with card reader attached.
8. LCD - A bit easier to read than HP28 (bluish on yellowish)
9. Keyboard - ALPHA on same keyboard like HP41.
10. Keyboard - 2 shift keys - 3 functions per key plus 3 ALPHA functions
per key (with most ALPHA shifted not shown)
11. Keyboard - 15 common trig, log and exponentials on primary keyboard.
12. Keyboard - Left-shifted functions SWAP, DROP and GRAPH may be accessed
from the keyboard as primary unshifted functions in "normal" stack
mode.
13. General - 20 object types versus 11 in HP28S.
14. Documentation - 850-plus page user manual, quick reference guide
included with reference manual in the works.
15. General - Several messages and prompts to aid the user.
16. Memory - 32K RAM, 256K ROM built in. Add up to 256K of RAM or ROM
via plug-in cards. Max RAM is 288K.
17. Memory - RAM cards have battery backup with HP48 alerting user if
battery is low.
18. Memory - User can archive object, directory contents or whole machine
onto RAM card(s).
19. CPU - Saturn chip, 2 MHz, throughput approx. 50 percent higher than
28S according to HP.
20. Keyboard - "Last" functions: Command, Stack, Arg, Menu
versus Command, Undo, Last on HP28
21. General - Interactive stack editor mode for manually manipulating and
viewing the stack.
22. General - Equation Writer mode - Interactive graphic algebraic equation
entry, with connection to the RULES menu (equivalent to HP28 FORM
menu).
23. General - Interactive matrix editor mode - allows editing matrices in
a spreadsheet-like environment.
24. Statistics - Best curve fit of Linear, Log, Exponential, Power fits in-
cluded.
25. General - "REVIEW" mode for equations, variables, etc.
26. General - Rectangular to Polar conversion with 2-dimensional OR
3-dimensional vectors. 3D polar works in spherical or
cylindrical coordinates.
27. General - Complex number entry may be either rectilinear like the 28S
using parentheses, or polar like the 42S with the range and angle
on same line.
28. General - Decimal to fraction conversion via ->Q, ->Q#
29. General - Sigma notation (in equation writer mode) and execution.
30. General - "Where" function. ("f(x) where x equals....)
31. General - ARRY->, STR->, LIST-> replaced by OBJ-> function.
32. General - BYTES functions lists size and checksum of objects.
33. Units mode - Better than HP28... all units accessible via menus with
instant conversions by one button press.
34. Units mode - New UNITS object type attaches units to value for better
manipulation in stack, algebraics, programs, etc.
35. Time - Clock, calendar, appointments built in. Appointment calendar
program available in HP Serial Interface Kit. Stopwatch
functionality available through HP Serial Interface Kit.
36. Time - Alarm catalog mode for editing and reviewing.
37. General - TAGGED object type for labelled output.
38. General - DIRECTORY object type for aiding in moving whole
directories through RAM.
39. General - GRAD angular mode in addition to DEG and RAD.
40. General - Objects of like type may be organized for review or formed
into separate lists.
41. Solver - REVIEW and edit capability of all equations at a glance.
42. General - Increment and Decrement real objects capability added.
43. Solver, Plotter - EDEQ ("edit equation") added for direct equation
editing.
44. General - Implied multiplication allowed in equation writer mode.
45. Solver - Equation catalog maintained.
46. Solver - SOLVR menu may be customized to include other types of
functions frequently used in conjunction with the equation.
47. Solver - Multiple equations may be "linked" in the solver environment
for solution together.
48. Menus - When a menu key is a pointer to a submenu, the key label
contains an extra horizontal bar of dots above it as a visual
reminder.
49. Solver - In the SOLVR menu, the keys have 3 functions: (1)Pressing
the key enters the value into that variable from the stack;
(2)Pressing left shift and key label solves for that variable;
(3)Pressing right shift and key label recalls the variable's
value to the stack.
50. Integration - Addition of symbolic integration by pattern matching
for many integrands besides polynomials.
51. Menus - In the RULES (old HP28 FORM) menus, several functions have
shifted positions to add to functionality.
52. Time - alarms are of two types: (1)Appointment and (2)Control alarms
like that on the HP41.
53. LCD - In upper annunciator area, the full path to the current RAM
subdirectory is always displayed.
54. Menu - In spite of LCD being 6 dot columns narrower, HP48 does a
better job to fit 5 chars in menu labels than the HP28.
55. Menu - In VAR (RAM) menus, each key has 3 functions: (1)pressing
primary key causes object to be evaluated; (2) pressing the
right shifted key causes value of object to be recalled to the
stack; (3) pressing the left shifted key causes storage of stack
level 1 into the object.
56. Flags - 64 user and 64 system flags versus 30/34 for HP28S.
57. Flags - RCLF/STOF works with a LIST of 1 or 2 binary numbers for
system or both system and user-flag review.
58. Menu - The MENU function accepts value of 0 to 59 rather than only 1
to 24 for HP28S. Plus, adding a decimal fractional value dictates
which PAGE of menu should be displayed (e.g. 33.1 MENU takes you
to menu 33, first page).
59. Menu - Temporary menu ("TMENU") is a temporary custom menu that may
be created and used for a short time, after which the regular
CST (custom) menu returns active.
60. General - Programmable OFF command added. If encountered in a program,
the unit autostarts at the step immediately following the OFF step
when turned back on.
61. Printing - Compatibility with both HP82240B and HP82240A infrared
printers. ("OLDPRT" maps HP48 chars into old printer char set.)
62. Printing - Printing is possible to the serial port for serial 80-column
printers. Graphics objects may be printed to Epson-compatible
printers with software in the HP Serial Interface Kit.
63. I/O - ARCHIVE/RESTORE allows all of calculator RAM to be
saved/restored to/from a PC.
64. I/O - Low-level serial I/O commands available for other I/O use.
65. Memory - RAM card battery may be changed while plugged into HP48 so
contents are not erased.
66. Memory - RAM cards have a Read Only/ Read-Write switch to protect
contents if necessary.
67. Memory - Backup objects may reside in Port 0 (main RAM), or Port 1 or
2 (RAM cards).
68. Units - All units of the HP28S are included plus HA (hectares) and 25
additional commonly used compound units (such as cm, mm, ft^2,
etc).
69. LCD - A menu is ALWAYS up, in addition to 4 lines for the stack.
70. LCD - At top is a two-line status area, plus annunciators above that.
71. Graphics - Any number of equations may be plotted simultaneously via
an input LIST of plot equations.
72. Graphics - User may easily ZOOM in on an existing plot.
73. Graphics - Plot area may be larger than the screen, in a virtual
graphics memory area whose size is limited only by available RAM.
(One bit per pixel is used for storage.) Real-time scrolling of
the graphic image in the display may be done via the cursor keys.
74. Graphics - both graphics and text may coexist in memory and user can
switch back and forth between them.
75. Graphics - several plot capabilities - CONIC, TRUTH, PARAMETRIC, BAR,
FUNCTION, SCATTER, HISTOGRAM and POLAR plots available.
76. Graphics - Interactive graphics mode - for drawing boxes, lines,
points, arcs, etc.
77. LCD - Time and date may be in the display at all times if desired.
78. Graphics - capability to turn on or off any pixel, as well as to test
state of a pixel, OR, XOR pixels.
79. Graphics - new GRAPHICS object type added.
80. Graphics - System flag -30 allows optional plotting of both sides of
an equation at the same time.
81. Graphics - Move cursor near an intersection, press ISECT and the
coordinates of point are computed and displayed.
82. Graphics - Move cursor near a root, press ROOT and coordinates of
root of the function is computed and displayed.
83. Solver - The solver variables may contain unit objects.
84. LCD - DISP function accepts a line number of 1 through 7, leaving the
menu line unaffected.
85. LCD - FREEZE function allows freezing specific areas of the display
during program execution.
86. LCD - INPUT command prompts for input during a halted program with
several display options. Stack is protected; ENTER continues
program execution.
87. Keyboard - Key assignments are possible on the HP48, with up to 6
assignments per key (primary, left-shifted, right-shifted,
ALPHA, left-shifted ALPHA, right-shifted ALPHA).
88. Keyboard - While keys are assigned, the unassigned keys may
optionally have their standard functions disabled.
89. Custom Menu - "CST" is the custom menu reserved object name. A
different CST object may exist in each and every subdirectory
in RAM.
90. Custom Menu - The custom menu key labels may be optionally designated
to be different from the names of the objects that the keys
evaluate.
91. Custom Menu - The custom menu keys may each have up to 3 functions
(Primary, left-shifted and right-shifted functions), although
only the primary function would be labelled in the display.
92. Keyboard - Multiple custom menus are possible in any subdirectory
while having the currently desired custom menu object named CST.
93. Keyboard - several functions exist on the right-shifted keyboard of
the HP48 which are not labelled, such as CRDIR on the
blue-shifted PURGE key.
94. Keyboard - The HP48 contains slots inside the outer plastic edges of
the keyboard to hold a keyboard overlay.
95. Keyboard - The lower-case ALPHA letters are accessable via the
left-shifted ALPHA keys.
96. Keyboard - Both numbers and letters are active simultaneously on the
primary ALPHA keyboard without shifts.
97. Keyboard - The {, [, (, and << keys have become {}, [], () and <<>>
keys, placing both symbols into the display along with the
insert cursor in between so no unpaired delimiters are
accidentally created.
98. Keyboard - The cursor keys are dedicated primary key functions, which
are accessible at all times.
99. General - "UP" and "HOME" functions on dedicated keys allow movement
in user RAM subdirectories with greater ease.
100. Menu - In addition to NEXT and PREV functions, the right-shifted PREV
moves the user to the first page of the current menu.
101. Programming - DBUG function automaticaly starts a program object
running and halts it at the first step for SSTing.
102. Programming - SST| function allows SSTing through subroutine objects
called inside of a single-stepped program.
103. Programming - Addition of the CASE construct - as a multiple-way
branch based on specific logical conditions.
104. Programming - The editor environment allows optionally placing whole
control structures into a program in one key press. For example,
in the editor pressing IF places IF in the program, but pressing
right-shifted IF places IF/THEN/ELSE/END on four consecutive
lines and leaves the insert cursor just to the right of the IF
word.
105. Programming - In the SST/DBUG mode, pressing the top-row menu key
labelled "NEXT" causes the next 1 or 2 program objects to be
previewed in the status area without executing them.
106. Programming - PROMPT function halts a running program and displays a
message. The stack may be manipulated at this point, and
pressing CONT resumes program execution.
107. Programming - the WAIT function, in addition to instructing the HP48
to suspend a program for an amount of time in seconds, may also
optionally be used to wait until a key is pressed on the
keyboard, returning the keycode.
108. Programming - DOERR function allows a user-defined error condition
to be created so as to be trapped by the IFERR construct.
109. I/O - Graphics objects which have been sent to a PC may be converted
to TIFF (Tag Image File Format) format for displaying on the
screen or incorporating into other PC documents via software
supplied in the HP Serial Interface Kit.
110. Graphics - Text may be added to the graphics picture at the user-
specified coordinates in any of three text sizes (menu label size,
orignal HP28 size and new HP48 stack size). Characters may be
ORed with existing picture, XORed with the picture, overwrite
it, etc.
111. Graphics - Graphic objects may be placed onto other graphics objects
at the user-specified coordinates via the REPL, GOR, GXOR functions.
112. General - A substring or sublist may be substituted into another string
or list at the user-specified position via the REPL function.
113. General - Revised RND function which rounds value in stack level 2 ac-
cording to digit number is level 1. New TRNC function truncates the
value in level 2 similarly to RND.
114. General - User-defined functions may be defined algebraically and stored
via the new DEFINE function. This is equivalent to defining using
the program structure which takes arguments from the stack and places
them into temporary variables with the "->" command.
115. Menu - New RCLMENU function returns the number corresponding to the
current page of the currently displayed menu (see item 58 above).
116. Graphics - After selecting an X-axis display range, the new function
AUTO will evaluate the current equation at 40 equally spaced x
values in the X range and choose an appropriage Y axis scale.
117. Graphics - The new DRAW function will draw lines between plotted points
on the graph.
118. Graphics - One may have the graphics cursor (in the manual graphics
environment) alternately be always dark, or to be dark on a light
background or light when over a dark background.
119. General - When entering a matrix into the command line (as opposed to
the Matrix Writer), after entering the first line and stepping past
the inside closing row delimiter, no more delimiters are needed.
The delimiters are all added automatically when all data has been
entered and ENTER has been pressed.
120. Graphics - Graphics objects may be printed to the HP82240 printer.
Those objects which are wider than 166 columns across are printed
in sections separated by a dashed line.
121. Display - Individual numbers in the stack are displayed with commas sep-
arating every three digits.


Jake Schwartz

From bru...@telesoft.com Fri Mar 2 23:48:49 1990
Relay-Version: version Notes 2.8.2 87/11/24; site hpqtdla.HP.COM
From: bru...@telesoft.com (Bruce Bergman @quasar)
Date: Fri, 2 Mar 1990 23:48:49 GMT
Date-Received: Mon, 5 Mar 1990 17:24:03 GMT
Subject: HP's new calculator, the HP-48SX
Message-ID: <7...@telesoft.com>
Organization: TeleSoft, San Diego, CA.
Path: hpqtdla!hpsqf!hpcuhb!hpda!hplabs!hp-pcd!hp-sdd!ucsdhub!ucsd!telesoft!bruceb
Newsgroups: comp.sys.handhelds
Keywords: new calc, hp-48sx, rumors
Lines: 182

Since no one else has posted information on the new HP handheld, I
thought I'd help out by sharing what I know about it. I am a little
surprised no one has mentioned anything about it (have I missed it?)...

Anyhow, this comes from personal, first-hand knowledge of the calc,
seeing as how I have touched and spent about four hours playing with
it. I think HP won't be too mad if I talk about, because it's expected
to be announced this next week (06-Mar, I think).

It's called the HP-48SX and looks a lot like the 42. It is NOT a fold-
out calculator. It has only one keyboard and lies just like the 42.
This may explain why the number is 48 instead of 29 or something like
the 28 series. At first, I expected to be a little hampered by not
having the extra keyboard, but after a while I didn't miss it and will
probably ignore it after a weeks use. It would be nice to have the
fold-out cover for protection, though.

The screen is eight lines and has the look of the 28S. Four of the lines
are devoted to the stack, one to menus, two to error messages and one
very small line for status information and icons (well, I call them
icons; you'll see why in a second). The status line and icon line are
very physically close together. The icons that appear are things like an
hourglass while the calculator is thinking, an alpha symbol when you have
selected the alphanumeric mode, etc. The status line says things like
where you are in the directory structure, what mode you are in (algebraic,
radians, etc) and if you are using that option, the date and time. Below
those lines are the error message lines and stack. The stack is labeled
just like on the 28S. The menu bar also resembles the 28S.

The keyboard is different than most anything else HP makes, but nothing
seemed really tough to accept. I've been a 41 junkie since the first week
they were sent out, so I accepted the concept of having to shift "into"
and "out of" alpha mode, but that isn't requiried, as you can also shift
into alpha mode for one character only. The alpha key is two keys above
the power key. Kinda like this:

| -Enter-
|
| a ( <-- symbol for 'alpha')
|
| <-| <== pointing to left hand side
| and bottom corner of calc.
| |-> (digit keys over here)
|
| ON
+--------------

The shift keys above the ON key are like the 'f' and 'g' keys of old, but
they are now just called left and right shift. They are orange and blue
(of course) and correspond each key. A lot of the alpha keys aren't
labeled on the calc, not even on the back. You have to know them or
look them up. The whole alphabet resides on the keys on the top half
of the keyboard (all above the -Enter- row). You can get lowercase letters
by pressing <alpha><left-or-right shift><key>. A little weird, but you
can get used to it.

The calculator has several "subsystems" which HP refers to as "applications"
or something like that (sorry about some of this information -- only four
hours with a new calc and an excited reviewer leaves some thing fuzzy!).
Like the 28S, it has the ability to solve equations (the EquationSolver),
do calculus, integrals, etc. It also has a new application called the
MatrixWriter which appears to be a spreadsheet-like application, but it
"feels" like it can only be used for multiple matrix calculations. What
led me to call it a spreadsheet is it's appearance (rows, cols) and that
you can take the data from it and graph it as bar graphs or pie graphs, if
line graphs arent' interesting.

It has a time subsystem, with complete alarms and date/time functions. The
manual suggests setting an alarm for a year from the time you buy the calc
so that you can check battery life. I thought that a cute touch. If you
want, you can put a small time and date on the screen (real-time) on the
status line. Alarms can be acknowledged or not, and can store whole lines of
information along with it. You can review alarms easily. I am unclear as
to whether you can perform actions upon an alarm event.

There is a "units" subsystem which allows you to convert between many
different units (including bases) and does so kinda like the 28S. There is
another subsystem for plotting and graphics which appears to be quite
expanded. And I know the big question you are all waiting for:

Can you turn a pixel off? Sorry, I dunno. There was a sample program in
the manual which animated a little man and caused him to march across the
screen, so it appears SOME sort of better graphics are available. The
program just declared a hexvalue which described the image and then moved
the man across the screen, moving his little legs. Cute. With the
enhanced plotting features, I feel that the answer must be yes.

The plotting function is pretty cool, but I'm not sure how often I'll
do things like draw pie charts on the screen. A simple program in the
manual automated the drawing of pie charts a lot! When you solve an
equation, you can press a keystroke or 20 and get a graph of the function
on the screen. Much better resolution than the 28S, of course. It appears
that the images previously plotted are "stored" and I often hit a spurious
key and found myself plotting over the old image that I created 20 minutes
ago and thought I deleted.

Other aspects of operation are about the same as the 28S, although I am
sure I missed something that you'll undoubtedly nail me for when the
thing gets announced. Maybe someone else can fill in the blanks.

As for physical components, it includes a send and receive IR subsystem.
The intent here is to place two 48SX's facing each other and transfer
programs back and forth. Pretty darn neat! Next to the IR interface is
a four prong ugly looking connector. It is the only visible connector
when the IR/RAM card slot cover is in place. It is the interface to the
IBM-PC. I assume the connections are send, receive, request to send,
clear to send. I am unclear as to whether a special cable is needed or
if you can just hack one up. I know they are selling a connection
package for $60 which I assume must include the cable, some software
for communicating and possibly a program for editing and syntax checking
on the PC before downloading.

Below, on the bottom of the calc is two slots. They are very flat and
slightly slanted upwards into the calc. They appear to be about two inches
tall and about an inch and a half wide. These are the slots for the RAM
cards. Sorry, the 48SX doesn't take 41C modules... RAM cards are
available in two sizes: 32K and 128K. The 32K card costs $80 and the
128K card costs $240. The base 48SX comes with 32K RAM/256K ROM and
the ability to expand up to 288K RAM. The RAM cards can be used in one
of two ways: as seamless contiguous memory and as partitioned memory
(kind of like different disk drives or mounted partitions). The most
common use of the RAM card (in my opinion) will be as a backup device
for the memory. I intend to buy one just for this purpose.

You can have two RAM cards in the 48SX at one time, and both must be of
the same memory configuration (e.g., you can't mix seamless with the
separate partitions). The RAM cards are battery-backed-up and are good
for about a year once the battery has been installed. It uses a little
flat calculator/photo battery. Oh, the 48SX itself uses three AA batteries
in the bottom of the calculator.

Also available will be a RAM card which allows one to emulate the 41CV
(or, I assume, its later cousins). I don't remember the price. There
is also a "demo card" which does something for $15. I would guess that
more RAM card applications will become available soon. There was no mention
of printers, so I assume it must work directly with the IR printer.

The PC link is controlled by Kermit, and includes a full Kermit protocol
implementation, including a new mode called "archive" mode. If you don't
want to buy a RAM card for backup, you can archive your calculator into
the PC via the link. Sorry, I couldn't find information about how fast
the transfer rate is, but heck, we're talking only 288K here. You can
also selectively upload files or programs.

The manuals are divided into two Owners manuals and there is a reference
to a programming guide, but I didn't find one. It could be something that
they didn't include to some testers. The owners guide is divided into a
manual for usage and for the subsystems and one for programming and
advanced topics. I noticed HP is still going away from the concept of
RPN (much to my dismay) and while you can still program and calculate in
the RPN style, most, if not all, of the examples were in algebraic notation
and included parenthesis, et al.

The whole package (manuals, calc, whatever) is typical high HP quality and
the calculator feels really comfortable in your hand. It seems a little
heavy, but that is probably due to the case and the AA batteries. The LCD
is easy to read, just like the 28S. No backlight, tho. ;^)

EduCalc is taking orders. They expect delivery of their first shipment
in mid-to-late March, while everyone else I've talked to is expecting
delivery in May. The list price will be $350 and the EduCalc price is
$274.95. They also want $195.00 for the 128K RAM card. They know less
about the calc than you do (now) and have only heard of the calc and
the one RAM card. They expect to get more information and announce it
in their next catalog (probably May).

I bought mine -- when are you going to get yours?! :^)

Hope you folks found this informational. Sorry about the sloppy english
and spelling; I'm just too lazy today to fix it and figured y'all wouldn't
mind when it comes to rumors.

thanks,

bruce
--
att! \ crash!--\ TeleSoft (bru...@telesoft.com)
ncr-sd! \ \ 5959 Cornerstone Court West
>--ucsd!---->--telesoft!bruceb (Bruce Bergman N7HAW)
nosc! / / San Diego, CA. 92121-9891
ucbvax!/ uunet!--/ (619) 457-2700 x123
All opinions are my own. Have you hugged your horse lately?

From Jak...@cup.portal.com Sat Mar 3 20:18:30 1990
Relay-Version: version Notes 2.8.2 87/11/24; site hpqtdla.HP.COM
From: Jak...@cup.portal.com (Jake G Schwartz)
Date: Sat, 3 Mar 1990 20:18:30 GMT
Date-Received: Mon, 5 Mar 1990 17:24:03 GMT
Subject: Re: HP's new calculator, the HP-48SX
Message-ID: <27...@cup.portal.com>
Organization: The Portal System (TM)
Path: hpqtdla!hpsqf!hpcuhb!hpda!hplabs!hp-pcd!hp-sdd!ucsdhub!ucsd!tut.cis.ohio-state.edu!rutgers!bellcore!texbell!texsun!newstop!sun!imagen!atari!portal!portal!cup.portal.com!Jake-S
Newsgroups: comp.sys.handhelds
References: <7...@telesoft.com>
Lines: 169

Okay, now that the cat is obviously out of the bag.....

The New Hewlett-Packard HP48SX:
A Calculator for the Computer Age


On March 6th, 1990, Hewlett-Packard announces the HP48SX, the much-
rumored new top-of-the-line scientific calculator to take the place of the
HP41 series as the "king of the hill." This $350 (list price) unit
contains as much RAM (32K bytes) and twice the ROM (256K) as the HP28S.
The super-twisted nematic LCD is 64 by 131 dots, allowing up to 8 lines of
22 characters of text to be displayed. The CPU is the familiar Saturn
chip (used in virtually everything from the HP71B in 1984 up to the present)
running at 2 megahertz. This is twice the speed of the '28S, although
throughput is estimated by HP to be only 50 percent faster due to
increased overhead. The keyboard is HP42S-like, with two additional 6-key
rows on top, totalling 49 keys including gold, blue and ALPHA shift keys.
Key labelling is a white primary function on the key, gold and blue
shifted functions above the key and a white ALPHA symbol to the right of
the key. The ALPHA keyboard contains gold shifted and blue shifted symbols
but they are omitted from the calculator face so as to reduce clutter.

As far as expandability is concerned, there are two ports on the back
for plug-in cards. At introduction, HP is offering 32K RAM cards for $79.95
and 128K RAM cards for $250, both with battery backup. ROM cards will
come in the same sizes as RAM, with the first two offerings being a 128K
"Solver Equation Library" card (latest rumored price - $99.95) and a
Surveying Card (size and price yet unknown). Up to 256K bytes of RAM/ROM
may be plugged in at any one time. This gives a total of 544K, however
since the address space of the CPU is limited to 512K, a 32K block of the
operating system and the built-in 32K RAM block are bank-switched. This
288K RAM upper limit represents a nine-fold increase over 28S memory and
an approximate 120-fold increase over the RAM in the HP41 with full main
memory (or 40 times the HP41 with full extended memory). In addition,
customizable one-time programmable "OTP" cards will be available as well.

On top of the HP48 under the port cover is a pair of bulbs for two-way,
2400-baud wireless (infrared) communications capabilities. As well as
being able to use the HP82240A/B infrared printer for hard copy, the unit
will talk with another HP48 and can also receive printer output from the
other HP handhelds with IR output (with the aid of additional software
available from HP). In addition, another 4-pin connector attaches to an
optional cable which facilitates serial uploading and downloading at 1200,
2400, 4800 or 9600 baud to/from a computer. Hewlett-Packard is also
starting up a free computer bulletin board system to support the handhelds.
All you pay for are the phone calls to Corvallis, Oregon.

The calculator comes with a carrying case, two-volume User's Guide
and quick reference guide. An extensive Programmer's Reference Manual in
the works is scheduled for a Summer release. The User's Guide is over 850
pages long and steps through the major aspects of the machine with
examples along the way. At the very beginning is an extensive step-by-
step demonstration of many of the new, powerful features. Reading
further, it quickly becomes evident that "this is NOT your father's HP
calculator!" In fact, there are probably as many features on the HP48 that
represent improvements over the HP28 as the HP28 has over the HP41. A
rough list of over a hundred items was generated after only a single pass
through the manual.

In addition to the HP28-like menus and top-row soft keys, the '48
allows complete keyboard redefinability through key assignments. There
are slots inside the plastic side edges of the machine to hold a keyboard
overlay. Up to six possible assignments per key may be simultaneously
active - the primary key, gold-shifted, blue-shifted, ALPHA-shifted, ALPHA
plus gold-shifted and ALPHA plus blue-shifted positions. While in HP41-
like USER mode (or alternately in HP71B-like "1USR" mode) the unassigned
keys may be designated to have either their standard functions or be
totally disabled. Keys may be assigned either manually or under program
control. The custom menu capability on this machine is also greatly enhanced.
The system-reserved object CST holds the custom menu; and a different CST
may reside in each and every subdirectory in RAM. Also custom menu labels
may be named differently than the objects they evaluate. Finally, the
custom menu may contain different primary, gold-shifted and blue-shifted
assignments in each key position.

The built-in functions of the HP48 are organized differently than on
the HP28C/S, presumably to save positions on the actual keyboard. While
the 28 has roughly 23 menus accesible directly from the keyboard, the '48
places only 16 main menus on key positions, with several of these
containing submenus. (There exist approximately 70 menus on this machine,
all told.) A new convenient feature to identify whether a menu key label is
a pointer to another submenu is the appearance of a single short horizontal
bar in the LCD above the label. This carries through to RAM subdirectory
labels as well; a badly needed feature missing on the HP28. Since 15
popular log, trig and exponential functions reside directly on the
keyboard on key row number 4, the LOGS and TRIG menus of the HP28 are
eliminated. Most of the math functions are located on 6 submenus under
the "MTH" menu key. Programming functions formerly on the HP28's CONTRL,
BRANCH and TEST menus hide in the HP48 submenus of the same names under
the "PRG" key. Other menu keys on the upper keyboard do things like
printing, I/O, memory management and display modes. Lower down on rows 6
and 7 are six more menu keys SOLVE, PLOT, ALGEBRA, TIME, STAT and UNITS.
(Yes, this machine has clock, calendar and alarm functions.) These all
lead to other submenus on the way to the remaining hidden functions.

The UNITS area is radically changed from the HP28S 1-unit-per-screen
philosophy to something closer to that on the HP19B financial machine.
The units are organized into categories (LENGTH, AREA, VOLUME, TIME, etc.)
with multipage menu choices underneath. Pressing a specific unit key
attaches that unit to the value in stack level 1 to create a unit object.
(The HP48 handles all the HP28 object types, plus nine new ones.) Thus,
if a 1 is in the stack and the "FT" key is pressed, the "1_ft" object is
generated as a result. At this point, pressing another length unit
will automatically convert from feet to the other unit and show the
correct numerical unit object (such as 12_in). Several other unit-
conversion features exist which are too numerous to mention here.

The solver environment is enhanced in a number of ways. First, the
REVIEW key allows one to review all the equations in the current RAM
directory at a glance, with paging down through those which don't fit in
the initial display. In addition to the solver menu variable keys
allowing input to and solving for the individual variables, one can also
recall the value of an individual variable to the stack if desired.Also
there is a simple way to simultaneously view the current value of all the
variables in the solver equation at any time.

Plotting has had major revision, not the least of which is the new
larger LCD on which to draw graphs. An interactive plotting menu
(which turns on or off in graphics mode) allows among other things, zooming,
scale changes, axis labelling, and root and intersection solving (with the
coordinates of the point in question displayed at the bottom of the
screen). Text may be added from the stack to the graphics picture in 3
different sizes. The screen memory is always present with the capability
to alternate back and forth between graphics and stack display mode.
Eight different types of plots (function, conic section, bar chart, scatter-
gram, parametric, "truth" plots, polar and histogram plots) may be drawn.
Lastly,and possibly most significantly, the graphics "picture" in RAM may
be larger than the 131 by 64 LCD itself, with its size only limited by
available memory. Once the PICT object size is defined, plots may be
drawn and LCD-sized portions may be viewed, zoomed, etc. However, when the
interactive plot menu is deactivated, the keyboard cursor keys magically
transform into window-moving keys, allowing dynamic manipulation of the
display like a window over the graphics picture. Additional HP software
allows the full-sized plot to be sent over the serial port to an 80-column
Epson-compatible printer or uploaded to a computer and converted to tag
image file (TIFF) format for displaying on full-sized PC screens or
incorporation into desktop publishing documents.

Through either the wired or wireless serial ports, uploading of objects,
directories or the entire contents of RAM may be performed via the calculator's
built-in Kermit protocol. Sending data in binary mode is fast and compact,
however using ASCII mode in conjunction with a PC allows the information to
be read and modified on the computer. Software development takes a step
forward by allowing the developer to do all his or her initial work on the
computer keyboard and screen before downloading to the HP48 for testing.

While programming the HP48, users of the HP28C and HP28S will pretty
much feel at home. Virtually all the HP28 programming concepts are retained
in the new machine, with the addition of features like the CASE construct,
more user and system flags and various others. The 1987 HP28C introduction
had only a relative handful of people switching from HP41 "FOCAL" language
to the newer RPL, but most considered this non-I/O, non-expandable unit to
be merely a temporary tangent from the main stream. Then a year later, the
intro of the HP28S with its greatly expanded RAM turned proportionately more
peoples' heads. It still seemed however, that the majority of users resisted
learning RPL. Now that the HP41 is history and the HP48SX far exceeds
anything else in capability, it is my feeling that the rest of the HP
calculator user community will suddenly begin to sit up and take notice. A
large percentage will be learning RPL and its new user interface for the
first time on the HP48. To the old RPL hands, the neophytes will seem two
steps behind, but finally there will be a good reason to take RPL seriously.
The good old days may return not necessarily with users training other users
in synthetic programming and advanced concepts but with introducing the
nuances of the unlimited-height RPN stack, of algebraics, plotting, arrays
and lists, etc. It shall indeed be interesting in the next several months.

Jake Schwartz
L
From d...@Apple.COM Tue Mar 6 07:34:10 1990
Relay-Version: version Notes 2.8.2 87/11/24; site hpqtdla.HP.COM
From: d...@Apple.COM (Dan Allen)
Date: Tue, 6 Mar 1990 07:34:10 GMT
Date-Received: Tue, 6 Mar 1990 14:44:16 GMT
Subject: HP-48 Comparison Test
Message-ID: <39...@apple.Apple.COM>
Organization: Apple Computer Inc, Cupertino, CA
Path: hpqtdla!hpsqf!hpcuhb!hpda!motcsd!apple!dan
Newsgroups: comp.sys.handhelds
Distribution: comp.sys.handhelds,comp.sys.hp
Keywords: HP-48SX, calculators, portable computers, handhelds, HP
Lines: 603


HP Handhelds of the 1980s: The HP-75, HP-71, HP-28, HP-42S & HP-48SX
By Dan Allen 6 March 1990

One year ago (almost to the day), I compared the four major portable
computational devices that Hewlett-Packard introduced during the 1980s: the
HP-75C, HP-71B, the HP-28S, and the HP-41/42S. This list is not exhaustive
but is representative of the four major thrusts towards portable scientific
computation that were accomplished in the decade.

A new decade has dawned, and with it Hewlett-Packard introduced on March 6th a
new top-of-the-line HP calculator, the HP-48SX. The HP-48SX stands for
Scientific Expandable. It is a blend of the HP-28S and the HP-41CX, hence its
moniker. HP has gone back to its original vertical-style calculator case;
indeed, the 48SX looks like an HP-42S, although a bit longer and fatter. Gone
are the poor display and case of the HP-28! But the great software remainsI...

Here are the basic hardware specs:
* "Saturn" CPU at 2 MHz, nibble-oriented 20-bit bus, 64-bit registers
* 256 KB of ROM
* 32 KB of RAM, expandable to 288 KB
* 2 slots for RAM/ROM expansion (main memory, ROM applications, backup RAM)
* Infrared bidirectional IO up to 9600 baud for printing & IO to other 48s
* Serial port for 9600 baud communication with a PC or Macintosh
* 49 keys: 4 rows of 6 keys followed by 5 rows of 5 keys (like HP-41/42)
* 131 x 64 pixel LCD display (3 font sizes)
* 3 AAA batteries

The display allows the four level stack, a row of softkeys, and a status area
all to be displayed at once. The status area displays the current PATH, and
optionally a continuously updated display of the current date and time, as
well as other messages when appropriate. The display contrast is better than
the 28S and 42S.

Here is a comparison of these machines by the number of features and functions
that they offer. The machines are listed chronologically by date of
introduction. This evaluation has merged some of the features compared to
last years comparison, so both tests are shown in the table below:

# of Functions HP-75C* HP-71B* HP-28S HP-42S HP-48SX
----------------------------------------------------------------
March 89 Test | 325 284 252 221
March 90 Test | 286 268 247 200 353

* - Note: the HP-75C includes the Math and I/O ROMs, while the HP-71B includes
the Math and HP-IL ROMs for this comparison.

A most important fact is to be seen from this table: the trend prior to the
HP-48SX was declining functionality. A prediction from linear regression
would have the fifth generation machine have 180 functions, but instead it has
over 350!

This year our review will be divided into twenty categories: binary, complex,
control, display, files, graphics, IO, keys, logical, math, matrix, memory,
number theory, printing, stack, stats, strings, symbolic, system, and time.


----------------------

BINARY NUMBERS
This category includes all bit-level operations as well as working in
different bases. The 75C's I/O ROM provided a great set of functions for
shifting, rotating, ANDing, and ORing ASCII strings, HEX strings, and
converting from any base to any base. The 71B provided very little
functionality in this area, and limited its BINAND type functions to 20 bit
integers, which was not too useful. The 28S featured a variable wordsize up
to 64 bits, but the range of its operations was somewhat limited. For
example, there are 8 different functions for rotating and shifting in various
ways when 2 would have offered the basic functionality. Meanwhile, there is
no facility for simply testing if a bit is set.

How does the 48SX stack up? Well, it is almost exactly the same as the HP-
28S, so this is one of the few areas that is still somewhat weak in the HP-48.
There is still no facility to do bit testing in a simple way. Binary numbers
take precedence in a calculation, with a real and a binary always resulting in
a binary number. Unfortunately binary numbers are not automatically converted
to reals, so all transcendental operations are not allowed on binary numbers.
You must use B->R beforehand.

The biggest shortcoming of the HP-48's binary arithmetic is that it does not
support any signed binary numbers. Binary numbers are always unsigned, so the
typical question "what is $FFDE in decimal?" will always be 65502 rather than
-34 in 2's complement or -33 in 1's complement. The HP-48SX is better than
the 28S in that it does allow you to use the +/- key (similar to the 41/42 CHS
key) to calculate the negative value (an invalid operation on the 28S), but
#65502d +/- with a word size of 16 yields #34d, the 2's complement of #FFDEh
but with the wrong sign. A step in the right direction...

I guess the saddest fact is that all of the HP machines are still short of the
HP-16C in functionality, and now that the HP-16C is no longer made, there is a
real need for progress here. None have the masking, left justify, carry flag,
and complement modes that the HP-16C had. The good news is that now that we
can create plug-in cards, a lot of the HP-16C like functionality can be added
to a card. Wouldn't it be neat to be able to buy a 68000 card that emulates a
68000 and its instructions? The HP-48SX offers the ability to do something
like that. Until someone does, hold on to your HP-16C!

WINNER: Those that have an HP-16C are the winners. Next runner up is the
48SX.

----------------------

COMPLEX NUMBERS
Complex arithmetic as a new data type was first found on the HP-15C. The BASIC
machines then got complex arithmetic with their Math ROMs. The 75C was the
most awkward, as complex numbers were 2x1 matrices. The 71B, and consequently
the 28S, used a set of parenthesis to specify a complex pair, which was much
better. The 15C and 42S required the use of two of the stack registers to
input a complex number, but once it was input it then occupied just one level
of the stack. The 75C and 15C offered all trig functions and their inverses
in complex mode, but then the 71B came along and the inverse complex trig
functions were gone! The 28S, 42S, and 48SX have brought them back, however.
The 71B and 75C had the finite Fourier transform built in; it has been absent
on all later models. The 71B would not take the determinant of a complex
matrix: all others will. The 71B did, however, support IEEE math and complex
numbers; all others do not. The 71B and 75C also supported PROOT, a full
polynomial root finder with real and complex roots. Although the Solver of
the 28S and 48SX is nice, it will not deliver all of the roots of a polynomial
equation. Using TAYLR and ROOT one can obtain the real roots, but PROOT is
still sadly missed in the 48SX for complex roots.

For ease of use, the 28S and 48SX are very good when dealing with complex
numbers. The 42S offered the display of complex numbers in either rectangular
or polar coordinates, a most welcome feature that gives a real feel for 2D
vector analysis. The HP-48SX has combined the 28S and 42S to bring these fine
features together. In addition, this functionality has also been extended to
2D and 3D vectors, with cylindrical and spherical coordinate modes shown as
well.

Gradually complex numbers have become first class citizens. Taking the square
root of a negative number used to be a grievous error that stopped programs in
their tracks. Now the 48SX always allows complex results from real functions,
so SQRT(-1) always is a valid operation, returning (0,1), as it should be.

WINNER: Although I miss PROOT, FOUR, and IEEE complex math, the HP-48SX still
is the best complex machine in town. In fact the HP-48SX quite possibly is
the finest complex arithmetic environment around, on any computer. (The only
other environment which may approach the 48 for its good treatment of complex
math is perhaps the Common Lisp environment.) If you need to do complex math,
get an HP-48SX. You will not regret it.

----------------------

CONTROL STRUCTURES
The early machine offered little in the way of structured control constructs.
Although HP's BASIC has been one of the better BASICs around, the 75C and 71B
seem primitive, as does the 41/42 style of RPN programming. The 28 and 48
style of programming is definitely a giant step forward.

RPL, as it is called, stands for Reverse Polish Lisp. Indeed, reading the
Common Lisp language reference with its many data types does remind one of RPL
and its 20 different object types supported on the 48SX. The SX is a step
forward from even the 28S in that it offers a CASE statement, typing aids for
inserting a whole statement template, and better debugging. Lists provide a
very versatile way of handling information.

So is RPL ready to compete with C and Pascal? Well, RPL handles the following
basic data types:

Booleans: 0 = FALSE, non-zero = TRUE
Numeric types: 64-bit unsigned integers, 12 digit reals
Strings (any length) of 8-bit characters (no separate char type)
Symbolic names (local and global)
Graphics object (1 bit per pixel bitmap)
Algebraic expressions
Programs

Composite data types include:

Tagged objects (any object with an associated label)
Unit objects (a real with an associated physical unit)
Complex numbers (a pair of real numbers)
Arrays of reals or complex numbers (1 and 2 dimensions only)
Lists, composed of elements of any data types, including lists
Directories, composed of a hierarchy of objects, including directories
Backup objects (like a directory but with a checksum)
Library and XLIB (two extensible code types)

Many of the RPL data types, such as lists, algebraics, and programs, are very
powerful and have no counterpart in traditional programming languages like C
or Pascal. They are in fact what make symbolic math possible. However, RPL
is still somewhat limited: it does not have any record, set, or enumerated
data types; arrays are limited strictly to real numbers; and there is no
signed integer type. Pointers are absent, but this is probably no great loss,
as pointers are the data type equivalent of the GOTO statement and cause many
programming errors. Like many LISP systems, dynamic memory allocation is
standard, with automatic garbage collection, so there is no need for malloc-
like dynamic allocation.

WINNER: The HP-48SX is clearly the most sophisticated programming environment
of any HP handheld so far. RPL and lists provide a very powerful environment.

----------------------

DISPLAY
The HP-75C still has the widest display yet offered on an HP portable; ensuing
machines had terrible displays, with the 28S and 42S being very poor in
display quality. The 48SX is a step forward at last, with a nice, readable
display of up to 10 lines (depending on font size). However, the RPL machines
are very poor when it comes to formatting output. Yes, they do have the STD,
FIX, SCI, and ENG modes which the 75C did not have, but there is no equivalent
of C's printf. The 70 series machines had DISP USING and IMAGE statements
which allowed many formatting options (almost as many as printf); they also
supported multiple display devices, including regular monitors via HP-IL.

As far as menus go, the 70 series had none, which was not all bad. The 42S is
an improvement on the 28S with it automatically popping back out of a menu
after you have used it, but menus still are slow to use. The 48 is
unfortunate in its having 28-like menus rather than 42-like menus. The on-
line listing of parameters to 28S functions is laudable, and is also missed in
the 48SX.

Having said all that, the 48SX does greatly improve on the 28S, with better
control of menus (MENU,TMENU,CST), freezing parts of the screen (FREEZE), and
prompting for input (INPUT, PROMPT, WAIT).

WINNER: Again the HP-48SX comes in number one, but the competition is not too
stiff here. Add a printf/scanf set of routines and more fluid handling of
menus, and then you would have a real winner.

----------------------

FILES
The 75C and 71B supported a flat file system. The 28S and 42S do not support
any files whatsoever. This is a major weakness of the new machines. (The 28S
hierarchical directories are only for variables.) The 75C I/O ROM provided a
full set of operations for dealing with records and fields in a file. And of
course only the HP-75 had a nice text editor built-in for manipulating text
files. Its built-in FIND was particularly nice.

The HP-48SX, like the 28s, does not have a file system, per se. Its variables
are arranged in a hierarchy, but variables do not have any date, time, access,
or privilege information maintained by the system. The 48 does add operations
to backup, archive, and restore its directories of information, which is very
handy. Still, there is little protection from yourself. Variables are always
purgeable and writable, for example. The HP-71B allowed files to be made
read-only, something that can be done on a 48SX only moving something into a
RAM card and then setting the external physical switch to read-only. It must
be pointed out that the main use of the HP-48 is supposed to be mathematics,
not as a database, but darn it, I want to keep names and addresses with me as
well.

WINNER: The HP-75C is still the best HP portable for note taking, small
databases, writing notes and brief letters. Its support for file, record, and
field IO was decent; all others since have been abysmal.

----------------------

GRAPHICS
The 75C had none. The 71B offered bit-twiddling, but with a uselessly small
display. The result was laughable. The 42S graphics were very slow, too
small, and generally worthless as well. The 28S had the first passable
graphics due to a higher display. Its ability to plot an equation or a
scatter plot of data provided actually useful capabilities. The 48SX has a
display twice the height of the 28S, and its functionality has likewise been
more than doubled. The 48 also adds a few interactive drawing tools for
drawing lines, rectangles, and circles.

WINNER: Clearly the HP-48SX. Although it is not a Macintosh yet, its tools
are well crafted for the plotting needs of scientists and engineers. The HP-
48SX is a solid step forward.

----------------------

INPUT/OUTPUT
The 28S and 42S only support the O of IO, and that in a pretty dismal way.
The 75C and 71B both tried to make HP-IL a success, but to no avail. HP-IL
effectively was a closed system due to its being hard to interface to the
outside world.

The 48SX has bi-directional IO via infrared or serial ports. The HP-48SX
contains a built-in Kermit application, for easily moving information to the
world of personal computers today. Its use is incredibly simple: plug a cord
into the back of your Macintosh or PC, plug it into the 48; run Kermit on the
Mac, say send or receive file, and press the opposite on the 48 IO menu, and
everything is done. I did it the first time in about 1 minute. And 48 to 48
communications are even easier, as you just point both of them towards each
other and presto, the data is magically exchanged. Basic serial primitives
are also supported, so you can roll your own protocol if you desire (as long
as RS-232 can deal with it).

WINNER: The HP-48SX is a clear, significant step forward in this area. This
is the way computers are meant to communicate: fast, easy, and transparent. I
do, however, miss the LAN aspects of HP-IL. It was much more sophisticated in
what it could do (remote controllers, parallel polling, etc.), but alas, HP-IL
is gone.

----------------------

KEYBOARD and KEYS
The 75C keyboard could be touch-typed upon. Nothing since has had that
ability, including the 71B QUERTY keyboard, due to its use of calculator keys.
The folding 28 keyboard was the worst case design yet; the 42S the perfect,
slim, well built keyboard. Key entry of strings on the 42S was a nuisance at
best. The 48SX has an alpha lock like the original HP-41, which is actually
quite good. The 48 case design is very good, and considering the immense
amount of functionality, it is even better. The 28S was pretty weak in its
ability to poll the keyboard; the 48SX is better with its extended WAIT
command.

The 75C and 71B had user definable keyboards. The 28S had no keyboard
customization. The 42S had some, but not like the original 41. The 48SX has
brought back the completely user definable keyboard. Also latent in the 48SX
is the ability to define a custom version of the ENTER key via flag -63. This
intriguing capability is nowhere further explained, so it is something that
can be explored in the coming months.

WINNER: A hard call: the 75C still has the best keyboard feel, but the 48SX
does a good job packing lots of functions onto its keyboard.

----------------------

LOGICAL OPERATIONS
The progression in functionality of logical operators has been one in which
each succeeding model has been better than the past. The 75C had the basic
Booleans; the 71B added flags; the HP-48SX is identical in functionality to
the 28S and 42S in both its support of the full range of Boolean functions as
well as flags.

WINNER: Three-way tie for first by the 28S, 42S, and 48SX.

----------------------

MATH and ARITHMETIC
This category includes the basic mathematical operations that are built-in.
The number of operations has stayed relatively constant until the 48SX came
along. Some machines have included a few simple operations which are not
really needed but which are handy. The 75C alone had CSC, SEC, and COT; the
75C and 71B had LOG2 (VERY handy and missed in later machines); the 28S and
48SX have %, %CH, and %T. Starting with the 71B machines had LN(1+X) and its
inverse EXP(X)-1. Although these seem unneeded at first glance, they are
invaluable in offering a special degree of precision that is needed for
solving financial equations. The trig functions are quite similar overall;
minor differences include GRAD mode and polar display mode on the 42S and
48SX.

When the 15C was introduced, it added to the repertoire of a scientific
calculator four new features that bring together much of numerical analysis:
complex arithmetic (covered above), matrices (covered below), root finding,
and numerical integration. Root finding has progressed greatly from the
original machines to a full-blown solver that incorporates symbolics in order
to find the variables of an equation. The Solver of the 28s was the first
solver in this symbolic league. The 42S Solver is not as sophisticated as the
28S Solver in that it does not rearrange terms and solve the resulting
equation directly as the 28S does, but the 42S did add a nice touch: it shows
the convergence/divergence of guesses as it goes. At first glance the 48SX
Solver omitted this handy feature, but it turns out a key press will enable
it.

Integration was fairly straightforward on the 75C; it got better with the 71B,
as double and triple integration was supported. The 28S was pretty good; the
42S was a small step backward (awkward interface); the 48SX perhaps the
easiest, as the EquationWriter application allows a very simple entry in a
typographical manner. Integration with the 48SX can also be symbolic, and
although its built-in pattern matching does not cover lots of cases, it is
still a nice step forward.

One last area of note is unit conversions. The 28S was so neat in having all
of the metric conversion constants built-in. The only problem was that using
these constants was awkward and a pain at best. In fact, using the
conversions was so bad that no one uses them. Well, the 48SX has done an
about face, and its unit conversions are so slick it is hard to think of ever
solving another physics problem without a 48 at hand. Units stick to real
numbers with the underscore character and can flow through equations, plots,
etc. Dimensional analysis is performed along the way as a double-check on the
proper use of equations. I am sure you will see this feature appear on HP's
less expensive machines in the coming years, and by the end of this
decade/century, all scientific calculators will have unit conversions as
standard equipment. They are just too useful to not be.

WINNER: The HP-48SX. Even if it only had unit conversions it would be the
winner. Add to them the mature, full featured Solver, integration facilities,
and a nice set of standard math functions, and you will find a machine that
scores very close to a perfect 10. (Add LOG2 and I'd give it a ten.)


----------------------
MATRIX MATH
Probably the purest form of "number crunching" is doing array manipulations.
The 15C introduced some basic array handling, but input of array elements was
a pain. The 75C and 71B offered some pretty heavy duty capabilities, but they
too had an entry problem. The 28S allowed you to see all of say, a 3x3
matrix, but getting quickly to elements in a large matrix was slow. The 42S
added a nice matrix editor for interactive editing of a matrix which evolved
into the 48SX MatrixWriter application for a mini-spreadsheet view of a
matrix. (Of course the HP-75C had a Visi-Calc ROM that provided a 42S-like
view, but that is another story.)

As far as individual matrix operations is concerned, the 42S is interesting in
that it allows any math function to work on a matrix, so that taking the LN of
a matrix actually takes the LN of each element, as an example. The 28S/48SX
instead say that taking the log of a matrix does not make sense, so the
operations are invalid. I think I would prefer the 42S method...

A few other useful functions have been spread across various machines: the 75C
could create vectors of row and column totals (RSUM, CSUM), give an LU
decomposition (LUFACT), and either transpose or conjugate transpose a complex
matrix. (All other machines only do conjugate transpose of a complex matrix.)
All have the DOT product operation; all but the 71B offer the CROSS product.
The 75C/71B allowed SHORT elements and INTEGER matrices so matrices did not
take up as much room. The 15C, 28S, and 48SX offer a residual function. The
42S has a few other nice features: it can insert or delete or swap rows of a
matrix programmatically, and it has a unit vector function.

As far as programmatically manipulating the individual elements of an array,
call me old fashion if you want, but the simple array subscripting of BASIC
still seems simpler than having to create an algebraic expression in RPL. And
having to check a flag when using GETI and PUTI on the 28S and 48SX is not as
nice as just incrementing a pointer to array elements, like on the 42S. RPL
still needs a bit of work with arrays.

The 48SX revision A has a bug: it can only invert arrays smaller than 10x10.
This is too bad since it is the only one with enough memory to really deal
with large arrays, not to mention the IO ability to get data into the machine
in the first place.

WINNER: The 75C, 42S, and 48SX all have nice features that the others do not.
However, there is no clear winner, as each has major shortcomings as well.

----------------------

MEMORY
The 71B wins in the realm of being able to manipulate memory in any way you
want. It has built-in PEEK, POKE, and ADDR$. (Actually the 28S, 42S, and
48SX probably have these capabilities built into their undocumented
debuggers.) Variable arithmetic is provided for in the 42S, 28S, and to a
greater degree in the 48SX. The 48SX also has a BYTES function which
checksums and gives the size of any object. Both the 71B and 48SX provide
memory partitions. Both the 71 and 75 allowed different sizes of variables,
including INTEGER, SHORT, and REAL.

WINNER: HP-48SX.

----------------------

NUMBER THEORY
This category considers the operations that relate to parts of numbers, such
as modulo, as well as to the IEEE standard of arithmetic with its insistence
upon the proper handling of rounding, infinity, and exceptional conditions.

To put it succinctly, the 71B was superb, being the only HP handheld to fully
conform to the IEEE standard. Unfortunately, all machines since have thrown
out most of the work put into the 71B.

The 71B offered 3 different types of modulo operations, for example. The 71B
offered different rounding modes, and supported NaNs (Not A Number),
infinities, and infinity arithmetic. Exceptions were flagged, and could also
be trapped on. Denormalized numbers were supported; relational comparisons
handled unordered relations; signed zeros were supported; several constants
were built-in to specify machine limits.

Now some of this functionality survives today in the 28S, and to a greater
degree in the 48SX. But the loss of the 71B meant the loss of a very special
machine. The only other source of truly conforming IEEE machines is Apple's
Macintosh, and the Macintosh Portable still has a lot of weight to lose to
become a handheld.

WINNER: Those that have HP-71Bs are the winners. Those that do not have one
are the losers. The tragedy is that HP had the technology and threw it out.

----------------------

PRINTING
71 and 75 were good, as they supported real printers. The toy infrared
printer supported by the 28S, 42S, and 48SX is neat only because it does not
need a cord. Fortunately the 48SX also supports a serial interface, so you
can use your 48SX to drive your Apple LaserWriter if you want! The 48SX is
also great because you can transfer all your information to a Macintosh and
then use a LaserWriter there, which is what I do. The 48SX offers a few more
flags to control various aspects of printing when compared to the 28S.

WINNER: HP-48SX.

----------------------

STACK
The 28S has a lot of stack operators, which is necessary due to the language.
The 42's operators are sufficient for RPN. Stacks are automatically handled
internally by the 71 and 75. The 48SX builds upon the 28S by having an
interactive "point and shoot" stack mode, which is quite handy.

WINNER: HP-48SX.

----------------------

STATISTICS
The 75 had relatively little support for stats, the 71B a bit more, adding
linear regression. The 71B curve fitting ROM, however, offered a tremendous
amount of power. The 28S introduced several different probability
distributions, of which the Normal distribution should be on all machines.
(It was on the original HP-27!) The 42S has done the best job of generalized
curve fitting, with its BEST fit function. The 48SX added the BESTFIT
function to its statistics functions, and that combined with its graphics
plotting ability makes it the machine of choice for statistics. Many new
types of charts have been added, such as histograms, that make routine
statistics easy. It would be nice to add a user specified custom model to the
set of models to be fitted to your data.

WINNER: For built-in stats, the HP-48SX is the best statistics machine yet.
Although the 71B Curve Fitting ROM and Statistics ROMs offered more power,
that same functionality can appear in a HP-48SX ROM someday, and with much
better graphics. For stats, the 48 is great.

----------------------
STRINGS
By far and away, the HP-75C with I/O ROM is the string manipulation king. All
of the other machines provide just a few very simple functions. The 75 did
mapping, trimming, underscoring, shifting, finding, replacing, spanning,
filling, you name it. These functions were very handy for manipulating text
and printing it. This went along well with the 75's record and field
manipulation tools. The 48SX could use a String/File/IO ROM.

WINNER: HP-75C. No contest.

----------------------
SYMBOLIC
Only the 28S and 48SX do symbolic manipulation. The 48 improves upon the 28S
by doing more symbolic integration, decimal approximation, separating an
equation, and offering its EquationWriter application for entering formulas,
fractions, etc. These capabilities are further strengthened by the ability to
break trig functions down into their logarithmic basis, and by arbitrary
expression/pattern matching. Maple on the Macintosh is a bit faster (well,
okay; a lot faster), but that is mainly due to hardware, not software. Still
the 48SX has grown into a fairly sophisticated symbolic tool.

WINNER: HP-48SX. No contest.

----------------------

SYSTEM
This is the miscellaneous category for debugging and beeping and other system
types of things. The 75C and 71B were tied here, with a password lock,
programmatic ways of turning on and off the machine, and with a flexible tone
generator. The 48SX needs the password lock. It does not offer a continuous
ON function, although for a battery only machine this is no great loss.

WINNER: 70 Series machines.

----------------------

TIME
The HP-80 began it all with the ability to do date arithmetic. Then the HP-45
added HMS conversions. Then the HP-55 added lap timers. (Actually the HP-45
had a hidden timer.) Then the HP-41 had its Time Module, incorporating date
arithmetic, lap timers, and appointment alarms. It was awkward to schedule
appointments, but had great lap timers down to 1/100 second.

Then the 75C came along with its superb time and appointment modes. Simply
input 7 AM FRI and it would figure out which Friday you meant. Schedule an
appointment for the 1st Friday of each month, no problem. Make it repeat
every year, no problem. Its calendar spanned 9999 years. Yet you could not
do date and time arithmetic, or do HMS conversions. And its 9999 programmable
timers were awkward to use.

Then there was the 60 second disappointment. The HP-71B had a built-in clock
but no alarms, timers, or HMS conversions. It was supposed to get a separate
Alarm ROM, but it never appeared.

Next the 28S and 42S showed up without built-in clocks, but with HMS
arithmetic and conversions. No timers, no alarms, no date arithmetic.

How does the 48SX fare? Well, not too bad. It has date arithmetic; it has
time arithmetic, and HMS conversions. It has about an 8400 year calendar. It
has a real-time clock, even with a continually updated display. It can return
the system time to a resolution of 1/8192 of a second. It has an appointment
mode with repeating alarms. It can set and clear alarms from a program, like
the 41 Time Module. It certainly is the best overall, but it lacks three
features:

Lap timers (for splits like the 41 Time Module)
Time calibration (EXACT like the 75C/71B)
True appointment scheduling (like the 75C)

This last feature is very important. What it means is that you cannot use the
48SX to set appointments of the style, "first Friday of the month", "the 15th
of the month", or even birthdays. You see, the 48SX only repeats by a fixed
number of seconds. It does not know about months. Yes, it can schedule an
appointment every so many minutes, hours, days, or weeks, but not months, and
there lies the tragic flaw.

WINNER: Well, if you have a 75C for appointments and a 41 with Time Module for
timing events, you have the best of all worlds, except for the fact that you
have to carry two worlds with you. The 48SX is the best in one case, but it
needs improvement.


----------------------

SUMMARY
What to take to a desert island? For computer science, a 16C; for time and
strings and files, a 75C; for IEEE math, a 71B; for math and stats and
graphics and programming and symbolics and IO, a 48SX. If I had to have one
machine, it would be the 48SX and I would write a custom ROM to improve its
appointment mode and matrix handling, add IEEE math and a 68000 emulator for
binary operations, and a bunch of file/string handling routines for handling
and indexing text.

In the meantime I am deliriously happy with the HP-48SX anyway. Thanks go to
Bill Wickes and the whole team for a great machine. Just think what they'll
be able to do with 512 KB of ROM...

Dan Allen
Apple Computer

John Michael Denune

unread,
Dec 28, 1991, 12:12:29 PM12/28/91
to
Thanks to all who responded to my query about the differences between the
28S and the 48 series. The overall consensus was that the 48's are much
better than the 28S, and I tend to agree. I bought a 48SX and I am still
being amazed by the things it can do!

Thanks again,

---John Denune
jde...@saturn.sdsu.edu

0 new messages