# What's new in Hercules

## What's new in release 3.06

Release date: 11 January 2009

- Integrated 3270 (SYSG) console support (Roger Bowler, Jan Jaeger)
- HMC DVD-RAM read/write support (Jan Jaeger)
- 64-bit native version now supported on Mac OS X (Jay Maynard)
- Ability to specify IFL, zIIP, and zAAP engine types (Roger Bowler, Jan Jaeger, Ivan Warren)
- Console-like message handling (David "Fish" Trout, Bernard van der Helm)
- Tape automount CCW support (David "Fish" Trout)
- CKD Locate Record Extended CCW (Greg Smith)
- Support for FLEX-ES FakeTape tape images (David "Fish" Trout; FLEX-ES and FakeTape are trademarks of Fundamental Software, Inc.)
- More complete 3490 and 3590 tape support (David "Fish" Trout)
- Solaris build support (Jeff Savit)
- FreeBSD build support (Bjoern A. Zeeb)
- Panel enhancements:
  - Display virtual storage in primary, secondary, and home space (Paul Leisy)
  - Display and modify PSW fields by panel command (Roger Bowler)
  - Modify control registers by panel command (Roger Bowler)
  - Specify IPL parameter by PARM operand (Ivan Warren)
  - New panel commands: automount, cmdtgt, ctc, herc, msghld, pscp, scp, sfk (David "Fish" Trout, Bernard van der Helm)
- LEGACYSENSEID configuration statement (Ivan Warren)
- New instruction feature support (introduced with System z10):
  - Parsing-Enhancement Facility (Bernard van der Helm)
  - Message-Security-Assist Extension 2 (Bernard van der Helm)
  - General-Instructions-Extension Facility (Roger Bowler, Jan Jaeger)
  - Execute-Extensions Facility (Bernard van der Helm)
  - Move-with-Optional-Specifications Facility (Roger Bowler)
  - Compare-and-Swap-and-Store Facility 2 (Ivan Warren)
- Many emulation fixes (Roger Bowler, Jan Jaeger, Ivan Warren, David "Fish" Trout, Greg Smith, Paul Leisy, Jay Maynard, Bernard van der Helm, Kevin Leonard, Tony Harminc)

Download hercules-3.06.tar.gz

## What's new in release 3.05

Release date: 23 June 2007

- Prebuilt Cygwin binary no longer supplied; building Cygwin version from source still supported (Jay Maynard)
- New system features: Compare-and-Swap-and-Store, Conditional SSKE, Decimal Floating Point, Floating Point Support Enhancement (Roger Bowler)
- Extract CPU Time Facility (Jan Jaeger)
- Multiple Logical Channel Subsystems Facility (Jan Jaeger, Ivan Warren)
- 3590 tape support (David "Fish" Trout)
- 3990-6 control unit and ECKD support (Greg Smith)
- Many performance improvements (Greg Smith, Ivan Warren, Jan Jaeger)
- Many emulation fixes (Greg Smith, Roger Bowler, Ivan Warren, David "Fish" Trout, Kevin Leonard, Peter Coghlan)
- Major SCSI tape fixes (David "Fish" Trout)
- Added floating point instructions CGER, CGDR and CGXR (Bernard van der Helm)
- Address range options for instruction trace and step (Greg Smith)
- Update gpr registers via panel command (David "Fish" Trout)
- Console connection keep-alive (David "Fish" Trout)
- Customizable 3270 connection screen (Ivan Warren)
- dasdconv quiet and stdin options (Roger Bowler)
- Hercules Automatic Operator (Bernard van der Helm, David "Fish" Trout)
- Enhanced symbol substitution (Leland Lucius, Enrico Sorichetti, David "Fish" Trout)
- Miscellaneous new panel commands: qd (Greg Smith), fpc, traceopt (Roger Bowler), logopt (Kevin Leonard), cd, pwd, timerint, defsym (David "Fish" Trout)

Download hercules-3.05.tar.gz

## What's new in release 3.04.1

Release date: 25 March 2006

- Fix to allow building for Intel-based Mac OS X (Jay Maynard)
  Note: This version only applies to the Mac OS X 10.4 (Tiger) platform. Version 3.04 is current for all other platforms.

Download hercules-3.04.1.tar.gz

## What's new in release 3.04

Release date: 24 February 2006

- CCKD garbage collection fix (Greg Smith)
- Reworked timing functions (Jan Jaeger)
- Codepage 1047 conversion tables (Kevin Leonard)
- Fixed off-by-one-day bug with SYSEPOCH other than 1900; added new config parameter, YROFFSET, and added warning if SYSEPOCH is not 1900 or 1960 (Jay Maynard, Jan Jaeger)
- New 2305 CKD disk emulation (Jay Maynard)
- Added floating point instructions CEGR, CDGR and CXGR (Bernard van der Helm)
- Added support for cgi-bin dynamic modules (David "Fish" Trout)
- Instruction fixes: PLO, CVB, CXFBR, CXGBR (Bernard van der Helm, David "Fish" Trout, Greg Smith, Pasi Pirhonen)
- Fix for Windows ..\relative path dasd files (David "Fish" Trout)

Download hercules-3.04.tar.gz

## What's new in release 3.03.1

Release date: 30 December 2005

- Fix translation exception bug that was causing some Linux kernels to panic (Fabrizio Calabretta, Greg Smith, Ivan Warren)
- TOD Clock-Steering Facility (Jan Jaeger, Bernard van der Helm)
- Fix bug in shadow file filename processing on native Windows (David "Fish" Trout)
- Performance improvements in TM instruction family (Bernard van der Helm)
- Support for Linux zipl LOADPARM of PROMPT (Jan Jaeger)

Download hercules-3.03.1.tar.gz

## What's new in release 3.03

Release date: 20 December 2005

