Assuming you have installed all the packages you need from part 1, we will proceed to get the source code for SimH and compile the VAX Simulator.
The SimH sources are available from http://simh.trailing-edge.com/. I find the easiest way to do this is by grabbing the URL from the SimH website and using wget to suck down the file. If your Raspberry Pi Linux distro has a GUI system loaded you can download it using a browser, of course. Mine generally don’t have such facilities. Here’s how to get it if you don’t have browser access (and you installed wget):
I find it easiest to work from a remote machine via the ssh secure shell. My distro installs are usually very minimal so The link changes per version, so be sure to visit that page and get the latest source code link. Once you have the link (it should look like http://simh.trailing-edge.com/sources/simhv39-0.zip or similar), copy it and paste it into the following command in a terminal (assuming you are already in your home folder):
Wget will now download the file.
Saving to: `simhv39-0.zip' 39% [==============> ] 1,224,703 84.9K/s eta 26s
To access the sources we need to unpack the Zip file now we downloaded.
Create a directory and move the zip file into the directory before you unzip it or you will fill your home folder (or the folder you downloaded it to) with source code files.
Once you have moved the SimH source file zip to a new folder, enter that folder and run:
Now you have source code, it’s time to compile. Doing this in a Raspberry Pi can be a little time consuming, so be operated to go grab some coffee.
SimH does not require pre-configuration (there is no ‘./configure’) like many source bundles, but you can specify a few options, such as the Simiulator you want to compile (compiling all of them is unnecessary and takes forever) so just run:
As previously mentioned, the make process will take quite a while.
Note 1: There are some other options, such as USE_INT64=1 and USE_ADDR64=1 which you can add to the compile-time options (add them after the above commands). These allow SimH to access files larger than 2GB. I don’t know if they work on 32-bit microprocessors (the ARM11 is 32-bit) and also I do not recommend using large files on the Raspberry Pi as it can take a long tome to copy them or make backups. Also, space tend to be limited on SD cards and VMS really only needs about 400MB or less to install into, even if you add most of the layered products on the CD.
Note 2: As of version 3.9-0, the USE_NETWORK=1 compile-time option is not required to create a network enabled binary. Binaries compiled without this option will use libpcap for networking support dynamically if it is present at a known path location at compile time, or disable networking if it is not found. USE_NETWORK=1 can still be passed but the resulting binary will fail to run if libpcap is not present.
Once SimH has finished compiling you will find the compiled binary executable in the BIN directory created inside the folder where you ran make from (e.g. /home/fred/simh/BIN). You will also need the ka655x.bin file in the VAX directory to run the simulator (more on that later).