Jump to content

HP 49/50 series

From Alfawiki
Hewlett-Packard
IndustryElectronics, Computer hardware, Calculators
FoundedJanuary 1, 1939; 87 years ago (1939-01-01)
ProductsGraphing calculators (HP 49/50 series)
Websitewww.hp.com

The HP 49/50 series represents a line of graphing calculators developed by Hewlett-Packard (HP), serving as the successors to the HP 48 series. This lineup comprises five distinct models that support both algebraic and RPN input methods. They offer numerical and symbolic computations through an enhanced CAS, which is an advanced integration of the ALG48 and Erable systems originally found in the HP 48 series.

Widely recognized for their sophisticated capabilities, these calculators are favored by professionals such as engineers, scientists, and surveyors for tasks spanning mathematics, linear algebra, physics, statistical analysis, numerical analysis, and computer science. Although production has ceased, these devices continue to command considerable value on the secondary market.

HP 49G

Introduced in August 1999, the HP 49G (F1633A, F1896A) incorporated robust interface features and mathematical functionalities derived from the HP 48 series firmware. It enabled straightforward on-device decompilation and compilation of both SysRPL and Saturn assembly code.

This model marked HP’s inaugural use of flash memory and offered firmware upgradeability. It came with a durable sliding hard case, replacing the softer carrying options of earlier versions. The hardware design was shared with the HP 39G and HP 40G models.

The last official firmware release was version 1.18, while unofficial updates extended up to version 1.19-6. Additionally, emulator versions of newer firmware intended for the HP 49g+ and HP 50g were compatible with the original 49G up to at least version 2.09.

In 2003, HP made the CAS source code available under the LGPL, including an interactive geometry application and commands ensuring compatibility with subsequent models. Nevertheless, licensing restrictions prohibit redistribution of recompiled firmware images.

hp 49g+

Launched in August 2003, the hp 49g+ (F2228A) featured a distinctive metallic gold exterior and maintained full backward compatibility with the HP 49G. Manufactured by Kinpo Electronics on behalf of HP, this model introduced a new processor architecture along with USB Mini-B and IrDA infrared communication ports, SD/MMC memory card support, and a slightly enlarged display.

Its operating system ran an emulation layer that executed legacy Saturn processor instructions on an ARM920T core. Although its firmware closely resembled that of the HP 49G, it included patches utilizing special "Saturn+" commands that bypassed emulation to run natively on ARM hardware, significantly enhancing processing speed. This approach preserved binary compatibility with most HP 49G software as well as source compatibility with many applications from the HP 48 series.

Despite some overhead caused by emulation, the hp 49g+ delivered performance improvements ranging from three to seven times faster than its predecessor depending on the workload. It also supported native ARM applications, including a port of the GNU C compiler (refer to HPGCC).

hp 48gII

Announced on October 20, 2003, the hp 48gII (F2226A) was not intended as a direct successor to the HP 48 series. Essentially a variant of the 49g+ equipped with an ARM processor, it featured reduced memory capacity, lacked SD card expansion, operated at a lower clock speed, had a smaller screen size, and utilized non-flashable firmware. This model targeted users requiring robust mathematical functionality without extensive program installations. The initial release in 2003 included 128 KB of RAM and was powered by three AAA batteries. A revised edition launched in 2007 increased RAM to 256 KB, added a USB Mini-B port, enhanced keyboard design, and required four AAA batteries for operation.

HP 50g

Launched in 2006, the HP 50g (model F2229A) represents the latest advancement in the 49/50 series lineup. It retains HP’s classic aesthetic with a black casing complemented by white, orange, and yellow function keys. The rear cover features a more pronounced texture to enhance grip. In 2009 and 2010, HP introduced a high-contrast blue and white edition (NW240AA) tailored for users with color vision deficiencies, followed by a minor revision released between 2011 and 2012.

The 50g preserves the same physical design as the 49g+ but upgrades its power source to four AAA batteries instead of three. It encompasses all functionalities of the 49g+ while incorporating the comprehensive equation library from the HP 48 series and the periodic table database originally from the HP 48S series as of firmware versions 2.15/2.16. For connectivity, it offers USB Mini-B, infrared (IrDA), and a 3.3 V TTL-level asynchronous serial interface; however, this serial port requires an external adapter to connect with RS-232 devices due to its non-standard voltage and connector specifications.

The keyboard utilizes an enhanced hinged key mechanism introduced in later iterations of the 49g+ to resolve earlier user feedback on key responsiveness.