- Native Windows version no longer requires Cygwin (David "Fish" Trout, Roger Bowler, Ivan Warren)
- SMP host integrity fixes (Greg Smith, David "Fish" Trout, Bob Deblier)
- ALS5, z9 and other architectural enhancements (Roger Bowler, Bernard van der Helm, Jan Jaeger, David "Fish" Trout)
- Restructured cryptographic support no longer depends on libgcrypt (Bernard van der Helm, Roger Bowler, Ivan Warren)
- Support emulation of up to 32 CPUs; maximum without special build options now 8 (Ivan Warren)
- Enhanced semigraphical control panel now uses all of larger console windows (Greg Smith, David "Fish" Trout)
- Many emulation fixes (Roger Bowler, Jan Jaeger, Bernard van der Helm, David "Fish" Trout, Greg Smith, Ivan Warren, Andy Styles, John Decker)
- CMPSC fixes now produce identical results with real systems (Jacques Dilbert, Bernard van der Helm)
- Integrated 1052-C / 3215-C console support (Jan Jaeger)
- tapecopy support for writing as well as reading tapes (Jay Maynard)

Download hercules-3.03.tar.gz

## What's new in release 3.02

Release date: 11 December 2004

- Significant performance improvements (Jan Jaeger, Greg Smith, Gabor Hoffer)
- SIE performance almost the same as native (Jan Jaeger, Gabor Hoffer)
- SCSI tape support in Windows (David "Fish" Trout)
- Mac OS X CTC networking support (Jay Maynard)
- Suspend/resume facility (Greg Smith)
- ASN-and-LX-Reuse Facility (Roger Bowler)
- Enable or disable ASN-and-LX-reuse in config (Jan Jaeger, Ivan Warren)
- Extended Translation Facility 3 (Bernard van der Helm)
- DAT-enhancement facility (Roger Bowler)
- Immediate CCWs now correctly handled when Suppress Incorrect Length Indication is specified (Ivan Warren)
- 3270 option provided to control connection to group of devices (Ivan Warren)
- 3270 connections can be limited by IP address (David "Fish" Trout)
- Remaining 26 binary floating point instructions (Roger Bowler)
- IPL CLear, System Reset, and System Reset Clear operator commands (Ivan Warren)
- Pentium 4 optimizations enabled in gcc (Ivan Warren)

Download hercules-3.02.tar.gz

## What's new in release 3.01

Release date: 30 November 2003

- Bypass gcc 2.96 optimizer bug that caused incorrect instruction execution (Ivan Warren)
- Added command-line control panel command history (Martin Gasparovic, Volker Bandke)
- Message Security Assist (Bernard van der Helm, Jan Jaeger)
- Fixed device interrupt pending on IPL that caused OS/360 to have to be IPLed twice (David "Fish" Trout, Greg Smith)
- Added pthreads trace function for debugging (Greg Smith)
- Fish threads code rewritten, closer to POSIX thread functionality while still performing better (David "Fish" Trout)
- Fixed incompatibility with Windows NT telnet client (Greg Price, David "Fish" Trout)
- Performance and integrity enhancements for RS instructions (Greg Smith)

Download hercules-3.01.tar.gz

## What's new in release 3.00

Release date: 2 October 2003

- Dynamically loaded module support for devices, instructions, and operator console panels (Jan Jaeger, David "Fish" Trout, Ivan Warren)
- Shared and remote DASD support (Greg Smith)
- z990 (ALS4) instruction support (Roger Bowler, Jan Jaeger, Bernard van der Helm)
- HFP Multiply-Add/Subtract Facility (Roger Bowler)
- Long Displacement Facility (Roger Bowler)
- Simplified network adapter specifications (David "Fish" Trout, Jim Pierson)
- New device emulations: 2703, 3410, 3490, 9347 (Ivan Warren)
- ECPS:VM support (Ivan Warren)
- Reworked process priority handling (Mark Gaubatz)
- Greatly improved interval timer resolution (Mark Gaubatz)
- Internal consistency checking improvvements (Greg Smith)
- Corrected 3270 session disconnect processing (Ivan Warren)
- Instruction disassembler in control panel (Jan Jaeger)
- Tape read backward fixes (Jay Jaeger)
- Fix for double memory consumption bug on Windows (Mark D., David "Fish" Trout)
- OMA tape processing fixes (Ivan Warren)
- Message logging restructuring (Jan Jaeger, David "Fish" Trout)
- S/370 I/O race condition fixes (Victor Shkamerda, Greg Smith)
- Manual pages for some commands (Jim Morrison)

Download hercules-3.00.tar.gz

## What's new in release 2.17.1

Release date: 12 February 2003

- Corrected RPM installed files permissions (John Summerfield)
- Corrected dasdload verbosity level (Jay Maynard)
- Corrected card reader eof/intrq option handling, added * to designate no file loaded (Jay Maynard)
- Correct SLB instruction condition code (Jan Jaeger)
- Fix dasdutil.c track conversion function (Jim Morrison)

Download hercules-2.17.1.tar.gz

## What's new in release 2.17

Release date: 1 February 2003

- Restructured DASD subsystem: better use of memory, compressed FBA support, framework for shared DASD (Greg Smith)
- New dasdcopy utility replaces ckd2cckd and cckd2ckd, and adds compressed FBA support (Greg Smith)
- Native support for Mac OS X 10.2 and above (Paul Scott)
- Reworked CTC and LCS emulation (Jim Pierson)
- SMP host integrity fixes (Greg Smith and Jan Jaeger)
- Fixes for compile errors with gcc 3.x (Greg Smith and David "Fish" Trout)
- S/370 dual address space and MVS assist fixes (Jan Jaeger)
- Renumbered all messages to consistent format, removed duplicate numbers, and began message documentation (Jay Maynard)
- Added options for 1052/3215 consoles and card readers (Jay Maynard)
- Numerous instruction and I/O emulation fixes (Greg Smith, Jan Jaeger, Juergen Dobrinski, Bernard van der Helm, Andy Norrie, and David "Fish" Trout)

Download hercules-2.17.tar.gz

## What's new in release 2.16.5

