# What's new in Hercules

## 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 Konynberg)
- 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

## What's new in release 2.10

Release date: 02 February 2001

- z/Architecture support (Jan Jaeger)
- TUN/TAP support for CTC (Roger Bowler)

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 Koynenberg)
- 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)
- Pick up correct float.c module (Jay Maynard)
- 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)

## 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 12 February 2003