Hercules logo
Hercules is OSI Certified Open Source Software

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:

  1. A suitable host computer.
  2. Hercules Installation and Setup Instructions
  3. Mainframe software, most often an operating system.
  4. Documentation for the software you plan to use.

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

  • Windows: Windows XP x64 or Windows Server 2003 R2 or greater. Windows Vista or newer 32-bit or 64-bit will work.
  • UNIX-like systems: Linux-based systems and FreeBSD. Solaris is supported when you build Hercules from source using CMake.
  • macOS: Limited testing; feedback encouraged.

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.

  • Configuration File. Create a configuration file that defines the system configuration including I/O devices.
  • Creating DASD. Create emulated DASD volumes for attachment to an emulated mainframe.
  • Compressed DASD Emulation. Create emulated DASD volumes using compression to reduce host computer disk space needs.
  • Telnet/tn3270 Console How-To. Connect to an emulated mainframe 3270 device, 3270 operator console, and/or 1052 or 3215 printer-keyboard.
  • Operating Procedures. Hercules command line parameters, panel commands, keyboard use, and the Hercules Automatic Operator (HAO).

Mainframe Software

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.

See Frequently Asked Questions, starting with question 2.01 Can it run z/OS, z/VM, z/VSE? for more details on available operating systems and licensing matters.

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.

Web/HTML Downloadable PDFs

Additional helpful links

About Hercules

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. ”
— Reed H. Petty

“ 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! ”
— Bob Brown

“ 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. ”
— IBM Large Systems Specialist

“ Such simulators have been available for a long time. One of the most complete (up to modern 64-bit z/Architecture) is hercules. ”
— Michel Hack, IBM Thomas J. Watson Research Center

“ An apparently excellent emulator that allows those open source developers with an "itch to scratch", to come to the S/390 table and contribute. ”
— Mike MacIsaac, IBM

“ 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.. ”
— Alan Cox

“ It works even better than I imagined. Hercules is a fine piece of software! ”
— Dave Sienkiewicz

“ Hercules is a systems programmer's dream come true. ”
— René Vincent Jansen

“ Aside from the electric trains my parents got me in 1953, this is the best toy I've ever been given, bar none.”
— Jeffrey Broido

“ Congratulations to you and your team on a fine piece of work! ”
— Rich Smrcina

“ Congratulations on a magnificent achievement! ”
— Mike Ross

“ 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. ”
— Scott Ledbetter, StorageTek

“ 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! ”
— Roby Gamboa

“ 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. ”
— Bill Carlborg

“ 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 ”
— Roger Tunnicliffe

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.