Release date: 8 July 2002

- Correct serious CCKD image file corruption error (Greg Smith)
- Allow tape files to be opened for input if on CD-ROM (Volker Bandke)

Download hercules-2.16.5.tar.gz

## What's new in release 2.16.4

Release date: 3 July 2002

- Read backward support for emulated tape (Volker Bandke)
- Added 9313, 9332, and 9335 to list of supported devices (Tomas Masek)

Download hercules-2.16.4.tar.gz

## What's new in release 2.16.3

Release date: 2 July 2002

- CTC fix for TurboLinux bug (Jim Pierson)
- 3287 printer support via TN3270 (Tomas Masek)
- S/370 extended memory fixes (Tomas Masek)
- ctcadpt.c compilation fix for FreeBSD (Mark Szlaga)
- Fixed 3270 ERASE ALL UNPROTECTED command to not count data read (Tomas Fott)
- Fixes to ckdtab in dasdtab.c (Greg Smith)
- Retrofitted cckd chkdsk fixes/enhancements (Greg Smith)
- FBA fixes contributed by Tomas Masek (Greg Smith)
- Compatibility fixes for cckd and 2.17 (Greg Smith)

Download hercules-2.16.3.tar.gz

## What's new in release 2.16.2

Release date: 20 May 2002

- Fixed 3350 dasdtab entry (Greg Smith)
- Fixed 370 interval timer error (Valery Pogonchenko)
- Control panel attach command bug fix (David "Fish" Trout)

Download hercules-2.16.2.tar.gz

## What's new in release 2.16.1

Release date: 4 May 2002

- fthreads locking fixes (David "Fish" Trout)
- dasdload bug fix (Greg Smith)
- FBA dasd devices allow any size disk (Jay Maynard)
- Control panel attach command bug fix (Kris Van Hees)
- Windows versions (finally) accessible from main page (Jay Maynard)

Download hercules-2.16.1.tar.gz

## What's new in release 2.16

Release date: 20 April 2002

- PER support (Jan Jaeger, Paul Leisy)
- S/370 multiprocessor support (Jan Jaeger)
- Licensed software restriction (Jan Jaeger, Jay Maynard)
- Performance mods (Gabor Hoffer, Juergen Dobrinski, Greg Smith, and Paul Leisy)
- Interrupt subclass priorities (Greg Smith)
- dasdcat program (Malcolm Beattie, Roger Bowler)
- Updated TCP/IP documentation (Roger Bowler)
- CTCI support for Windows (David "Fish" Trout)
- Print to unix pipe (Roger Bowler)
- Preliminary Lan Channel Station (LCS) support
- HTTP server (Jan Jaeger)
- Various fixes (as recorded in CHANGES) (Paul Leisy, Matt Zimmerman, Greg Smith, Volker Bandke, Bernard van der Helm, David "Fish" Trout)

Download hercules-2.16.tar.gz

## What's new in release 2.15

Release date: 04 December 2001

- Autoconf added to ease portability (Matt Zimmerman, Fritz Elfert, Willem Konynenberg)
- Numerous instruction fixes (Paul Leisy)
- TUN/TAP support for Linux kernels beyond 2.4.6 (Matt Zimmerman)
- Timer fixes (Greg Smith)
- Synchronous I/O (Greg Smith)
- Support for IPL from CD-ROMs as with HMC (Jan Jaeger)
- CTC hang at shutdown fixed (Jan Jaeger)
- CTC TCP/IP now works with VM/ESA (Kris Van Hees)
- Compressed CKD endianness and RAS fixes (Greg Smith)
- Hot reader support (David "Fish" Trout)
- Machine checks now reported for host exceptions, loops, and wait states (Jan Jaeger)

Download hercules-2.15.tar.gz

## (There was no release 2.14)

## What's new in release 2.13

Release date: 05 July 2001

- Restrict TODEPOCH to 1900, 1928, 1960, 1970, or 1988, and correct offset calculation (Michael Koehne)
- HET unmount option (Michael Koehne)
- quiet command (Michael Koehne)
- Panel instruction disassembly (Jan Jaeger)
- CMPSC corrections (Bernard van der Helm)
- CTCT CTC over TCP/IP (Vic Cross)
- Sundry instruction and channel fixes (Jan Jaeger)
- Numerous instruction fixes (Paul Leisy)
- CKD trace command (Valery Pogonchenko)
- Performance enhancements (Juergen Dobrinski)
- CGEBR/CGDBR instructions (Jan Jaeger)
- CEGBR/CDGBR instructions (Kris Van Hees)
- CKD 9345 support (Greg Smith)
- Storage Key Assist (Jan Jaeger)
- Move Page Facility 2 (Jan Jaeger)

Download hercules-2.13.tar.gz

## What's new in release 2.12

Release date: 04 May 2001

- Numerous instruction fixes (Paul Leisy, Jan Jaeger, Peter Stammbach, Roger Bowler)
- FBA and CKD read-only support (Greg Smith)
- Enable ISKE/RRBE/SSKE in S/370 mode (Valery Pogonchenko)
- CCKD corrections (Greg Smith)
- CMPSC fixes for expansion (Greg Smith)
- Correct prefix alignment for ESA/390 guest in 64 bit mode SIE (Jan Jaeger)
- Card reader multiple files and EBCDIC autopad support
- Support for built-in TUN driver of Linux kernel 2.4.x
- Device I/O thread throttling (Greg Smith, Fish)
- Small optimization of vstore/vfetch and TPI (Jan Jaeger)
- Sense/Set Path Group ID for DASD (Jan Jaeger)
- Dynamic device threads (Jan Jaeger)
- Fast interrupt processing for MCK and PER (Jan Jaeger)
- Allow HET files to reside on read-only media (Leland Lucius)
- Utilities display versioning and copyright info (Greg Smith)
- Present device end on terminating console session (Jan Jaeger)
- sh panel command (Bernard van der Helm)
- 9221 power-off diagnose (Jan Jaeger)
- Debug format enhancements (Peter Stammbach)
- Fix for device threads (Juergen Dobrinski)
- Sundry new ESAME instructions and corrections (Roger Bowler, Jan Jaeger)
- Improved interrupt processing (Valery Pogonchenko)
- Incorrect-Length-Indication-Suppression facility (Jan Jaeger)
- S/370 interval timer fixes (Mark Gaubatz)
- 64-bit Interpretive Execution (Jan Jaeger)
- IEEE floating point (Willem Konynenberg)
- 64-bit panel updates (Roger Bowler)
- LPM fixes and display subchannel command (Nobumichi Kozawa)
- Fix amode64 in load_psw (Ulrich Weigand)
- Multiply Logical instructions (Vic Cross)
- Environment variables to override filenames of hercules.rc hercules.cnf and hercifc (Jan Jaeger)
- Floating point enhancements (Roger Bowler, Jan Jaeger)
- Country codepage tables (Roger Bowler)

Download hercules-2.12.tar.gz

## What's new in release 2.11

Release date: 09 February 2001

- Sundry new ESAME instructions and corrections (Jan Jaeger)
- Panel display instruction operands (Roger Bowler)
- TRAP and RP instructions (Jan Jaeger)
- TP instruction (Roger Bowler)
- Tape data chaining patch (Brandon Hill)
- Bypass Cygwin stack problem (Greg Smith)
- Fixes for Windows port (Volker Bandke)
- SSK/ISK/RRB fix for 2K storage keys (Valery Pogonchenko, Jan Jaeger)
- Extended Translation Facility 2 (Roger Bowler)
- Divide Logical instructions (Vic Cross)

Download hercules-2.11.tar.gz

## What's new in release 2.10

Release date: 02 February 2001

- z/Architecture support (Jan Jaeger)
- TUN/TAP support for CTC (Roger Bowler)
- OSTAILOR VSE option (Roger Bowler)
- 2K/4K storage key support (Jan Jaeger)
- Fully functional CMPSC instruction (Bernard van der Helm)
- Fix read-only AWSTAPE (Roger Bowler)
- Sundry new ESAME instructions (Jan Jaeger, Roger Bowler)
- Format-2 2K/4K IDAW (Roger Bowler)
- ESAME 5-level DAT (Roger Bowler)
- ESAME ASN authorization and ALET translation (Roger Bowler)
- ESAME linkage-stack instructions (Roger Bowler)
- ESAME subspace replacement (Roger Bowler)
- ESAME DUCT format changes (Roger Bowler)
- Unloaded tape drive support (Brandon Hill)
- Extended floating point (Peter Kuschnerus)
- Divide Single instructions (Jan Jaeger)
- EPSW instruction (Roger Bowler)
- Compressed CKD updates (Greg Smith)
- Timer update correction (Valery Pogonchenko)
- Fix MVCLE instruction (Jan Jaeger)
- Interval Timer fix (Bob Abeles)

Download hercules-2.10.tar.gz

## What's new in release 1.71

Release date: 18 January 2001

- Compressed CKD DASD support release 2, with improved performance, shadow file support, and better reliability (Greg Smith)
- Hercules Emulated Tape format support (Leland Lucius)
- Make HET bzip2 compression optional, analogous to CCKD bzip2 (Jay Maynard)
- Fix for track overflow record zeroing (Roger Bowler)
- Clarified licensing discussion in FAQ (Roger Bowler)
- Treat printer X'37' CCW as NOP (Jay Maynard, suggested by Brandon Hill)
- Treat X'E503' MVS/XA assist instruction as no-op (Jay Maynard, suggested by Brandon Hill)
- Read commands from hercules.rc at startup (Willem Konynenberg)
- New tapelist program prints contents of 80-byte record tapes (Jim Morrison)
- Increased MAXDBLK from 3000 to 40000 and MAXTTR from 10000 to 40000 in dasdload (Volker Bandke)

Download hercules-1.71.tar.gz

## What's new in release 1.70

Release date: 3 December 2000

- New file hercwin32.zip contains build scripts for Win32 version (Volker Bandke)
- More performance enhancements (Juergen Dobrinski)
- ALS-1 and ALS-2 support completion (Roger Bowler and Jan Jaeger)
- Extended Translation Facility (Roger Bowler)
- Pick up correct float.c module (Jay Maynard for Peter Kuschnerus)
- Distribute Windows binaries as well as Linux (Jay Maynard)
- Fix orienting bug in CKD DASD search CCW processing (Bob Abeles)
- Obtain TOD clock lock when accessing or updating 370 interval timer (Bob Abeles)
- Change license to the QPL Open Source Definition-compliant license (Roger Bowler, Jay Maynard, and Jan Jaeger)

Download hercules-1.70.tar.gz

## What's new in release 1.69

Release date: 29 October 2000

- Correct AXR and SXR instruction results when significance exception raised (Peter Kuschnerus, with help from Mario Bezzi)
- Correct CD and CDR instruction condition code logic (Peter Kuschnerus)
- Do not generate support for square root instructions in 370 mode (Peter Kuschnerus)
- Floating point arithmetic tuning (Peter Kuschnerus)
- Performance optimization fixes (Juergen Dobrinski)
- Spelling corrections (Adam Thornton)
- Fixed version number (Jay Maynard)

Download hercules-1.69.tar.gz

## What's new in release 1.68

Release date: 8 October 2000

- Rewritten and updated FAQ (Dave Morton)
- Compressed CKD DASD support (Greg Smith)
- Many performance improvements (Juergen Dobrinski, with help from Albert Louw and Valery Pogonchenko)
- DASD I/O optimizations (Greg Smith and Malcolm Beattie)
- Simplified building on non-Intel architectures (Jay Maynard)
- Fix for random bug in MP instruction (Mario Bezzi)
- Treat all 3505 card reader read CCWs the same (Jay Maynard)

Download hercules-1.68.tar.gz

## What's new in release 1.67

Release date: 4 September 2000

- Win32 portability changes (John Kozak)
- Fix for 64K segment length checking in 370 DAT (Jay Maynard, found by Mario Bezzi)
- Fix for TPI storing interrupt code when no interrupt pending (Jay Maynard, found by Greg Smith)
- Skip to channel 9 and 12 support (Roger Bowler)
- Panel refresh rate speedup and command (Reed Petty)
- Fix storage protection override on fetch (Jan Jaeger)
- SIE support, with S/370 and ESA/390 modes and vector support (Jan Jaeger)
- Bugfix for MXR instruction (by Peter Kuschnerus)
- CONCS, DISCS and RCHP instructions (Jan Jaeger)
- Fix flags on intermediate subchannel status (Jan Jaeger)
- Break SYSCONS output lines when too long (Jan Jaeger)
- Floating point instructions SQDR and SQER (by Peter Kuschnerus)
- Lock Page instruction (Jan Jaeger)

Download hercules-1.67.tar.gz

## What's new in release 1.66

Release date: 3 August 2000

- Simplify logmsg and DEVTRACE macro definitions (Jay Maynard)
- Prevent incorrect length indication on CONTROL NOP CCW (Jay Maynard)
- Complete 370 HIO processing (Jay Maynard)
- Correct nullification of TPI and TSCH (Jan Jaeger)
- Add device locking to MSCH (Jan Jaeger)
- Correct TPROT instruction (Jan Jaeger)
- Correct address wrapping on assist instructions (Jan Jaeger)
- Change interrupt logic to use longjmp on all interrupts (Jan Jaeger)
- Clear remainder of ASTE when loading ASTE with ASF=0 in translate_asn (Jan Jaeger)
- Add (incomplete) PLO instruction (Jan Jaeger)
- Fix CLCL interruption problem (Jan Jaeger)
- Fix addresswrap in MVO (Jan Jaeger)
- Make ED and EDMK perform a trial run (Jan Jaeger)
- Fix address wraparound in MVO (Jan Jaeger)
- Fix CR15 corruption in form_stack_entry, fix nullification in form_stack_entry and unstack_registers (Jan Jaeger)
- Fix loss of interrupts in PR (Jan Jaeger)

Download hercules-1.66.tar.gz

## What's new in release 1.65

Release date: 22 July 2000

- Track overflow processing fixes (by Jay Maynard, suggested by Valery Pogonchenko)
- Added TOD clock update to STCK, STCKE, DIAG 204, and TRACE processing (by Jay Maynard)
- Fixed READ DEVICE CHARACTERISTICS alternate track values for 3380 and 3390 (by Peter Macdonald)
- Skeletal CMPSC instruction (by Bernard van der Helm)
- Added support for 3340 and 3375 DASD (by Jay Maynard, with help from Rick Fochtman and David Cole)
- Corrected interval timer update increment (by Jay Maynard)
- float.c optimization for new instruction decode and execution (by Peter Kuschnerus)
- Fix program check on TIC ccw (by Jan Jaeger)
- Fix program check on NOP ccw (by Jan Jaeger)
- Instruction decode & execution restructure (by Jan Jaeger)
- Added -fomit-frame-pointer to compiles for improved performance (by Jan Jaeger)
- Fix STCKE instruction (by Bernard van der Helm)

Download hercules-1.65.tar.gz

## What's new in release 1.64

Release date: 4 July 2000

- Added track overflow processing for CKD DASD (by Jay Maynard)
- Makefile change to allow RPM building with RPM_BUILD_ROOT (by David Barth)
- Added NetBSD build definitions to makefile (by Soren Jorvang)
- Moved version definition to version.h and removed makefile dependency for source modules (by Jay Maynard)
- Package change: tarball now explodes into hercules-<version> subdirectory (by Jay Maynard, suggested by Soren Jorvang)
- Fix backward going TOD clock (by Jan Jaeger)
- Suppress superflous HHC701/HHC702 messages (by Jan Jaeger)
- Rework cpu.c to decode instructions by macro (by Jan Jaeger)
- Bypass bug in IBM telnet client (by Jan Jaeger)

Download hercules-1.64.tar.gz

## What's new in release 1.63

Release date: 18 June 2000

- 3270 CCW processing improvements (by Jan Jaeger)
- OSTAILOR generalization, and new pgmtrace panel command (by Jan Jaeger)
- VM IUCV instruction correction and DIAGNOSE improvements (by Jan Jaeger)
- CPU timer and clock comparator improvements (by Jan Jaeger, after a suggestion by Willem Konynenberg)
- 3480 READ BLOCK ID and LOCATE CCW support (by Brandon Hill)
- Networking support via virtual CTCA (by Willem Konynenberg)
- Restructured CPU execution, by function call instead of switch statement (by Mike Noel)
- Support for IEBCOPY sequential output datasets in dasdload (by Ronen Tzur)
- New dasdls command lists the VTOC of a CKD DASD volume (by Malcolm Beattie)
- New AWSTAPE handling commands: tapesplt, tapemap (by Jay Maynard)
- `make install` target to install in /usr/bin (by Jay Maynard)

Download hercules-1.63.tar.gz

## What's new in release 1.62

Release date: 3 June 2000

- Still more multiprocessor improvements (by Jan Jaeger)
- Dynamic CPU reconfiguration (by Jan Jaeger)
- Basic vector facility (by Jan Jaeger)
- Floating point version 6 (by Peter Kuschnerus)
- READ AND RESET BUFFERED LOG CCW (X'A4') support (by Jay Maynard)
- WRITE SPECIAL CKD CCW (X'01') support (by Jay Maynard)
- FBA DASD model reporting fixes (by Jay Maynard)

Download hercules-1.62.tar.gz

## What's new in release 1.61

Release date: 21 May 2000

