edp@jareth.enet.dec.com (Eric Postpischil (Always mount a scratch monkey.)) (03/08/91)
I'm curious about the changes from the 28 that HP made in the 48. Some of these are obvious, like the change in the integration parameters (needed to handle symbolic integration) and the ability to recall directories. But some are a bit more subtle. On the 28, doing something (like plotting) that caused PPAR to be created caused the 28 to scan the equation and select the first variable as the independent variable. On the 48, X is always assumed. Why did HP make this change? One guess is that algebraics can now contain local variables (because of the "where" and integration operators), so the first variable seen is not necessarily a free variable of the expression. Is this why they made the change? Another change is that storage arithmetic has been generalized. It used to be that STO+ would accept only certain objects to be added (real and complex numbers, I think). Now any objects acceptable to + are acceptable to STO+, and similarly for the other STO operators. Okay, that change provides more function, as do the evaluation of lists and 0 WAIT. Two items that fit into the category of trying to improve behavior are that STO checks for directly recursive definition (putting 'var' in 'var') and plotting 'variable=expression' plots only the expression (unless flag setting is changed). ABORT is gone. 0 DOERR is not the same thing -- why was this function deleted? == and != now properly compare reals and algebraics. On the 28, (0,0) did not equal 0, according to ==, but on the 48 they do. Has anybody noticed other changes? -- edp (Eric Postpischil) "Always mount a scratch monkey." edp@jareth.enet.dec.com
jurjen@cwi.nl (Jurjen NE Bos) (03/08/91)
edp@jareth.enet.dec.com (Eric Postpischil (Always mount a scratch monkey.)) writes: >I'm curious about the changes from the 28 that HP made in the 48. Some >of these are obvious, like the change in the integration parameters >(needed to handle symbolic integration) and the ability to recall >directories. But some are a bit more subtle. Of course, OBGET and OBPUT are vanished, and nothing has come to replace them. One can disassemble algebraics with OBJ->, or use \v|MATCH, but sometimes you wished they were there. Same for EXGET and EXPUT. What is also missing are the catalogs. They were rather useful, especially the units catalog, becuase it knew the full name of all the units. And: USAG is not a catalog. One big missing function is VIEW\^| and VIEW\v|. Why were these left out? I do not always have the memory to edit an object just to see a few more lines. Well that's my list of missing HP28 features of the HP48. Anybody else?
billw@hpcvra.cv.hp.com. (William C Wickes) (03/13/91)
From Eric Postpischil: > > On the 28, doing something (like plotting) that caused PPAR to be > created caused the 28 to scan the equation and select the first variable > as the independent variable. On the 48, X is always assumed. Why did > HP make this change? One guess is that algebraics can now contain local > variables (because of the "where" and integration operators), so the > first variable seen is not necessarily a free variable of the > expression. Is this why they made the change? This was just part of the general overhaul of the plotting interface. It appears that x (X) is the most common independent variable name used in plotting discussions, just as y is commonly used as the dependent variable. It also simplifies manual descriptions etc. to be able to use a specific name. Nothing profound here. > Another change is that storage arithmetic has been generalized. It used > to be that STO+ would accept only certain objects to be added (real and > complex numbers, I think). Now any objects acceptable to + are > acceptable to STO+, and similarly for the other STO operators. Okay, > that change provides more function, as do the evaluation of lists and 0 > WAIT. STO+ and friends were originally written to allow "in-place" arithmetic on stored numbers and arrays, primarily so that you could succeed in performing some array operations for which there might otherwise not be enough free memory. Many people requested the extensions of STO+ that are present in the 48. > Two items that fit into the category of trying to improve behavior are > that STO checks for directly recursive definition (putting 'var' in > 'var') This a property of certain keys (STO, solver menu keys, and left-shifted VAR or CST menu keys), not of STO itself. > and plotting 'variable=expression' plots only the expression > (unless flag setting is changed). It is common for people to say they are plotting "y=f(x)" even though they are really just plotting f(x), so the 48 lets you define a plot with either 'f(x)' or 'y=f(x)'. In the latter case, y is only used as an axis label. > ABORT is gone. 0 DOERR is not the same thing -- why was this function > deleted? People wanted the ability to abort a program with an error message, hence DOERR. 0 DOERR is essentially equivalent to pressing ATTN, which is the same as ABORT on the HP28, except that HP48 ATTN is a trappable error, whereas ATTN was not trappable on the 28. > == and != now properly compare reals and algebraics. On the 28, (0,0) > did not equal 0, according to ==, but on the 48 they do. Call it a refinement. From Jurjen NE Bos: > Of course, OBGET and OBPUT are vanished, and nothing has come to replace them. > One can disassemble algebraics with OBJ->, or use \v|MATCH, but sometimes you > wished they were there. Same for EXGET and EXPUT. The problem is that with the advent of functions with an indefinite number of arguments, plus the ability for libraries to define new functions, providing a position argument for OBGET etc. becomes rather problematic. The MATCH commands plus OBJ-> provide more and better substitution/extraction capabilities. > What is also missing are the catalogs. They were rather useful, especially > the units catalog, becuase it knew the full name of all the units. And: USAG > is not a catalog. We would have liked to have added output descriptions to the command catalog, but this would have been very expensive in ROM, so we traded the catalogs for the Quick Reference Guide. And the UNITS menu is a more useful units catalog than the HP28 units catalog, since the units are sorted by type and the menu provides active entry/conversion facilities. You can alway get the full name of a unit with REVIEW. > One big missing function is VIEW\^| and VIEW\v|. Why were these left out? I > do not always have the memory to edit an object just to see a few more lines. VIEWup and VIEWdown evolved into the interactive stack on the 48. It's true that editing an object can take more memory than VIEWdown, but even the latter can run out of memory so it's only a question of the threshold of pain. I generally find that if there isn't enough memory to edit an object, there likely will not be enough memory to do much else with it. Bill Wickes
mueller@schaefer.math.wisc.edu (Carl Mueller) (03/13/91)
Nobody has said anything about the difference in the number of key presses for certain often used functions. 1/x, square root of x, sin, cos, tan, y^x, and swap all required two key presses on the 28 and only 1 on the 48. This tells me that some thought went into the design of the 48. (And not just thought about what wonderful functions can be crammed into one calculator.) I just wanted the people at HP to know that I appreciated these seemingly minor changes as well as the other more major changes between the two calculators. Carl Mueller (mueller@math.wisc.edu)
hoford@bogaha.circ.upenn.edu (John Hoford CIRC) (03/14/91)
In article <1991Mar13.140731.11318@schaefer.math.wisc.edu> mueller@schaefer.UUCP (Carl Mueller) writes: >This tells me that some thought went into the design of the 48. (And not >just thought about what wonderful functions can be crammed into one >calculator.) >Carl Mueller (mueller@math.wisc.edu) I am always amazed at how well all the functions fit together and how they have designed this aspect of the keyboard. Was there any formal Process used to improve the user interface? Or was it just discussed internaly and a decision made? eg. Why was Y^X chosen over LOG as the top button? Was a survey taken of function usage to determine the choices? John D. Hoford
sjthomas@cup.portal.com (Stephen J Thomas) (03/14/91)
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 sjthomas@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 sjthomas@cup.portal.com
rcoahk@chudich.co.rmit.oz (Alvaro Hui Kau) (03/17/91)
mueller@schaefer.math.wisc.edu (Carl Mueller) writes: >Nobody has said anything about the difference in the number of key presses >for certain often used functions. 1/x, square root of x, sin, cos, tan, >y^x, and swap all required two key presses on the 28 and only 1 on the 48. How about trying to type a >= or <= or a simple 'DUP'? On the 28s, they are easy to find but on the 48sx, they are extremely hard to find! Anyway, that's why the little reminder booklet is for... >This tells me that some thought went into the design of the 48. (And not >just thought about what wonderful functions can be crammed into one >calculator.) >I just wanted the people at HP to know that I appreciated these seemingly >minor changes as well as the other more major changes between the two >calculators. A new 48sx owner...... =============================================================================== Alvaro Hui |ACSnet akkh@mullian.oz 4th Year B.E.\ B.Sc. |Internet & akkh@mullian.ee.mu.OZ.AU University of Melbourne |Arpanet rcoahk@koel.co.rmit.OZ.AU
sjthomas@cup.portal.com (Stephen J Thomas) (03/18/91)
On the 48, DUP can be entered in a program by either [leftshift] [ENTER] or [rightshift] [ENTER] . Stephen Thomas sjthomas@cup.portal.com