

IBM's Coupling Facility control code, which enables Parallel Sysplex, and UTS also require licenses to run. Newer licensed operating systems, such as OS/390, z/OS, VSE/ESA, z/VSE, VM/ESA, z/VM, TPF/ESA, and z/TPF are technically compatible but cannot legally run on the Hercules emulator except in very limited circumstances, and they must always be licensed from IBM. However, many mainframe operating systems require vendor licenses to run legally.

Hercules is technically compatible with all IBM mainframe operating systems, even older versions which no longer run on newer mainframes. 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.
#Installing z/vm on hercules code#
Its developers ruled out using machine-specific assembly code to avoid problems with portability even though such code could significantly improve performance. The emulator is written almost entirely in C.