- More multiprocessor improvements (by Jan Jaeger)
- New startall/stopall panel commands (by Jan Jaeger)
- STIDP stores processor address in first digit of CPU id (by Roger Bowler)
- Correction to IPTE instruction for S/370 (by Jay Maynard)
- Dummy HIO instruction for S/370 (by Jay Maynard)
- Support for emulated 0671 FBA DASD (by Jay Maynard)
- FBA device reserve/release CCW support (by Jay Maynard)
- New OSTAILOR configuration option allows selective suppression of program check messages (by Jay Maynard)

Download hercules-1.61.tar.gz

## What's new in release 1.60

Release date: 14 May 2000

- Multiprocessor locking improvements (by Jan Jaeger)
- Machine check and channel report word (by Jan Jaeger)
- Store Channel Report Word (STCRW) instruction (by Jan Jaeger)
- New attach/detach/define commands to allow dynamic addition and deletion of devices from the configuration (by Jan Jaeger)
- Compare and Swap and Purge (CSP) instruction (by Jan Jaeger)
- Broadcasted purging (by Jan Jaeger)
- Fix LASP instruction SASN authorization using wrong AX if bits 29-31 are 010 and SASN \= PASN (by Mario Bezzi)
- Fix SAC instruction special operation exception setting secondary space mode when ASF=0 (by Mario Bezzi)
- Remove intdrag option and replace drag command by toddrag command
- New extpending flag to improve performance (originally contributed by Valery Pogonchenko and enhanced by Jan Jaeger)
- Allow longer host name in console connected message (by Jay Maynard)
- Floating point version 5 including fixes by Mario Bezzi (contributed by Peter Kuschnerus)

Download hercules-1.60.tar.gz

## What's new in release 1.59

Release date: 30 Apr 2000

- Missing interrupt after CSCH instruction
- S/370 DAT support (contributed by Jay Maynard)
- Tape device sense byte improvements (by Jan Jaeger)
- Read Buffered Log (CCW X'24') for tape devices (by Jan Jaeger)
- Reject Sense ID CCW for 3420 tape devices (by Jan Jaeger)
- Suppress unprintable character in HMC messages (by Jan Jaeger)
- Suppress attention interrupt if subchannel not enabled (by Roger Bowler)
- New interrupt drag factor to improve performance (by Roger Bowler)
- New toddrag and intdrag config options and drag control panel command allow drag factors to be set (by Roger Bowler)
- Light optimization on CPU critical path (by Valery Pogonchenko)
- Eliminate fetch protection override in S/370 mode (by Valery Pogonchenko)

## What's new in release 1.58

Release date: 22 Apr 2000

- Support for CKD DASD volumes exceeding 2GB such as 3390-3 (by Roger Bowler)
- 3274-1D SELECT RB/RMP/RBP/WRT commands (by Roger Bowler)
- Support for 3270 14-bit SBA addressing and inbound SFE order (by Roger Bowler)
- Command reject if Write Structured Field CCW issued to a 3270 without extended attributes (by Roger Bowler)
- Fix missing CSW_IL indication when CCW count exhausted (by Roger Bowler)
- Do not set unit exception if CCW count is zero (by Jan Jaeger)
- Suppress space switch event program check messages (by Jan Jaeger)
- Branch tracing and cross memory tracing for BALR, BASR, BASSM, BAKR, BSA, BSG, SSAR, PC, PT, PR instructions (by Jan Jaeger)
- New diagnose instruction to stop CPU (by Jan Jaeger)
- Drag factor option slows down TOD clock, to decrease overhead on very slow machines (by Jan Jaeger)
- Correction to PR instruction (by Jan Jaeger)
- Correction to LASP instruction (by Jan Jaeger)
- Make CLCLE/MVCLE/CKSM instructions conditional features (by Jan Jaeger)
- Enable channel measurement mode (by Jan Jaeger)
- Modify program_check() to handle shadow registers correctly (by Jan Jaeger)
- Change DAT to favour PSTD in TEA, to give reduction in page fault path length (by Jan Jaeger)
- Avoid clearing registers at CPU reset (by Jan Jaeger)
- Leave GPR, AR and FPR intact during CPU reset for SADUMP (by Jan Jaeger)
- Zeroize field for called space identification in PC stack entry (by Jan Jaeger)
- New CCW X'8D' (Write Update Key and Data) required by STOW (by Jan Jaeger)
- Fix for 0B7 abend in D M=CHP command (by Jan Jaeger)
- Floating point version 4 including fixes by Valery Pogonchenko (contributed by Peter Kuschnerus)
- Fix incorrect second operand address in MVCIN instruction (by Roger Bowler)
- Correct sign of zero result in SRP instruction (by Roger Bowler)
- Erase Gap (CCW X'17') for tape devices (by Roger Bowler)
- Activate MIPS counter on control panel (by Dutch Owen)
- Suppress tracing of ISK, SCK, and DP instructions

## What's new in release 1.57

Release date: 30 Mar 2000

- Fix program check 0032 due to wrong stack entry being updated
- Fix wrong SSTD loaded by LASP instruction (found by Jan Jaeger)
- Bypass main storage lock in single CP configuration (by Jan Jaeger)
- Fix incorrect condition code in PGIN instruction (by Jan Jaeger)
- Corrections to expanded storage instructions (by Jan Jaeger)
- New STCPS and SCHM instructions (by Jan Jaeger)
- Set more appropriate sense bytes for tape errors

## What's new in release 1.56

Release date: 28 Mar 2000

- Fix incorrect unit exception on SCSI tape FSB/BSB CCW (reported by Daniel Rudin)
- Fix unit check on AWSTAPE write (reported by Axel Schwarzer)
- Close SCSI tape after tape is ejected
- Detect tapemark during SCSI tape FSB/BSB CCW
- Suppress HMC response prompt (by Jan Jaeger)
- Expanded storage support (by Jan Jaeger)
- Move Page Facility 2
- Correct signed length error in MVCK/MVCS/MVCP (by Jan Jaeger)
- Undetected CC=3 in SRP instruction
- Wrong remainder in DP instruction when dividend is less than divisor
- Specification exception in DP instruction should have higher priority than data exception

