SDL Hercules 4.x Hyperion

This web page provides information regarding the SoftDevLabs (SDL) version of Hercules 4.x, code named Hyperion.

The official Web Site for the SDL version of Hyperion:

The official web site for the SDL version of Hercules 4.x Hyperion can be reached at the following URL:
Online documentation for the SDL version of Hercules 4.x Hyperion
The above web site contains reference documentation for the SDL version of Hercules 4.x Hyperion, which contains features, functionality and fixes that are neither in the current spinhawk production version of Hercules nor in the original 4.0 Hyperion version of Hercules.

PDF Manuals:

Some people find it more convenient for their reference documentation to be in the form of PDF manuals rather than via online web pages.

The following are links to PDF manuals containing technical information pertaining to the original 4.0 Hyperion version of Hercules (not the SDL version):
Note: the above PDF manuals might not exactly match the online documentation for the SDL version of Hercules, but for the time being they should be very close. The online documentation for my version however should always be correct. Please let me know if you discover it's not.

Issue Tracker:

Should you discover any bugs or have any issues using the SDL version of Hercules 4.x Hyperion, you can directly report them by adding a new entry to SDL's GitHub Issue issue tracker database at the following URL:

Community Wiki:

GitHub, which hosts the source code repository for my version of Hercules 4.x Hyperion, provides a Wiki feature that allows you the users to participate in helping make this version an even better version than it already is. Please consider helping out by contributing your knowledge to the effort.
The SoftDevLabs Hercules 4.x Hyperion Wiki     (Please help by contributing your knowledge!)
The SoftDevLabs Hercules 4.x Hyperion Wiki is intended to provide additional documentation such as Tips and Tricks that may be of interest to its user community. I strongly encourage users to help the user community (and themselves!) by contributing to the Wiki.  It will only ever be as good as you help make it!

Source Code Repository:

The complete source code for the SDL version of Hercules 4.x Hyperion is maintained in a git project source code repository hosted on GitHub:

Building the SDL version of Hercules 4.x Hyperion

If you wish to build the SDL version of Hercules 4.x Hyperion for yourself from its distributed source code you need to first "clone" the git repository ('git clone ...' command) and then follow the build instructions on the following web page:
Building the SDL version Hercules from Source

Pre-built Binaries:

The current pre-built ready to run Windows binaries for the SoftDevLabs version of Hercules 4.x Hyperion may be downloaded using the below links (the x64 links are for 64-bit Windows and the x86 links are for 32-bit Windows). The MD5 and SHA256 hashes for all SoftDevLabs downloads can be found on the downloads page.

Please also note that the below downloads are for just the Hercules binaries only, and do not contain the required Microsoft Visual C++ Runtime Redistributables that are also needed to run Hercules. Your system probably already has the required Microsoft Visual C++ Runtime components already installed, but in case it doesn't, you will need to download and install the current Visual Studio 2008 version of the Visual C++ Runtime from Microsoft's web page before attempting to run Hercules.

