Before you begin, you need to acquire the following:
1. the latest version of the Hercules emulator:
This is available from the Hercules' home site - http://www.hercules-390.eu/
- you can download both the source and precompiled versions from
there. You must use a version of Hercules at level 1.71 or above, although it is
unlikely that anyone will be installing a version that old. There
was a track overflow problem in earlier versions which will prevent successful
generation and use of MVS 3.8. This revision of my instructions is being
written using release 3.13 built 30 September 2017. You will not be able
to build the MVS starter system with Hercules version 3.07.
November 21, 2019
Although I have been aware that Fish (David Trout) has for some time been
maintaining another version of Hercules, which he himself describes as
'bleeding edge', I had not followed up that knowledge by trying his version.
Recently I had a question from someone that prompted me to download and
build his version, which is available from http://www.softdevlabs.com/hyperion.html.
The version I installed (on my Linux desktop, which is 64 bit LinuxMint
18.3) is 4.3.999.0-SDL. The installation is painless and quick. I did not go
through an entire build of MVS 3.8 under the SDL version of Hercules, but
the person who asked my the original question did and reports that it worked
flawlessly. My own experience, so far, has been to confirm that the SDL
version installs quickly and will execute an MVS 3.8j system built using my
If you are running on a version of the Windows operating
system, you no longer need the Cygwin package. The current
Windows' version of Hercules runs natively under the Windows Operating
System. You can still run under Cygwin if you choose, but you will
have to build Hercules yourself from the sources.
Instructions for installing precompiled binaries for
whatever host platform you are running on or downloading the source and
building your own executable binaries for your platform can be found at the
Hercules' home site. I do not attempt to provide any information here
regarding the installation of Hercules itself.
If you build the Hercules' executables from source, you
must include compression capability in order to be able to process Hercules
Emulated Tape images and compressed DASD images.
2. the MVS starter system and MVS 3.8j
The MVS starter system is simply a MVS 3.7
system that is contained on two 3330 DASD volumes. The starter system
is provided by IBM with the MVS 3.8j product on two tapes, each of which
contains a stand-alone DASD initialization program, a stand-alone program to
restore a tape dump to DASD, and a tape dump of the DASD volume. These
tape images may still be available from sources online, but I am also making them available for download from my
site @ http://www.jaymoseley.com/hercules/downloads/archives/vs2StartTapes.rar
(6.6 MB) [MD5: 3504f627f4bb6ec0a6c46a3ced6c8cf4].
The MVS 3.8j product is distributed on two tapes. The
first tape contains the System Modification Program (SMP) load modules and
procedures. The second tape contains the product libraries for MVS
3.8j. I believe that all the sites that were providing these tape
images for download have removed them because of their size. They are
still available to order on CD-ROM from the CBT
Tape site. I am also making them available for download from my
site @ http://www.jaymoseley.com/hercules/downloads/archives/mvs38distTapes.rar
(17.8 MB ) [MD5: 0e793cacf886b32be4295987ddc781ff].
3. my installation objects archive, which contains
Hercules' configuration files, jobstreams,
some additional AWS tape images, and scripts:
The nature of each file contained in
the archive, as well as where to extract each file is
discussed in the next section below - Environment. The archive is
available for download from my site @ http://www.jaymoseley.com/hercules/downloads/archives/installmvs.tgz
(15.9 MB) [MD5: b37e6330cb246adedc7d79b1027bbddf]. The most recent update
this archive was created on a Linux system with tar, but the archive may be
decompressed using a variety of programs - WinRaR, 7zip, etc.
Although not required, the base program directory for MVS 3.8j
is an interesting read, and it is available at: ../downloads/pdf/mvs38bas.pdf
This is the documentation that accompanies the product tapes distributed from
IBM and contains detailed information about what is contained on the tapes.
The goal of these instructions is to guide you through the installation of MVS
3.8j and, as such, I will not detail the installation of the Hercules emulator
here. If you have not already installed Hercules, you can find
instructions on the steps to follow at the Hercules' home site - http://www.hercules-390.eu/hercinst.html.
For all the files relevant to MVS 3.8j (DASD and TAPE images, jobstreams,
source code, etc), I would suggest the following directory structure, since it is the one that I
use and it will be easier for my references to be understood if we are working
in a common reference frame.
The top level directory, hercules, may have other directories beneath it
besides those I show here. When the Hercules emulator was first being
distributed, the executable binaries (as well as documentation and some other
files distributed with Hercules) could be placed in the main hercules
directory; that was true on both Linux and Windows host systems, at least that
was my experience. Currently the Hercules installation package will
install the binaries, documentation and other files included in the installation
package into the appropriate location depending upon the host operating system.
If you have other mainframe operating systems installed (or plan to do so in
the future) - MVT, VM, DOS/VS, Linux/390 - they can each have their own directory at the same level as the
directory, and their operating files (jobstreams, print, punch, configuration,
tape and dasd files) will not
interfere with each other. On my system, for example, I actually have
several different MVS configurations, each located in their own mvs?
directory under hercules.
Some Hercules' users choose to place their
print and punch output in a separate directory beneath the main OS
directory. For simplicity, as I proceed through these instructions, the
print and punch output will be placed in the main OS directory; mvs in this
When I created my installation objects archive (installmvs), the
files the archive contains were pulled from this directory structure and the
archive was created in the mvs directory level. So, the files from
the subordinate directories contain relative path information that will place
them back into those directories if the archive is extracted from the mvs
directory. There will be some files in the archive that will, and should,
extract to the main OS directory, mvs.
When I start Hercules, I always ensure that my working directory is the mvs
subdirectory of the hercules main directory (as shown above). This way, all of the
relative path references in the configuration files will be correct and commands
I cite will be correct.
I have received feedback stating that this archive (installmvs) is
confusing. So in an attempt to alleviate possible
confusion, the complete contents of this archive, along with relative
directories to which the files should be extracted, is:
condcode.pl and/or condcode.rexx
create.dasd.bat and/or create.dasd.sh
stage2.awk and/or stage2.rexx
The three sets accompanied by the notation and/or each include two
scripts that accomplish the same function. In each case, you can choose
the one you prefer to use. If you are using these instructions on a system
where neither of the choices will execute, you may need to choose the one you
will be able to modify or follow manually to achieve the same purpose as the
The next step is the relatively short process of building the starter system. So, when you are ready, proceed to the next step - Building the Starter System.
I hope that you have found my instructions useful. If you have
questions that I can answer to help expand upon my explanations and examples
shown here, please don't hesitate to send them to me: