Jump to content

HP 49/50 series

From Wikipedia, the free encyclopedia
(Redirected from HPGCC)

HP 49G
HP 49G graphing calculator
Introduced1999
Discontinued2003
Latest firmwareofficial: HP49-C 1.18 (2000-05-27),[1]
beta: HP49-B 1.19-6 (2001-10-27),[2]
back-ported: HP48-C 2.09 (2006-06-03)[3]
PredecessorHP 48G+
SuccessorHP 49g+
Calculator
Entry modeRPN, Algebraic
Display size131×64 pixels
CPU
ProcessorMHz Yorke (Saturn core)
Programming
Programming language(s)RPL
User memoryMB flash memory and 512 KB RAM
Interfaces
PortsRS-232 (using the Kermit or XModem protocols, 2x5-pin proprietary connector)

The HP 49/50 series are Hewlett-Packard (HP) manufactured graphing calculators. They are the successors of the HP 48 series.

There are five calculators in the 49/50 series of HP graphing calculators. These calculators have both algebraic and RPN entry modes, and can perform numeric and symbolic calculations using the built-in Computer Algebra System (CAS), which is an improved ALG48 and Erable combination from the HP 48 series.

Along with the HP 15C and the HP 48, it is widely considered the greatest calculator ever designed for engineers, scientists, and surveyors. It has advanced functions suitable for applications in mathematics, linear algebra, physics, statistical analysis, numerical analysis, computer science, and others.[4][5] Although out of production, its popularity has led to high prices on the used market.

HP 49G

[edit]

The HP 49G (F1633A, F1896A), was released in August 1999.

The 49G incorporated many of the most powerful interface and mathematics tools available on the HP 48 series into the firmware of the new 49G, including the ability to easily decompile and compile both SysRPL and Saturn assembly code on the unit.

The 49G was the first HP calculator to use flash memory and have an upgradable firmware. In addition, it had a hard sliding case as opposed to the soft pouches supplied with the HP 48 series. Almost the same hardware is also used by the HP 39G and HP 40G.

The last officially supported firmware update for the 49G calculator was 1.18,[1] but several unofficial firmware versions were released by the developers. The final firmware version was 1.19-6.[2] Several firmware versions for the successor hp 49g+ and HP 50g calculators have also been released in builds intended for PC emulation software that lacked full utilization of the successors' ARM CPU. Until at least firmware version 2.09, those emulator builds could be installed on the original HP 49G as well.[3]

In 2003, the CAS source code of the 49G firmware was released under the LGPL. In addition, this release included an interactive geometry program and some commands to allow compatibility with certain programs written for the newer 49g+ calculator. Due to licensing restrictions, the recompiled firmware cannot be redistributed.

hp 49g+

[edit]
hp 49g+
hp 49g+ graphing calculator
Introduced2003
Discontinued2008
Latest firmwareHP49-C 2.15 (2009-04-21, 2006-09-19)[6]
PredecessorHP 49G
SuccessorHP 50g
Calculator
Entry modeRPN, Algebraic
Display size131×80 pixels
CPU
Processor75 MHz Samsung S3C2410X01 (with ARM920T core) (can be overclocked up to 203 MHz by certain user programs)
Programming
Programming language(s)RPL
User memoryMB flash memory, 512 KB RAM
External memorySDSC/MMC memory card (including miniSD/microSD/TransFlash with adapter; up to 2 GB formatted as FAT12/FAT16/FAT16B/FAT32; FAT32 only with firmware 2.00 and higher; size display and formatting limited to 1 GB)
Interfaces
PortsUSB Mini-B port (using the Kermit or XModem protocols), IrDA (infrared)

In August 2003, Hewlett-Packard released the hp 49g+ (F2228A). This unit had metallic gold coloration and was backward compatible with the HP 49G.It was designed and manufactured by Kinpo Electronics for HP.

This calculator featured an entirely new processor architecture, USB (Mini-B) and IrDA (IrCOMM) infrared communication, memory expansion via an SD (SDSC/MMC) card, and a slightly larger screen, as well as other improvements over the previous model.

The calculator system did not run directly on the new ARM processor, but rather on an emulation layer for the older Saturn processors found in previous HP calculators. In principle, the firmware for the calculator is identical to that for the 49G, but it gets automatically patched in the course of development to replace some code sequences by special virtual "Saturn+" instructions which bypass the emulation and run natively on the underlying ARM processor in order to improve the calculator's speed.[7] This allowed the 49g+ to maintain binary-level compatibility with most of the programs written for the HP 49G calculator, as well as source code-level compatibility with many written for the HP 48 series.

