Exciting OpenVMS Alpha Emulation news, es40 has been forked to Axpbox (and works!)
Published: 28-10-2020 | Author: Remy van Elst | Text only version of this article
Table of Contents
Back in 2018 I was playing around with OpenVMS a lot, as it continues on the legacy of the PDP-8 and PDP-11. OpenVMS 7.3 on the VAX emulated via SIMH runs perfectly, OpenVMS 8.4 for Alpha was kind of a disaster, or, the es40 emulator was. Real hardware is available via IslandCo, but shipping to the Netherlands is horribly expensive.
The only options back then for emulation of Alpha were FreeAXP or AlphaVM, both paid, closed sourced products with watered down free versions. Nothing wrong with that, it enables us to play around, and now that OpenVMS is in the hands of VMS Software with an x86 port coming along we may hope for a bright future ahead for OpenVMS. VSI currently provides a hobbyist version, but it's a FreeAXP bundle for Windows only.
Recently I got an email from Tomáš regarding his fork of the es40 emulator, axpbox. This short post is intended to give this emulator more visibility and exposure, since I find this to be amazingly cool and exciting. It lists the bugs fixed and new features, which allow OpenVMS 8.3 and 8.4 to install perfectly.
You can view the README here and there is an OpenVMS Installation Guide here. Go download and try it quickly, it's now using cmake, way easier to compile, includes a configuration helper and most importantly, the installation of OpenVMS now at least works without major errors. Really cool, amazing work by Tomas.
Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.
You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $100 credit for 60 days.
I intend to get back into experimenting with Axpbox and write a few more articles on it, including an compilation and installation guide and maybe even some clustering if I get around to it.
Here's a screenshot of axpbox running OpenVMS 8.4 right after installing:
and here is me trying to Mount an ISO with my (expired) hobbyist license:
The Expired OpenVMS License PAK is not an issue, since we can just set the system date to back when it was still valid. For our hobbyist use I think that's fine, especially due to the uncertainty regarding the hobbyist program.
To set the system time, use this command:
If you are going to install OpenVMS 8.4, do note that it can take quite a long time. In my case, over 2 hours, but my test hardware is a few years old and the emulator got one core and 256MB RAM.
Tomáš gave permission to quote the email verbatim below.
Verbatim email quoted
I saw your article on the sad state of Alpha emulators for OpenVMS some time ago and decided to have a look at es40, thinking it can't be that bad. After looking at it for a while I decided to fork it and improve it, the result of which you can see here:
As of the problems you describe in your article (and the previous one):
- I used a patched version by the YouTube Stephen's Machine Room as the base instead of the original version
- I changed the build system from autotools to CMake to get rid of problems with configuring
- I fixed several double free bugs, getting rid of the segmentation faults (at least those I know of)
- Most importantly I fixed the semaphore error preventing OpenVMS installation with an IDE controller, making OpenVMS installation much easier (it was actually possible before, but one had to use the buggy SCSI controller and hope it won't fail during the installation)
There are of course still many problems with the program (see Issues in the repo), to name a few:
- slow serial, probably due to the serial thread sleeping for 20 ms every cycle
- occasional access violations/memory errors
- incomplete IDE emulation (this makes the OpenBSD installation crash the emulator, however it shouldn't have any impact on OpenVMS).
So if you want to try running OpenVMS Alpha in an emulator on Linux again, you can try my fork. I also plan to continue working on it, so its state will probably improve in the future. (I'm only a computer science student without much knowledge about Alpha, so my potential improvements are limited.)alpha , axpbox , blog , dec , decus , es40 , itanium , openvms , pdp , simh , vax , vms