Of course if you've installed the free, trial and/or paid versions of any of the other SoftDevLabs products then you should already have the most current version of Microsoft's Visual C++ Runtime, so there's no sense in installing it twice.

  •   (2018-11-10)     Release Notes
  •   (2018-11-10)

    This new snapshot contains the following changes since the previous snapshot:

    • Jay Moseley 'maketape' utility added to Hercules
    • LRVR, LRV and LRVH eligible added to S37X Facility (Ivan Warren)
    • Fix long standing SIE host addressing prefixing bug (Ivan Warren)
    • External Package support simplified and fixed to support Raspberry Pi
    • QETH (OSA) device support fixes (Ian Shorter, Peter Jansen)
    • Various Rexx support fixes
    • DIAG 204 (LPAR information) fix (Ivan Warren)
    • SoftFloat external package updated to version 3e (fixes square root) (Steve Orso)
    • Crypto support fixed to use cryptographically secure random number generator
    • ECPS:VM 1.87 enhancements and bug fixes (Bob Polmanter)
    • Instruction counting accuracy improved
    • Fix ./configure so --enable-optimization always honored
    • Fix dasdls crash
    • Improved TELNET Terminal Type negotiations
    • Fix min/max internal thread priorities
    • Fixes to allow building on Apple MacOS (Enrico Sorichetti, Peter Jansen)
    • Fix bad commit causing utilities to crash (Paul Gorlinsky)
    • Performance of TRT, CLC, CLCL and MVCIN instructions vastly improved (Fish and Ivan Warren)

  •   (2018-05-13)     Release Notes
  •   (2018-05-13)

    This new snapshot contains the following changes since the previous snapshot:

    • Fix HERC_370_EXTENSION facility 'BRC' (Branch relative on condition) instructions bug (Ivan Warren)
    • Fix Linux 'sh' shell command output not being shown reported by Giuseppe Vitillaro
    • Fix incorrect MAINSIZE handling bug reported by somitcw
    • ARCHLVL now always does cpu reset (ctl regs)
    • Fix SIE WaitState Assist reported by Ivan Warren
    • Silence GCC printf warning regarding __uint128_t on Linux
    • Point "build from source" link to VS2017 page.
    • Fix Microsoft insanity so VS2017 should build Herc OK now
    • Remove mention of ALS, clarify main storage size rules.
    • Mention External Packages more prominently in the build instructions
    • Fix potential Windows QETH Layer 2 crash at device close
    • ipaddr/netmask no longer required for Linux
    • QETH zLinux layer 3 support (Ian Shorter)
    • QETH tidy-up IPA CMD tracing (Ian Shorter)
    • QETH make enabled assists protocol dependant (Ian Shorter)
    • Doc updates: ARCHLVL/FACILITY cmd/stmt, FAQ Facilities
    • 'long' opt for fac query ena/dis + cosmetic
    • New facility query option: enabled/disabled.
    • Fix ESA/390 facility bits 3, 7, 18, 19, 24 and 52 (Thank you, Ivan!)
    • Fix Windows runtest.cmd script return-code bug
    • Fix for sporadic runtest failures when running all tests
    • Improve performance of "rotate" instructions (Ivan Warren)
    • Add 1403.tst to project files
    • 1403 printer Load UCS test
    • Fix 1403 printer Load UCS bug

  •   (2018-04-04)     Release Notes
  •   (2018-04-04)

    This new snapshot contains the following changes since the previous snapshot:

    • Visual Studio 2017 support and report Visual Studio version
    • Bob Polmanter added to Herculean list
    • RISBGN instruction fix (Ivan Warren)
    • Fix issues with connect responses in Windows (Bob Polmanter)
    • DASDCOPY: Fix error propagation in read path (JP Sugarbroad)
    • Fix runtest issues (Steve Orso)
    • Fix CPU Timer to stop 2nd-Level VM ABENDs (Peter Jansen)
    • Multiple EVD Blocks Support Fix in service.c (Peter Jansen)
      (Backports for Issues #22, #23, #24 and #25 = (#35))
    • Fixed "XCF signalling stopped working" (#16) (Peter Jansen)
    • Additional CTCE bug fixes and stability and recovery improvements (#13) (Peter Jansen)
    • ARCHLVL redesign/rewrite:
      • Undefine facilities ESA/390 doesn't officially support
      • Correct some misclassified facility instructions
      • Enable facilities 037, 041, 048 and 049
      • Pre-requisite/post-requisite violation checks
      • Automatic disable/enable of facility instructions
      • Remove unneeded FACILITY_CHECK macros from many instructions
      • New FACILITY command to replace ARCHLVL command (for enabling/disabling facility bits only; ARCHLVL command for setting architecture mode remains unchanged)
    • HDL (Hercules Dynamic Loader) redesign/rewrite:
      • Fix FATAL day-one bug in HDL instruction module handling
      • Fix 8-year old bug in replace opcode logic
      • New "lsequ" List device equates command
    • Fix incorrect original 'cmdsep' design/implementation
    • Drop 3088, CTCI-W32, CTCT and VMNET support
    • Replace CTCT support with CTCE support instead
    • Remove CAPPING support
    • Add support for new NETDEV configuration file statement
    • Fix CCKD dasd detach/attach CRASH
    • Fix DASDLS crash + Fix simple DASDLS breakage
    • Fix day-one wrong architecture bug in initial_cpu_reset
    • New "t+-" Automatic Tracing command
    • Fix garbled terminal window at quit/exit
    • Make some more build options permanent/default
    • Change HHC17531 (uninstalled Rexx package) to warning
    • AUTOINIT default is now 'ON' (enabled)
    • Remove DIAG F14 support (Hercules DLL interface)
    • Fix SHOWREGSFIRST trace option display
    • Fix IPL command option handling (Aaron Finerman)
    • New Hercules S/370 Instruction Extension Facility
    • Enable System/370 Vector Facility instructions by default

  •   (2017-11-07)
  •   (2017-11-07)

    The above snapshot contains the following changes since the previous snapshot (listed in reverse order, most recent to least recent):

    • Fix CTCE XCF signalling (CTCE Halt/Clear Subchannel handling)

  •   (2017-11-04)
  •   (2017-11-04)

    The above snapshot contains the following changes since the previous snapshot (listed in reverse order, most recent to least recent):

    • Additional CTCE bug fixes and stability and recovery improvements (Peter Jansen)
    • Fix LCS, CTCI, CTCE and PTP Halt/Clear Subchannel handling
    • Rename QETH sig2str to qsig2str to prevent clash with GNU sig2str
    • inet_aton is a boolean function
    • Also enable ORB trace when CCW trace is enabled
    • Treat already-exists and not-found as success for MacTab Add/Rem
    • CCW-ILS test case (NOP CCW Incorrect Length Suppression)
    • Fix immediate CCWs Incorrect Length handling
    • Enhance 'qeth_errnum_msg' to identify TRUE source of error
    • Tweak tape RDC info so block sizes in DCE are now correct
    • Add tape runtest files
    • Tape driver RDC and 3590 support enhancements
    • Fix incorrect ORB Incorrect Length Indication Suppression handling
    • Correction to earlier HSCH (Halt Subchannel) fix
    • ECPS 1.85; fix LRA assist bug (Bob Polmanter)
    • Activate qeth debug DBGQETHCCW HHC03992 HHC03993
    • Minor channel cleanup (e.g. use new CCW_TRACE_OR_STEP macro)
    • Fix unnecessary snprintf buffer size reduction and null termination
    • New ORB trace command
    • Workaround for latest BUGGY version of SubWCRev
    • Complete deprecation of "httproot" and "httpport" statements

  •   (2017-07-08)
  •   (2017-07-08)

    NOTE: snapshot 8873-SDL-ga36e0bbc contains a 6 year old bug that new code unintentionally trips causing Hyperion to crash if your configuration file contain an httpport or httproot statement. The bug has already been fixed and will appear in the next pre-built snapshot. To work around the bug, simply change your httpport and httproot statements (which have been deprecated) to the new http format instead.

    The above snapshot contains the following changes since the previous snapshot (listed in reverse order, most recent to least recent):

    • LCS: checksum offloading fix
    • QETH/OSA: 'iface', 'ipaddr' and 'netmask' are now all REQUIRED parameters
    • QETH/OSA: validate MTU and limit to iface maximum
    • Fix minor(?) qeth/osa multicast bug
    • Fix QETH initialization return code SNAFU
    • QETH: report dropped packets and implement finer grained debugging
    • Fix HSCH (Halt Subchannel) similarly to earlier CSCH fix
    • OSA/OSD: synonym for QETH device type
    • 'osa' = synonym for 'qeth' command + fix qeth command itself
    • Support for device custom sense bytes formatting
    • CTCI-WIN 'TUNSETDEBUG' ioctl support
    • ECPS 1.84; fix LRA assist bug with 2K page sizes (Bob Polmanter)
    • Fix qeth initalization return code SNAFU
    • qeth/osa: 'iface', 'ipaddr' and 'netmask' are required on Windows
    • Fix minor(?) qeth/osa layer 3 ipv4 multicast bug
    • Define "osa" as synonym for "qeth" command
    • Define OSA/OSD device equates for QETH devices
    • Define additional QETH command mask values (e.g. 'dropped')
    • QETH MTU fix
    • OSA/OSD may be specified on device statement instead of QETH
    • QETH/OSA device: report dropped packets ('qeth' command)
    • 'qeth' debugging command: define addtional mask options
    • QETH/OSA device statement: invalid 'mtu' option fix/workaround
    • TRACEOPT 'NOCH9OFLOW' option
    • New Hyperion terminal logo, just for fun!
    • Windows QETH fix
    • QETH/OSA/QDIO fixes (Ian Shorter)
    • Add help for 'qeth' debugging command
    • Fix Hyperion QETH Clear Subchannel issue
    • LCS source MAC fix (Ivan Warren)
    • Panel command recall depth increased to 255 maximum

  •   (2017-06-06)
  •   (2017-06-06)

    The above snapshot contains the following changes since the previous snapshot (listed in reverse order, most recent to least recent):

    • STIDP (Store CPU ID) fixes
    • Add optional arguments to 'cpu' and 'qcpuid' commands
    • ECPS:VM v1.83: DISP2 fixes (Bob Polmanter)
    • Limited automatic updating of LPARNUM and CPUIDFMT setting
    • Fix hdl_dlopen basename bug causing rare segfault at startup on some systems
    • QETH IPA_CMD_SETVMAC fix for Windows CTCI-WIN
    • ECPS:VM v1.82: LRA (Bob Polmanter)
    • Fix ltdl.h header include issue (Peter Coghlan)
    • Fix hthreads compile error on some systems (Peter Coghlan)
    • LCS Multicast Support
    • Fix numcpu/maxcpu and is/are cpus started bugs
    • Runtest fixes
    • Rexx rewrite. Many bugs uncovered and fixed.
    • Fix shcmdopt + diag8cmd handling
    • Improved printer device support
    • Fix logmsg routing/capturing to work as designed
    • C11 atomics fix
    • punch/printer append fix
    • Stub entries for STCCTM et al (Ivan Warren)
    • Minimum Windows Platform is now Windows Vista
    • CCKD config stmt/cmd 'nosfd' option
    • Remove OPTION_SHOWDVOL1 build option
    • ECPS:VM command processing fixes (Jurgen Winkelmann)
    • QETH handle IPv6 addresses better (Ian Shorter)
    • QDIO STORCHK: add key 14 special case (Ivan Warren)
    • Stricter DASD PSF PRSD parameter bytes validation (Mark Gaubatz)

  •   (2017-02-21)
  •   (2017-02-21)

    The above snapshot contains the following changes since the previous snapshot (listed in reverse order, most recent to least recent):

    • Full (almost) ECPS:VM support
    • QDIO thin interrupts support fix
    • Support for Read Subsystem Data suborder Query Host Access
    • Fix 'make check' for out-of-source debug builds
    • Add debug builds of all external packages to repository too
    • Fix dynamic version design to be more reliable/seemless
    • Hercules Automatic Operator (HAO) fixes
    • Fix for compiling on platforms with inttypes.h but no stdint.h
    • Fix for compiling with NO_IEEE_SUPPORT
    • Improve external package build instructions

  •   (2017-01-31)
  •   (2017-01-31)

    The above snapshot contains the following changes since the previous snapshot (listed in reverse order, most recent to least recent):

    • Additional ECPS:VM fixes and enhancements
    • Completely remove SYNCIO
    • Add VS2015 (MSBUILD) RunJobs support
    • Build missing ckd2cckd, cckd2ckd, fba2cfba and cfba2fba utilities
    • Add message# to usage/syntax messages for some more utilities
    • Fix git revision count bug
    • Fix for ECPS:VM second level LCTL bug
    • Add architecture levels 370, ESA, and 390
    • Remove never used "HelpMessage" function
    • Convert crypto to External Package and move dyncrypt to root dir
    • Document both old and new "fcb=" option formats
    • Add new "cctape=" carriage control tape option
    • Add BZIP2 compressed HET tape file and adjust test case
    • Define many more runtest pre-defined variables
    • Fix telnet client connection libtool abort on Linux
    • Fix SEGFAULT when invalid modpath given
    • VS2015 BuildLog s/b .txt, not .htm
    • Convert telnet to External Package

  •   (2016-12-23)
  •   (2016-12-23)

    The above snapshot contains the following changes since the previous snapshot (listed in reverse order, most recent to least recent):

    • Fix 'help' command to not truncate command names.
    • Identify "SDL" Hyperion in version string.
    • Update DASDLS utility to match 3.12's options.
    • Add message# to utility usage/syntax messages
    • Adjust earlier caching fix to accommodate DASD utilities.
    • Remove unused 'cache' command
    • Remove Legacy CMPSC code (altcmpsc.dll)
    • Minor runtest enhancements.
    • Test harness changes: add more crypto cases and verify against real iron.
    • Fix dyncrypt for VS2008 compatibility
    • Crypto KMCTR instruction fixes.
    • Save MODPATH as absolute path
    • Fix runtest self re-append bug