Despite the emulation, the 49g+ was still much faster than any older model of HP calculator. The speed increase over the HP 49G is around 3–7 times depending on the task. It is even possible to run programs written for the ARM processor thus bypassing the emulation layer completely. A port of the GNU C compiler is also available (see HPGCC below).

hp 48gII

[edit]
hp 48gII
hp 48gII graphing calculator
Introduced2003-10-20
Latest firmwareofficial: HP48-C 2.08 (2006) (not flashable),
emulator: HP48-C 2.09 (2006-06-03)[3]
PredecessorHP 49g+
SuccessorHP 50g
Calculator
Entry modeRPN, Algebraic
Display size131×64 pixels
CPU
Processor48 MHz Samsung S3C2410X01 (with ARM920T core) (can be overclocked up to 203 MHz by certain user programs)
Programming
Programming language(s)RPL
User memory128 KB RAM (original version) or 256 KB RAM (second revision)
Interfaces
Portsserial port (using the Kermit or XModem protocols, non-standard), and IrDA (infrared) (original revision); or USB Mini-B port, IrDA, and 3.3 V TTL-level asynchronous serial asynchronous serial (second revision).

The hp 48gII (F2226A), which was announced on 20 October 2003, was not a replacement for the HP 48 series as its name suggested. Rather it was a 49g+, also with an ARM processor (unlike the HP 48G), but with reduced memory, no expansion via an SD memory card, lower clock speed, a smaller screen, and a non-flashable firmware. This calculator seems to target users that desire mathematical capability, but have no desire to install many programs. The original 2003 version had 128 KB RAM and ran on 3 AAA batteries, whereas the second 2007 version (based on the Apple V2 platform) needs four AAA batteries and comes with 256 KB RAM, added a USB (Mini-B) port and features a better keyboard.

HP 50g

[edit]
HP 50g
Introduced2006
Discontinued2015[8][9][10]
Latest firmwareofficial: HP50-C 2.15 (2009-04-21, 2006-09-19) /
OS 4.02 (build 106)[6]
emulator: HP50-C 2.16 (2012-04-26, 2006-09-19)
EMU 3.1.29/3.1.30[11][12]
PredecessorHP 49g+
SuccessorHP Prime[8]
Calculator
Entry modeRPN, Algebraic
Display size131×80 pixels
CPU
Processor75 MHz Samsung S3C2410A[13] (ARM920T core) (can be overclocked up to 203 MHz by certain user programs)
Programming
Programming language(s)RPL
User memoryMB flash memory, 512 KB RAM
External memorySDSC/MMC memory card (including miniSD/microSD/TransFlash with adapter; up to 2 GB formatted as FAT12/FAT16/FAT16B/FAT32; size display and formatting limited to 1 GB)
Interfaces
PortsUSB Mini-B port (using the Kermit or XModem protocols), IrDA (infrared), and 3.3 V TTL-level asynchronous serial (4-pin proprietary connector).

The HP 50g (F2229A) is the latest calculator in the 49/50 series, introduced in 2006. The most apparent change is a revised color scheme, returning the unit to a more traditional HP calculator appearance. Using black plastic for the entire body, white, orange and yellow are used for function shift keys. The back shell is textured more deeply than the 49g+ to provide a more secure grip.

HP 50g in blue

In 2009/2010, a blue and white color scheme variant (NW240AA) specifically tailored for high-contrast was introduced as well. It was also designed to aid color-blind users.[14] In 2011/2012, a slightly different blue and white color scheme was introduced.[15]

The form and size of the calculator shell is identical to the 49g+ series, but four AAA batteries are used as opposed to three in previous models. In addition to all the features of the 49g+, the 50g also includes the full equation library found in the HP 48G series (also available for the 49g+ with firmware 2.06 and above), as well as the periodic table library originally available as a plug-in card for the 48S series, as of firmware 2.15/[6] 2.16[11][12] (the latest, as of 2015), and has a 3.3 V TTL-level asynchronous serial port in addition to IrDA and USB Mini-B ports of the 49g+. Like the 49g+, the range of the infrared port has been limited to about 10 cm (4 inches). Like for the 49g+, the firmware is in principle identical to that for the 49G, but gets automatically patched in the course of development.[7]

The asynchronous serial port is not a true RS-232 port as it uses different voltage levels and a non-standard connector. An external converter/adapter is required to interface with RS-232 equipment.

The keyboard, the most often criticized feature of the 49g+ calculators, uses the new design introduced on the very last 49g+ calculators (hinged keys) to eliminate previous problems.