## What's new in release 1.55

Release date: 22 Mar 2000

- FBA minidisk support
- Additional diagnose functions
- Allow real storage frames to be marked unusable (by Jan Jaeger)

## What's new in release 1.54

Release date: 18 Mar 2000

- Address wraparound improvement (contributed by Jan Jaeger)
- Floating point version 3 (contributed by Peter Kuschnerus)
- Correction to SLDA/SRA instructions (contributed by Jan Jaeger)
- Recognize tabs and end-of-file character in ASCII cardrdr files
- Hercules-specific diagnose instructions (contributed by Jay Maynard)
- Correct missing timer interrupt when interval timer goes from zero to negative (thanks to Valery Pogonchenko)
- Enable HMC system console in S/370 mode
- Correct sign propagation in multiply instruction
- Reduce CPU thread priority (thanks to Steve Gay and Reed H.Petty)

## What's new in release 1.53

Release date: 01 Mar 2000

- Add BSF/FSF/BSB/FSB CCW support for tape devices
- Allow final short block in OMA fixed block files
- Allow processing of read-only AWSTAPE files and SCSI tapes
- Skeleton ctcadpt module for future 3088 support
- Correctly nullify IC/NI/OI/XI/CLM/STCM/ICM/TRT instructions on page translation exception (thanks to Jan Jaeger)
- Improved floating point support (contributed by Peter Kuschnerus)
- Correct shift result when shift count exceeds 31 (thanks to Glen Herrmannsfeldt and Jay Maynard)
- Fix incorrect MVCL cc=3 when destination length is 1

## What's new in release 1.52

Release date: 19 Feb 2000

- Prevent incorrect length indication on 3270 Select CCW
- 2K storage protection for S/370
- Prevent wait for console port (thanks to Malcolm Beattie)
- Allow keyword parameters in configuration file
- New sysepoch and tzoffset parameters (thanks to Jay Maynard)
- Adjust TRACE and DIAG204 for extended TOD (thanks to Jan Jaeger)
- Set TOD clock in SCK instruction (thanks to Jan Jaeger)

## What's new in release 1.51

Release date: 15 Feb 2000

- 3270 read buffer fix for OS/360 NIP
- Floating point instructions (contributed by Peter Kuschnerus)
- Remove 32-bit pointer dependency from dasdload for Alpha
- HMC system console support (contributed by Jan Jaeger)
- Correct condition code after decimal overflow (thanks to Jan Jaeger)
- Set reference and change bits for PSA access (thanks to Jan Jaeger)
- New CRLF option for printer and card punch (default is now LF)

## What's new in release 1.50

Release date: 10 Feb 2000

- Remove interval timer debugging message
- Fix hung console resulting from attention interrupt fix in 1.49
- Seek and Set Sector (CCW=27) for Itel 7330 DASD controller
- Correct SIGP handling of non-existent CPUs (thanks to Jan Jaeger)
- Extended TOD clock bit in processor features (thanks to Jan Jaeger)
- Alternate control panel help text (contributed by Dutch Owen)
- Card reader end of file option (thanks to Dutch Owen)
- Card reader ASCII/EBCDIC auto-detection
- Fix SIGP RESTART to target correct CPU (thanks to Jan Jaeger)
- Allow VTOC size and location to be specified for dasdload.

## What's new in release 1.49

Release date: 05 Feb 2000

- Alternate control panel (contributed by Dutch Owen)
- Present attention interrupt when console connects
- Fix dasdload CVOL logic (thanks to Jay Maynard)
- Fix dasdload initialization of empty PDS
- Allow device size to be specified for dasdload Note: the volser record in the pack layout file must be changed to specify the device type and cylinder count; the device type is no longer specified on the command line.
- Add dummy Set Clock instruction (does nothing except set cc 0)

## What's new in release 1.48

Release date: 31 Jan 2000

- Fix dasdload to handle note lists (prevent 32D abend)
- I/O interrupt performance enhancement
- Correctly detect overflow in signed Add/Subtract instructions
- Fix track overflow problem
- 3270 Read Modified CCW

## What's new in release 1.47

Release date: 23 Jan 2000

- Allow tn3270 or telnet client to connect to specific device number
- Align control panel instruction counter (thanks to Mario Bezzi)
- Ensure panel display does not corrupt TEA (by Jan Jaeger)
- STIDP incorrectly propagates high order bit of CPU model (fixed by Jan Jaeger)
- Fix byte-ordering problem with CKD DASD header on non-Intel machines (reported by Adam Thornton)
- STIDC instruction
- Extended TOD clock (STCKE and SCKPF instructions)
- 3211 Load FCB and Diagnostic Read CCW
- 3270 Read Buffer CCW
- Fix console.c to inhibit input while console has status pending

## What's new in release 1.46

Release date: 11 Jan 2000

- HSCH instruction
- SIGP instruction
- Suppress tracing of page faults
- Display control registers and access registers after program check
- Add regs parameter to program_check function calls
- New panel command to perform store status function
- Suppress tracing of CCW file protect and end of cylinder errors

## What's new in release 1.45

Release date: 08 Jan 2000

- Make MVCL/CLCL interruptible (contributed by Jan Jaeger)
- Diagnose 204 (contributed by Jan Jaeger)
- Read Channel Subsystem Info (contributed by Jan Jaeger)
- Fix incorrect register count in TRACE instruction
- Correct nullification of STM/LM/LAM/STAM/STCTL/LCTL/STCM and SS instructions whose operands cross a page boundary
- Suppression on Protection with Virtual-Address enhancement
- Select correct address space for MVCS/MVCP (fixed by Jan Jaeger)
- Correct registers after CLCL/CLCLE with non-zero condition code
- Defer clock comparator interrupt while instruction stepping
- Remove 32K limit on data chained write CCWs for non-CKD devices
- Correct overrun error on data chained write for FBA DASD

## What's new in release 1.44

Release date: 01 Jan 2000