HP made the HP 50g globally available in September 2006. Production ceased in 2015. This model was HP's final calculator supporting RPL; later products such as the HP Prime exclusively implement an advanced form of RPN.

Programming

Calculators in the HP 49/50 series accommodate programming in both algebraic notation and a stack-oriented language named RPL, which blends elements of Reverse Polish Notation (RPN) with features from Lisp. RPL extends stack-based programming by incorporating lists and functions, allowing unevaluated code segments to be passed or returned on the stack.

At the top level is User RPL, a language built from predefined postfix commands supporting optional loops and conditional structures. Each command performs argument validation on stack inputs and triggers errors if mismatches occur.

Beneath User RPL lies System RPL (SysRPL), which omits argument validation and operates on specific data types (e.g., short versus long integers), yielding markedly faster execution speeds. System RPL also provides access to advanced functions not available in User RPL. Programs can be compiled directly on-device using MASD, which supports both Saturn assembly language and, with updated firmware for the 49g+/50g, ARMv4T assembly language. A variety of utilities exist to augment this development environment.

Assembly programming is feasible for Saturn processors, ARM processors (on models 49g+/50g), and even C through desktop-based compilers. Refer also to software resources for the HP 48 series. No device in this line supports programming via HP PPL.

HPGCC for the 49g+/50g

HPGCC is an implementation of the GCC released under the GNU GPL, primarily targeting ARM-based calculators such as the 49g+ and 50g. Earlier releases supported additional ARM models—including the 48gII, hp 39g+/HP 39gs/HP 40gs—but these were discontinued due to minimal demand and compatibility challenges. HPGCC functions as a cross-compiler, generating ARM-compatible code on a PC host environment.

The most recent HPGCC version defaults to ARM Thumb mode, optimizing for smaller code size while maintaining near-native performance levels. It implements most of the ANSI C standard and includes specialized libraries granting access to calculator-specific features such as the RPN stack, memory management, and buzzer control. Although GCC imposes no restrictions on generated binaries, HPGCC’s accompanying libraries are distributed under a modified GPL license that requires linked programs to adhere to GPL terms unless developed for non-commercial purposes.

Versions are available for Linux, Windows, and Mac OS X platforms. The Windows distribution bundles Programmer's Notepad as a basic IDE.

Emulators

Multiple emulators have been developed for the HP 49G calculator. EMU48, which is incorporated into Debug4x, replicates the majority of the 49g+/50g's functionality but lacks the ability to execute ARM-based software.

The x49gp emulator, designed specifically for ARM architecture, provides full emulation of the 49g+/50g ARM processor and is compatible with programs compiled using HPGCC versions 2 and 3. This emulator is available for Linux and Mac OS X, though it must be built from source code.

For commercial use, the m48 application includes support for the HP 49G. Emulators designed for smartphones are scarce; among them, only the HP 50g emulator for iPhone and iPad (launched in 2012) offers ARM emulation capabilities.

There are emulators tailored for Microsoft Windows Mobile platforms, but Android-based versions currently do not support ARM emulation.

In 2012, Hewlett-Packard introduced the HP 50g Virtual Calculator (version 3.1.29/3.1.30) for Windows systems, which incorporates firmware version 2.16 and supports StreamSmart 410 functionality.

Firmware updates

The 49/50 series allows firmware upgrades aimed at improving features or addressing software issues, with official updates provided by Hewlett-Packard. Additionally, unofficial firmware versions can be found on third-party websites like hpcalc.org.

Further reading

  • HP 50g graphing calculator user's manual (UM), Hewlett-Packard, April 1, 2006 [1]
  • HP 50g graphing calculator user's guide (UG), Hewlett-Packard, April 1, 2006 [2]
  • HP 50g / 49g+ / 48gII graphing calculator advanced user's reference manual (AUR), Hewlett-Packard, July 14, 2009 [3] Searchable version
  • Bugs in Product HP 49/50 - 277 bugs recorded, Bugzilla, March 30, 2016 [4] (Comprehensive database of firmware defects, both fixed and outstanding)
  • Simplify with sci/eng on hp 50g, Juraj O., HP Museum, November 6, 2012 [5] (Discussion concerning a persistent firmware issue)
  • Is the HP-50g bug free now?, Jim Yohe, HP Museum, February 4, 2011 [6] (Forum thread addressing ongoing firmware challenges)

External links

  • Official Hewlett-Packard support resources
  • HP 49/50 series materials at www.hpcalc.org
  • Software collections for HP 50g by Software49
  • Software collections for HP 50g by Heuson-Software