A worldwide announcement regarding the availability of this calculator was made by HP in September 2006, and official details were available on the HP calculators webpage.[16] The calculator was officially discontinued in 2015.[8][9][10] It was HP's last calculator to support RPL, later calculators like the HP Prime support RPN only, although in a variant named Advanced RPN.

Programming

[edit]

The HP 49/50 series of calculators support both algebraic and a stack-based programming language named RPL, a combination of Reverse Polish Notation (RPN) and Lisp. RPL adds the concepts of lists and functions to stack-based programming, allowing the programmer to pass unevaluated code as arguments to functions, or return unevaluated code from a function by leaving it on the stack.

The highest level language is User RPL, consisting of sequences of built-in postfix operations, optionally including loops and conditionals. Every User RPL command checks the stack for its particular arguments and returns an error if they are incorrect or not present.

Below User RPL is System RPL (SysRPL). Most System RPL commands lack argument checking and are defined only for specific argument types (e.g. short integer vs. long integer), making System RPL programs run dramatically faster than equivalent User RPL ones. In addition, System RPL includes many advanced functions that are not available in User RPL. System RPL programs can be created without the use of PC software (although it is available), thanks to the calculator's built-in compiler, MASD.[17] MASD also can compile Saturn assembly language and, with the latest firmware revision for the 49g+/50g, ARMv4T assembly language on the calculator itself. Many tools exist to assist programmers and make the calculator a powerful programming environment.

Saturn assembly, and, on the 49g+/50g, ARM assembly and C, are also programmable using desktop based compilers. See also the programs available for the HP 48 series.

No model of this series is programmable in HP PPL.

HPGCC for the 49g+/50g

[edit]

HPGCC is an implementation of the GCC compiler, released under the GNU GPL. It is now mainly targeted at the ARM-based 49g+/50g calculators. Previous versions of HPGCC supported the other ARM-based calculator models (the 48gII, and the hp 39g+/HP 39gs/HP 40gs), but this was removed due to lack of interest and compatibility issues. Formally, HPGCC is a cross-compiler; it compiles code for the ARM-based HP calculators, but runs on a PC rather than the target system.

The latest version of HPGCC offers many enhancements from earlier versions. Most notably, the compiled code is now in ARM Thumb mode by default, resulting in great reduction in code size with little performance hit. Besides implementing most of ANSI C, there are device-specific libraries that allow access to things like the calculator's RPN stack, memory and piezoelectric buzzer. The GCC compiler itself is the property of the Free Software Foundation, and they state that its use does not impose any particular licensing restrictions on any of its output. However, the libraries included with HPGCC, including routines necessary to actually invoke any HPGCC-compiled program on an actual calculator, are released under a modified GPL license, contrary to GCC on many other platforms which use a more permissive license for their libraries. Thus any programs that link against them can only be distributed if they are also released under the GPL (with an exception for "non-profit" software).

Linux, Windows, and Mac OS X versions are available for download. The Windows version also includes a version of Programmer's Notepad for a basic IDE.

Emulators

[edit]

There are several emulators available for the HP 49G calculator. A version of EMU48 is available in the Debug4x[18] IDE that allows emulation of most of the features of the 49g+/50g, but will not execute any ARM-based code.

An ARM-based emulator, x49gp,[19] has been released and allows the true emulation of the 49g+/50g ARM processor and successfully runs HPGCC 2 and 3 compiled programs. The emulator is only available for Linux and Mac OS X and must be compiled from the source. (See README.QUICKSTART[20] for details.)

The commercial version of the application m48 also supports HP 49G. So far, there are no 49g+/50g emulators for smartphones with the exception of HP 50g[21] for iPhone and iPad released in October 2012.

An emulator for Microsoft Windows Mobile (PPC, smartphones) is available.

Other 49G/49g+/50g emulators for Android (without ARM support).[22]

In 2012, Hewlett-Packard released an emulator named HP 50g Virtual Calculator (version 3.1.29/3.1.30 with firmware 2.16 and support for the StreamSmart 410) for Windows.[23][12]

Firmware updates

[edit]

The 49/50 series allows the user to update the firmware to gain enhanced features or bug fixes. Official firmware updates are released by Hewlett-Packard. Unsupported unofficial firmware updates are also available at sites such as hpcalc.org.[24]

See also

[edit]

References

