The Hewlett-Packard HP-71b

( In PockEmul 2.10.0 )

PockEmul was originally dedicated to pocket computers from the 1980s and 1990s, most of them programmable in BASIC. The absence of HP models (HP‑75 and HP‑71) was therefore a gap that absolutely needed to be filled.

I had long postponed this task because I was unfamiliar with these machines, and their complexity somewhat discouraged me. Eventually, I decided to take the plunge—and here is the HP‑71B in PockEmul.

It was an interesting challenge because I wanted to emulate this machine entirely using object-oriented programming, with each component represented as an object or a set of objects. That meant drawing inspiration from existing emulators—mostly developed in C with pointers to data structures—was never really an option.

This is the very first release, and inevitably some issues remain.

Main Areas Covered by the HP‑71B Emulation

ROM version 2CDCC

Currently, only this ROM version is included. I see little value in offering older buggy ROMs, but let me know if you think it would be useful.

Full Memory Module Management (ROM and RAM)

The internal architecture of memory modules is emulated down to the chip level. Standard modules (Math, Finance, etc.) are available, and you can also build custom modules using 4K or 32K RAM chips and external ROM files.

Port 5 Management

It supports memory modules up to 192K.

The card reader is not yet implemented.

Port 0 and HP‑IL

My goal was to emulate the HP‑IL chain of the HP‑71B in depth.
The two main HP‑IL management chips, the HP_1LB3 used in the HP-71b HP-IL module and the HP_1LR4 used in peripherals, are emulated separately.

Please be aware that the HP-IL protocol emulation is in Preview State. Only a few commands are implemented – Just enough to manage the printer and the video interface.

The next release is planned to include full HP-IL management, with advanced features—such as chaining multiple HP‑71Bs on the same loop, managing two HP‑IL loops on one machine, or supporting a PIL‑BOX…

The HP‑IL universe is vast, and I am just beginning to explore it.

Peripheral Connection Cables

Cable drawing has been added, with an avoidance algorithm so cables route around objects when possible. This still needs refinement in appearance and behavior.

Drawing the cables is indeed necessary with the HP‑IL loop, since multiple peripherals can be chained together. I’m still undecided whether to restrict cable visualization exclusively to the HP‑IL loop, or to extend it to all types of connections.

HP‑IL Frame Sniffer

Not yet enabled in the release version; currently reserved for development, but intended for future inclusion.

Diagnostic ROM

It is not yet integrated due to emulation issues with timers and CPU errors.

Overlay Management

Overlay handling has been generalized across PockEmul. For now, the HP‑71B offers Finance, HP‑41, and Text Editor overlays.
Custom overlays are planned but still experimental in the development version.

Peripheral Support

  • Printer HP‑82162A Functional in text mode only. Graphics mode will be implemented in the next release.
  • Video Interface HP‑82163 Present, but ESC command handling has not yet been thoroughly tested. This is an initial version.
  • HP‑9114 Tape Disk Not yet ready; planned for the next release.

Availability

I hesitated to make the HP‑71B universe accessible outside subscriptions, since this first version inevitably contains many issues due to its early stage. Nevertheless, I have created the Android package in the PockEmul Store.

If you choose to purchase it, please be aware that this is version 1.0—an initial release that will be significantly corrected and enriched in the future.

Perfect emulation is an infinite quest. Please report us any inaccurate behaviour at contact@pockemul.com 

A message for our longstanding users and subscribers :
PockEmul is a 25 years passion project and a labor of love.
We invite you to share the passion and love for vintage computing.
Help us make history like these computers have done in the not-so-distant past.
Help us shape the future of PockEmul. Spread the word!

3 thoughts on “The Hewlett-Packard HP-71b”

  1. So far this has been a great tool for learning to program these pocket devices.

    I haven’t figured out yet if there is a way to transfer programs to the real device yet. I have a SHARP PC-1246 (NOT emulated?) and a PC-1401 (for which I have been using this the most to date).

    FYI, I found a small glitch when using a “printer”. When getting the “printout” as text (which I use to copy back a tested and functional program listing into the “keyboard entry” and/or Storage descriptions or external Notepad programs, as needed. It converts all ‘O’ s into ‘0’ (ZEROS). Which of course causes errors with commands like F0R T0 (instead of FOR TO), G0SUB & G0T0, etc.

    1. Thank you for your feedback.

      I have a feature that can generate a WAV file readable by the original machine. However, this feature is not currently enabled because it is unreliable and requires extremely precise CPU emulation timing. I believe this applies to the SC61860 used in the early Sharp pocket computers. Since none of my CPU emulations are perfectly accurate in terms of timing, I decided to disable this functionality.
      I will consider re‑enabling it specifically for certain models.

      Thank you for reporting the printer bug — I will fix it.

      Regarding the Sharp PC‑1246, it is not emulated because its ROM is not available, and it uses a 4‑bit SC61720 processor.

      Kind regards

      1. Thanks for the answers. Sorry for apparently posting under the incorrect device topic… I was clearly confused 😀

        Regarding ROMs… do you require that actual device? I am finding the PC-1246 rather limiting anyway, so not critical to me (although, for some reason I have two of them 😛 )

        Regarding subscriptions… My trial just expired (PS, three days is a bit short) and I am on the month to month, and I primarily use the desktop. But now I thought I saw what looks to be an annual option? But unsure how to apply and still qualify as a “new” user (or for that matter, how to apply… I can’t seem to find that link anymore?)

Leave a Reply

Your email address will not be published. Required fields are marked *