The eVAX Web Page
The eVAX emulator is a start on a VAX emulator. The emulator was originally written specifically for MacOS on Power Macintosh (PPC) systems. Since the start a couple of years ago, I've also ported it to a number of other systems (see below).
I've been fooling with this in my spare time for about two years, but since the time I can spend on it is rather spotty, the emulator is by no means complete. I originally hoped to be able to create an emulator that was robust enough to actually boot an early version of VMS, maybe around 3.0. I'm now not sure that I will ever achieve that goal. But, it has been really fun to poke around in the bowels of the VAX SRM documentation and learn more about a machine that I cut my teeth on two decades ago.
I'm not sure how broadly this emulator will be of use to anyone other than my spare time entertainment. However, I hope that someone somewhere is interested enough to at least try it out and let me know of bugs and problems that they find. I am constantly amazed at the small, low-level details that I overlook when trying to get the emulation of each instruction, mode, stack handler, etc. correct. Any help would be appreciated!
To that end, the binhexed Stuffit! Archive here contains the CodeWarrior project, source files, etc. as well as many of the small little test programs I've written to flex the emulator. Please poke around and make suggestions.
The emulator itself runs in linemode (i.e. console mode) via a console (or, on a Mac, SIOUX) window. Type the HELP command for information on the commands available. The console includes a small assembler for VAX instructions to make playing with it easier. The "Tests" folder contains a number of programs written using this assembler syntax, so you'll find plenty of examples. It does not exhaustively support every nuance of the VAX assembler by far, but should be enough to get you up and running.
The emulator currently supports integer, F_FLOAT, and string data types. It runs in VAX virtual memory mode. It handles exceptions, and interrupts and can do console input and output. The next major project is to handle packed and zoned decimal. I'm saving D_FLOAT for later since it's going to be a huge pain.
The tar file below contains sources that can build on MacOS using CodeWarrior, on Windows using Visual Studio or Code Warrior, on Linux or HP-UX using gcc, and on Alpha VMS using DEC C. Because most of my development is on a Mac, there's a separate bundle for Mac users that contains a pre-built CodeWarrior project file.
Have fun! Please email me with questions, problems, or updates to the code!.Click here to download the BINHEX'd Stuffit! archive (approx 500K) of the CodeWarrior project. Click here to download a gzip'd tar file (approx 200k) of the sources and tests suitable for building on UNIX, VMS, etc.
Tom Cole cole@vnet.net