The Hercules System/370, ESA/390, and z/Architecture Emulator
Hercules 4.0 (Hyperion)
This is official web page for Hercules version 4.0, working titled "Hyperion", the development version of Hercules. Hyperion is developed and supported by a small group of volunteers.
Hercules is an open source software implementation of the mainframe System/370 and ESA/390 architectures, in addition to the latest 64-bit z/Architecture. Hercules runs under Linux, Windows, Solaris, FreeBSD, and macOS. Hercules is licensed under the terms of the Q Public Licence. The Q Public License is certified as an open source license by the Open Software Initiative.
Using Hercules to Emulate a Mainframe
To emulate a mainframe using Hercules, you will need a few things:
Prior experience programming or supporting a mainframe operating operating system is not required but is very helpful.
Host Computer Capability
Hercules will run just fine on most modern desktop or laptop computers. Performance will depend on what you do with Hercules. Emulating a mainframe running DOS/360, one of IBM's oldest mainframe operating systems and one that would run in 16KiB of mainframe core memory, will require far fewer host system resources than, say, a more modern MVS 3.8j configured with 16MiB of emulated core and running a number of batch jobs. One of the mainframe ports of Linux will require still more resources.
On x86-based systems, Hercules will work on 32-bit and 64-bit systems. Hercules does not require hardware-based virtualization capabilities and runs fine on operating systems that are themselves running in a virtual environment such as Oracle Virtualbox.
Muliple cores on the host system are helpful when emulating a mainframe configured with multiple CPUs, but multiple cores are not a requirement.
Suitable Host platforms
The above list is limited by the systems available to developers; we cannot afford to have one of everything. That said, we welcome feedback and issues from people who try to install on other platforms. One Hercules developer has installed on an emulated Raspberry Pi using QEMU.
Hercules Installation and Setup Instructions
Select the installation procedure appropriate for your system.
Most of the mainframe system web sites below include configuration instructions, sample configuration files, and in some cases, pre-built emulated DASD files. Some do not. The following links can be used to complete the setup of a Hercules emulated mainframe system.
You have a number of choices, and you are not limited to the packages listed here. IBM DOS/VS and IBM DOS/360 pre-date and bear absolutely no resemblance to PC-DOS or MS-DOS.
Note that if you run mainframe software within Hercules, you must respect the terms and conditions of the software license for that software.
Mainframe Software Documentation
Documentation for the Linux distributions, the Michigan Terminal System, SATK, and TXXOS may be found on their respective web sites.
Documentation for the IBM operating systems is a different matter; much of it was published before the Internet existed. The Bitsavers site and its mirrors contain a repository of scanned, and in some cases, OCR'd, IBM hardware and software reference manuals. The DOS360Install site has a couple of essential DOS/360 manuals that are not on Bitsavers.
Bitsavers is organized first by manufacturer, then by machine. Within machine one can find operating system documentation. Use the following shortcuts to the Bitsavers site. And explore...one can find very useful information in unexpected places on Bitsavers.
Hercules Documentation and Useful Links
The Web/HTML documentation is in a "how-to" style with examples. The downloadable PDFs are comprehensive reference documentation.
Additional helpful links
Hercules was created by Roger Bowler. Jay Maynard (“the Tron Guy”) was the maintainer from 2000 to 2012. Jan Jaeger designed and implemented many of the advanced features of Hercules, including dynamic reconfiguration, integrated console, interpretive execution and z/Architecture support. A dedicated crew of programmers is constantly at work implementing new features and fixing bugs.
What people are saying about Hercules
Never in my wildest dreams did I expect to see MVS
running on a machine that I personally own.
Hercules is a marvelous tool. My thanks to you all for a job
very well done.
I do miss my mainframe a lot, and playing with Herc sure brings back
memories. Just seeing the IBM message prefixes, and responding to
console messages again was a wonderful bit of nostalgia!
I have installed your absolutely fantastic /390 emulator.
You won't believe what I felt when I saw the prompt.
Congratulations, this is a terrific software.
I really have not had such a fascinating and interesting
time on my PC lately.
Such simulators have been available for a long time. One of the most
complete (up to modern 64-bit z/Architecture) is hercules.
An apparently excellent emulator that allows those open source
developers with an "itch to scratch", to come to the S/390 table
BTW grab a copy of Hercules and you can test it at home.
It's a very good S/390 and zSeries (S/390 64bit) emulator..
It works even better than I imagined.
Hercules is a fine piece of software!
Hercules is a systems programmer's dream come true.
Aside from the electric trains my parents got
me in 1953, this is the best toy I've ever been given,
Congratulations to you and your team on a fine piece of work!
Congratulations on a magnificent achievement!
For anyone thinking running Hercules is too much trouble or too hard
or whatever, I came home from work one day and my 13 year old 8th
grade son had MVS running under VM under Hercules on Linux. He had
gotten all the information about how to do this from the Internet.
When he complained about MVS console configuration and figuring out
how to get it to work with VM, I knew he had felt all the pain he
ever needed to feel about mainframes.
I am running a fully graphical Centos z/Linux environment on my desktop.
The Hercules emulator is an amazing feat of engineering.
I just wanted to send my compliments to the team for an excellent job!
Thanks much for making this product part of the open-source community!
I have DOS and DOS/VS running on Hercules with
some demo applications, both batch and on-line. It does bring back
some good memories. My compliments go to the Hercules team. Thank you.
This is stunning piece of work. To say that I am blown away is an
understatement. I have a mainframe on my notebook!!!!!!
P.S. Now if I can just remember my JCL
Read Hesh Wiener's Technology News article about Hercules at http://www.tech-news.com/another/ap200601b.html
Read Moshe Bar's BYTE.com article about Hercules at http://web.archive.org/web/20010712143133/http://www.byte.com/documents/s=429/BYT20000801S0002/
For eighteen months, the IBM Redbook SG24-4987 Linux for S/390 at http://www.redbooks.ibm.com/abstracts/sg244987.html contained a chapter written by Richard Higson describing how to run Linux/390 under Hercules. Then suddenly, all mention of Hercules was mysteriously removed from the online edition of the book! Read the story of the disappearing Redbook chapter at http://www2.marist.edu/htbin/wlvtype?LINUX-VM.25658
View the foils from Jay Maynard's presentation given at SHARE Session 2880 in San Francisco on 20 August 2002 as a PDF file (815K) from http://linuxvm.org/Present/SHARE99/S2880JMa.pdf
If you have any questions or comments please consider joining the hercules-390 discussion group at http://groups.yahoo.com/group/hercules-390.
Bug reports for either release (together with your diagnosis of the fault, please) may be reported to either the hercules-390 discussion group or entered into the appropriate Github issue tracker:
Other Hercules-related sites
IBM, System/370, ESA/390, and z/Architecture are trademarks or registered trademarks of IBM Corporation. Other product names mentioned here are trademarks of other companies.