About us RCL 20 Projects Colour Selector Library
Projects
Contracting
Paola Kathuria
Frank Wales
Clients with several projects
the-racehorse.com
BBC
CRASH
Oxford University Press (1997-2005)
Redesign of OED Online
Redesign of OED marketing site
General & technical consultancy
Redesign of OED Online Help
OED Online Tour
OED marketing site
OED Online prototype
@ Limitless Innovations (2000-2003)
Berry Bros. & Rudd
Cardata
One World Telecom
Scott Morrison Photography
Sysao
Gratis & personal projects
Paolability Jewellery
Windsor Half Marathon
Psychology of Programming Interest Group
InetUK Usenet FAQ
Other sites by Paola
@ Limitless (1995-1999)
SilverPlatter Health & Safety Publishing
Institute of Physics Publishing
EU & UK ISP surveys
New Millennium Experience
Moorfields Eye Hospital
totally-essential.com
Cybersport
Ace Records
Embassy of Japan
Reuters Insurance Information Services
Carsource
IBM Global Networks
Barclays Bank BarclayNet
Sainsbury's Wine Direct
@ Zengrange (1984-1990)
HP-41 Emulator for HP-48
Technical services

HP-41 Emulator for HP-48 ~ Zengrange

Frank Wales @ Zengrange

1989-1990

[HP-41 Emulator]

Hewlett-Packard (HP) invented the hand-held scientific calculator back in 1972 with the HP-35[1], and led a relentless charge of miniature technical innovation through the 1970s and 1980s, culminating with the HP-41 system, which was powerful enough to be used for mission-critical tasks[2] aboard early space shuttle flights.

During this time, Frank Wales developed HP-41 software and tools for Zengrange. Because of their reputation with HP, Zengrange were asked to develop a cross-over product that would give the existing base of HP-41 users an easy migration path to the HP's next-generation HP-48SX, which had a completely different underlying architecture, programming language and user interface.

Zengrange chose Frank as technical lead on this project, and he travelled with a colleague to HP's Corvallis development labs, in Oregon, U.S.A., to design and develop the product. A technical writer joined them later to write the user manual once Frank had sufficiently developed the product's specification.

The result was HP's HP-41CV Emulator module for the HP 48, which was not only able to run any software written for the HP-41CV and its accessory printer, but also provided a compatible keyboard and display emulation designed to let those users more familiar with the HP-41's ways of working be productive immediately on the HP-48.

[Front cover]

Interested in HP calculators?

See RCL 20: People, Dreams & HP Calculators

Attention was paid to seemingly minor details, such as the appearance and behaviour of display elements and prompts, and the placement and colour-coding of the keys, in order to make the seasoned HP-41 user feel at ease while allowing them to experiment with the greater capabilities of their new calculator.

To make the migration of code and data simple, the emulator included a parser that could read and translate programs and data beamed over from an HP-41 via its infra-red printer module. It also incorporated an extension system that allowed HP-41 programs to call HP-48 programs, and vice versa, making possible the gradual transfer of software from one environment to the other.

Frank not only designed the product, but also implemented core features such as the execution engine, the program and data parser and many of the lower-level functions that were critical to the product's performance and stability.

He also spent much time refactoring working code from all the programmers on the project for speed or size, in order to get the product under its memory budget of thirty-two thousand bytes, while keeping to the original performance goal of matching or beating the HP-41 on average.

The most significant optimisation came when he realised that, by altering the way the software was compiled, combined with some assembly code to reprogram the HP-48's memory controller, he could decrease the size of the whole product by 20% and double its speed at the same time.

The module was subsequently re-ordered by HP when the initial production run sold out. It was also used as the basis for third-party application hosting, allowing entire existing HP-41 applications to be combined with the emulator in a larger memory module for running on the HP-48 without the need to change the software.

Amazingly, a [off-site] review [EMULATOR.DOC] or [off-site] two [hp41card.doc] are still available online. A few quotes:

The user interface is a work of art.

I was pleasantly surprised at the functionality provided by the emulator card -- it contains much more than I had expected.

Overall, this is an excellent application card for the 48.

References

  1. The [off-site] HP-35 described by HP.
    http://www.hpl.hp.com/features/calculator_anniversary.html
  2. From the Urban Legends web site: [off-site] HP calculators on space_shuttle
    http://www.urbanlegends.com/science/ hp_calculators_on_space_shuttle.html