In-person meeting's fate traces 3000's track
25 Years: Java promise yields Go e! app

25 Years: Build an emulator, so they'll stay

Field of dreams
Emulator day was a Saturday. February 2, 2002 arrived less than 90 days after HP cut short the lifespan of the HP 3000 hardware. On that Saturday, Robert Boers of Software Resources International announced a prototyping project.

We are currently building a prototype HP 3000e emulator, capable of running unmodified MPE and its applications on a Windows platform. Note that this is an A/D project only, we have made no decision yet about making it a product.

Boers was leading the company that would later become Stromasys after a name change. On that Saturday in 2002 he noted, "It is correct that we did not get much response about my note about hardware emulation. Our experience with the VAX and PDP-11 emulators is that the concept is often confused with operating system emulation, and the assumption is that recompiling would be necessary, or that not all applications will run.

"The hardware emulators we build are operating system-independent. The demo we use to show the concept is to unplug a SCSI system disk from a VAX, plug it into a SCSI port of a PC, and boot VMS (or another VAX operating system) from it. We do not need to convert the binary VAX code in any way or form. Performance is not an issue, we have reached VAX 7000 Dhrystone performance on a PC.

"The emulator engine we use is likely flexible enough for the HP3000 hardware (we use the same for PDP-11 and VAX). The core VAX emulator prototype (CPU, memory, disks) took less than 4 months to develop.

"It took us about a year to convince Compaq to support their software on our VAX emulator as they would any other VAX," Boers added. "We did that by passing their VAX hardware diagnostics and architecture tests. They now offer very reasonably-priced VMS transfer licenses."

At the time Compaq was the owner of the DEC lineup. Later that became HP, but the vendor grappled with the concept of transfer licenses without a released emulator in the 3000 marketplace.

In those early days of 2002, we asked HP's Winston Prather about the prospects for speed in setting up a licensing program for an emulator. What's the rush, he wondered. As we pointed out during his interview in that same season, many more people would be available as 3000 emulator customers in 2002 than, say, 2006.

Boers answered a raft of questions in the same timeframe from 3000 customers about the PA-RISC hardware emulator that would become Charon.

1) Would hardware emulation take more processing power than an OS emulator?

Depends on the OS. With a rich feature OS like VMS, the amount of code required to map all functionality accurately would be huge, expensive to write and to debug, and techniques to speed up execution by dynamically translating instruction sequences would not work. With 1-2 Billion instructions per second available the trick is more to keep the code size small. The total size, including the emulation of the major peripherals, of the run-time part of CHARON-VAX is < 500 KB and it fits in PC cache memory.

The big advantage of hardware emulation is the ability of fast and comprehensive testing by running the hardware diagnostics.

2) Does your VAX emulator provide bridges or gateways to the native OS or hardware? Is such even desirable?

Those bridges are available and used e.g to store emulated disks as files (although you can connect physical disks). Serial lines are effectively telnet sessions, and instead of mapping to the host serial ports, you can link them to host applications. But the goal is to leave the OS of the emulated system in control; our design goal is always to be able to run any available OS of the emulated system.

3) For MPE to run directly (ie. loaded directly from HP tapes) wouldn't you have to emulate the entire HP 3000 architecture?

Yes, certainly, that is exactly what we do for the VAX and PDP-11 emulators. For the PDP-11 we emulate over 100 devices (for the VAX less). We generate each device emulator component directly from its hardware description. A CHARON-VAX emulator is booted directly from the standard VAX/VMS installation kit on CD or standalone backup on tape.

4) Could you emulate multiprocessor 3000 hardware config (or, would you need to?)

Yes, but you need a host SMP system to benefit from the multiple emulated CPUs. We run actually clusters of VAX/VMS systems on a single SMP host that way. It only makes sense if performance is an issue, but if the original hardware is capable of it, the emulator should be capable as it is a direct copy.

5) Seems that if you implement a truly portable HP3K hardware implementation, as more modern host hardware becomes available, you could end up with a more powerful MPE box than you could ever have with real 3000 hardware - cheaper too!

Our standard VAX 3600 emulator runs at about five times the speed of a hardware VAX 3600 on an AMD 2000+ system (and probably gets 3 percent faster every year). But the 3600 is a slow system (compared to current technology) to start with. I have not looked into the HP 3000 designs in detail to be able to give an opinion here.

6) How much would we be restricted to peripherals and storage that are compatible with a real HP 3000, and how much could we use non-3000 components: tape drives, DASD, NICs)?

It is a matter of documentation and implementation time, there is no fundamental restriction except for real-time requirements (e.g. connecting with a parallel interface to an instrument), where the host system PCI latency might play a role. But NICs, disks, and tapes map very well. Emulated disks are generally faster than physical ones, because you can use the latest technology.