[edit]
  1. ^ a b Hewlett-Packard (2000-05-27). "ROM - Flash update file to update the HP 49G's ROM to version C-1.18". hpcalc.org. 1.18. Archived from the original on 2018-07-08. Retrieved 2017-12-10. [1]
  2. ^ a b Hewlett-Packard (2001-10-28). "Unsupported Beta ROM 1.19-6 - Flash update file to update the HP 49G's ROM to the unsupported beta version B-1.19-6". hpcalc.org. 1.19-6. Archived from the original on 2018-07-07. Retrieved 2017-12-10. [2]
  3. ^ a b c Prange, James M. (2006-12-16). "Installing latest 49g+/50g (emulator) ROM on a 49G". comp.sys.hp48. Archived from the original on 2018-07-08. Retrieved 2017-12-10.
  4. ^ "Human-Use Experience Analysis".
  5. ^ "HP 50g Graphing Calculator".
  6. ^ a b c Hewlett-Packard (2009-04-21). "ROM 2.15 - Flash update file to update the ROM of the HP 49g+ and HP 50g to version C-2.15". hpcalc.org. 2.15. Archived from the original on 2018-07-08. Retrieved 2017-12-10. [3]
  7. ^ a b Rechlin, Eric (2023-10-05). "HP 50g ROM for Emu48". MoHPC - The Museum of HP Calculators. Archived from the original on 2023-10-06. Retrieved 2023-10-06. The 49g+ and 50g have identical ROMs. The 49G ROM is the same, too, just without the ARM-related (Saturn+) patches. A 49g/50g ROM was made (by HP) by building a 49G ROM and patching it with a script after the fact.
  8. ^ a b c Kuperus, Klaas (2015-03-04). "HP 50g: End of an era". Moravia. Archived from the original on 2015-04-02.
  9. ^ a b Kuperus, Klaas (2015-03-06). "HP 50g not so good news?". Moravia. Archived from the original on 2017-12-11. Retrieved 2016-01-01.
  10. ^ a b Wessman, Timothy "Tim" James (2015-12-26). "Windows 10 won't allow HP 50g USB drivers to be installed". HP Museum. Archived from the original on 2017-12-14. Retrieved 2016-01-01.
  11. ^ a b "Emulator of HP 50g with #2.16 ROM". hpmuseum.org. 2015-07-22. Archived from the original on 2018-07-08. Retrieved 2017-12-10.
  12. ^ a b c Hewlett-Packard. "HP 50g Virtual Calculator". www.calculatrices-hp.com. Archived from the original on 2017-09-17.
  13. ^ "Hewlett Packard HP 50g Scientific Calculator". ARM - The Architecture for the Digital World. ARM Ltd. Archived from the original on 2015-03-09. Retrieved 2017-12-10.
  14. ^ Wessman, Timothy "Tim" James (2011-09-18). "Re: HP 50g trilogy. The new HP 50g Blue (and II)". MoHPC - The Museum of HP Calculators. Archived from the original on 2022-05-25. Retrieved 2023-09-23.
  15. ^ Paul, Matthias R. (2015-08-30). "Different blue HP 50g model variants". MoHPC - The Museum of HP Calculators. Archived from the original on 2023-09-23. Retrieved 2023-09-23.
  16. ^ "Powerful HP Graphing Calculator Delivers Greater Connectivity and Flexibility to Engineers and Scientists". News release. Palo Alto, CA, USA: Hewlett-Packard. 2006-09-19. Archived from the original on 2012-09-05. Retrieved 2017-12-10.
  17. ^ HP 50G System RPL / SysRPL Configure and Test Step by Step, 2022-08-11, retrieved 2022-08-16
  18. ^ Graves, William G. "Welcome to the Debug4x download site". debug4x.com. Archived from the original on 2017-11-02. Retrieved 2017-12-10.{{cite web}}: CS1 maint: bot: original URL status unknown (link)[4]
  19. ^ Dost, Eddie C. "x49gp - The HP49g+ Emulator". brainaid.de. Archived from the original on 2018-07-08. Retrieved 2017-12-10.
  20. ^ "HP49g+ Calculator Emulator README.QUICKSTART". sourceforge.net. 2015-11-04. Archived from the original on 2018-07-08. Retrieved 2018-07-07.
  21. ^ Zima, Marek. "Emu50g". Apple App Store. Archived from the original on 2018-07-08. Retrieved 2017-12-10.
  22. ^ De Smet, Olivier (2013) [2006]. "Topics". sites.google.com. Archived from the original on 2018-07-08. Retrieved 2017-12-10.
  23. ^ Hewlett-Packard. "Emulateurs" [Emulators]. www.calculatrices-hp.com (in French). Archived from the original on 2017-09-17.
  24. ^ Rechlin, Eric (2018) [1997]. "HP 49/50 ROM Updates". hpcalc.org. Archived from the original on 2018-07-08. Retrieved 2018-07-07.

Further reading

[edit]
[edit]