*** Welcome to piglix ***

Hercules emulator

Hercules
Hercules-logo.gif
Original author(s) Roger Bowler
Developer(s) Jay Maynard, Jan Jaeger, David "Fish" Trout, Greg Smith, Bernard van der Helm, Ivan Warren, et allii
Initial release 1999 (1999)
Stable release
3.12 / November 30, 2015; 14 months ago (2015-11-30)
Preview release
4.00
Development status Active
Written in C
Operating system Cross-platform
Type Emulator
License Q Public License
Website www.hercules-390.eu, www.hercules-390.org

Hercules is a computer emulator allowing software written for IBM mainframe computers (System/370, System/390, and zSeries/System z) and for plug compatible mainframes (such as Amdahl machines) to run on other types of computer hardware, notably on low-cost personal computers.

Although there are other mainframe emulators performing a similar function, Hercules is significant in enabling private individuals to run mainframe computer software on their own personal computers.

Hercules runs under multiple parent operating systems including GNU/Linux, Microsoft Windows, FreeBSD, Solaris, and Mac OS X and is released under the open source software license QPL. It is analogous to Bochs and QEMU in that it emulates CPU instructions and select peripheral devices only. A vendor (or distributor) must still provide an operating system, and the user must install it. Hercules was notably the first mainframe emulator to incorporate 64-bit z/Architecture support, beating out commercial offerings.

Roger Bowler, a mainframe systems programmer, started development of the Hercules emulator in 1999.

The emulator is written almost entirely in C. Its developers ruled out using machine-specific assembly code to avoid problems with portability even though such code could significantly improve performance. There are two exceptions: Hercules uses hardware assists to provide inter-processor consistency when emulating multiple CPUs on SMP host systems, and Hercules uses assembler assists to convert between little-endian and big-endian data on platforms where the operating system provides such services and on x86/x86-64 processors.


...
Wikipedia

...