- Support for 9336 FBA DASD
- Read Replicated Data command for FBA DASD
- Prevent recursive program check after instruction fetch error
- Operand tracing for MVCL/CLCL and RRE instructions

## What's new in release 1.43

Release date: 27 Dec 1999

- New control panel command: devlist
- Write Update Data (X'85') CCW for CKD devices
- Makefile changed to use $(CC) instead of cc
- Fix dat.c to prevent ASN translation specification exception (program check X'0017') if subspace group facility is installed and ASF is one
- Fix cpu.c to clear ILC before fetching instruction to prevent PSW being backed up if access error occurs during instruction fetch
- Correct program check ILC when instruction is nullified
- Obtain CPU model number for STIDP from configuration file (contributed by Jay Maynard) Note: if upgrading from an earlier release, you must change your hercules.cnf file to add a valid CPU model number after the CPU serial number
- Prevent wait after devinit (thanks to Jay Maynard)
- Open printer with O_SYNC to ensure buffers flushed (suggested by Daniel Seagraves)
- Fix xmem.c to prevent loop in program_call when loading 4-word ETE (thanks to Jan Jaeger)
- Improved TLB lookup (contributed by Jan Jaeger)

## What's new in release 1.42

Release date: 16 Dec 1999

- New makefile builds both S/370 and ESA/390 executables: hercules-370 and hercules-390 (contributed by Jay Maynard)
- 3480 Set Path Group Id and Unassign CCWs (contributed by Jan Jaeger)
- CFC and UPT instructions (contributed by Peter Kuschnerus)
- Card punch support
- Erase (X'11') CCW for CKD devices
- Correct setting of translation exception address
- Correct file mode when opening printer file
- Correct condition code for shift arithmetic instructions

## What's new in release 1.41

Release date: 07 Dec 1999

- Set reference and change bits correctly for main storage accesses by channel, dat, xmem, stack, block, and service modules (thanks to Jan Jaeger)
- New devinit command (contributed by Jay Maynard)
- Reject control panel virtual storage display command if CR1=0
- Fix dasdload to correctly write EOF record for empty file and to correctly fill block overhead fields in format4 DSCB.
- Diagnose functions MSSFCALL and SCPEND (contributed by Jan Jaeger)
- Corrections to service.c and assist.c (contributed by Jan Jaeger)
- Alpha platform portability definitions (contributed by Jay Maynard)
- 3480 Assign CCW (thanks to Rick McKelvy)

## What's new in release 1.40

Release date: 30 Nov 1999

- New DASDISUP program performs OS/360 IEHIOSUP function
- Correct SCSW handling for suspend/resume
- Forward space file CCW for tape devices
- 3480 load display CCW (contributed by Jan Jaeger) and sense path group id CCW (thanks to Rick McKelvy)
- Correct handling of OMA tape headers to correctly recognize tape mark and to align headers to 16-byte boundary
- EBCDIC character translation of CCW data displays
- Fix command reject for CKD read commands outside the domain of a locate record

## What's new in release 1.39

Release date: 24 Nov 1999

- Concurrent sense
- I/O initial status interruption
- Channel program suspend/resume function and RSCH instruction
- Read Device Characteristics CCW for 3480
- Fix incorrect command reject on Sense Subsystem Status CCW
- Increase 3270 write buffer size to prevent console I/O error when using Zap function of ZZSA
- Fix very nasty error in dat.c causing wrong bytes to be fetched or stored when operand crosses page boundary
- Remove temporary fix to ckddasd.c introduced in 1.37

## What's new in release 1.38

Release date: 22 Nov 1999

- New panel commands to allow storage alteration
- Fix incorrect I/O parameter on attention interrupt (thanks to Jan Jaeger for reporting this bug)
- Clear PMCW correctly during I/O reset
- Change 3270 control unit type to 3274-1D
- Fix restart command broken by 1.37

## What's new in release 1.37

Release date: 19 Nov 1999

- Storage range display
- EBCDIC character translation of storage displays
- New breakpoint command (contributed by Dan Horak)
- Messages go to log file as well as screen if stdout is redirected
- Fix missing interrupt caused by channel.c failing to obtain device lock before setting interrupt pending
- Fix incorrect cond code 1 in attention SCSW built by console.c
- New Read Channel Path Information service call
- Temporary fix to ckddasd.c multitrack search
- Addition of Read Device Characteristics and Sense Subsystem Status commands for CKD devices
- New DASDPDSU program to unload PDS members from a CKD volume

## What's new in release 1.36

Release date: 12 Nov 1999

- Clear subchannel instruction
- Correct fault causing control panel display corruption

## What's new in release 1.35

Release date: 09 Nov 1999

- Improved control panel user interface
- New control panel commands: start, stop, restart, ipl, loadparm
- New loadcore command to load disk image files
- S/370 interval timer
- Allow 31-bit mode linkage in lock instructions
- Support for PCI in ESA/390 mode as well as S/370 mode
- Correct problem causing false channel protection checks

## What's new in release 1.34

Release date: 29 Oct 1999

- New DASDLOAD program to create a CKD volume from unloaded PDS files
- Correct CKD module to prevent record not found error on multitrack Read Count CCW

## What's new in release 1.33

Release date: 26 Oct 1999

- Write support for SCSI tapes and AWSTAPE files
- Correct handling of REWIND command for AWSTAPE files
- Correct nasty bug in Subtract Logical instruction (thanks to Roland Goetschi for finding this bug)
- Ensure unique TOD clock values for Store Clock
- Correction to unstacking process for PR instruction
- Implementation of Read Multiple CKD command

## What's new in release 1.32

Release date: 18 Oct 1999

- Support for virtual tapes in OMA (Optical Media Attach) format
- SCSI tape support (read-only)
- Minor corrections to CKD DASD support

If you have a question about Hercules, see the Hercules Frequently-Asked Questions page.

Last updated $Date: 2009/01/09 16:33:51 $ $Revision: 1.52 $