Hercules 1.44 announcement

By Roger Bowler

Jan 1, 2000

What's new in release 1.44:
* 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

Regards, Roger Bowler.

12:06 pm


Hercules 1.45 announcement

By Roger Bowler

Jan 8, 2000

What's new in release 1.45:
* 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

DOS fans (and I'm not talking about MS-DOS here!) will particularly
like this release.

Roger Bowler.

10:05 pm


Hercules 1.46 announcement

Roger Bowler

Jan 11, 2000

What's new in release 1.46:

* 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

Regards, Roger Bowler.

9:42 pm


Hercules 1.47 announcement

Roger Bowler

Jan 22, 2000

What's new in release 1.47:

* 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

Roger Bowler

11:03 pm


Hercules 1.48 announcement

Roger Bowler

Jan 31, 2000

What's new in release 1.48:

* 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

Regards, Roger Bowler.

5:05 pm


Hercules 1.49 announcement

Roger Bowler

Feb 5, 2000

What's new in release 1.49:

* 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
* Add dummy Set Clock instruction (does nothing except set cc 0)

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 dasdload command line.

Thanks to Dutch Owen for the new panel display. Press Esc to switch
between the two alternate panel formats.

Regards, Roger Bowler.

10:09 pm


Hercules 1.50 announcement

Roger Bowler

Feb 10, 2000

What's new in release 1.50:

* 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.

9:41 pm


Hercules 1.51 announcement

Roger Bowler

Feb 15, 2000

What's new in release 1.51:

* 3270 read buffer fix for OS/360 NIP
* Floating point instructions (contributed by Peter Kuschnerus)
* Remove 32-bit pointer dependency from dasdload
* 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)

Regards, Roger.

(The outstanding TOD clock fixes from Jan and Jay didn't make it
into this release but are scheduled for 1.52)

6:09 pm


Hercules 1.52 announcement

Roger Bowler

Feb 19, 2000

What's new in release 1.52:

* 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 (by Jay Maynard)
* Adjust TRACE and DIAG204 for extended TOD (by Jan Jaeger)
* Set TOD clock in SCK instruction (by Jan Jaeger)

See http://www.snipix.freeserve.co.uk/hercconf.htm for details of
the new-style configuration file using keywords instead of positional
parameters. The old-style configuration files will still work however.

The new sysepoch parameter can be used to adjust the TOD clock
for OS/360. Although the standard sysepoch for OS/360 is 1960,
this causes problems because OS/360 treats any date beyond
2000 as a clock error. However, by specifying sysepoch 1988 then
you can fool OS/360 into thinking that the current date is 1972 (12
years from the start of the epoch). As Tony Harminc said, "72 is a
very good year to choose: it's bang in the middle of when these
systems were actually running, and it just happens to have the
same day-of-week mapping as 2000 (including the leap year)."
Thanks to Tony for this idea, to Jay Maynard for writing the code
that calculates the epoch, and to Jan Jaeger for the code that sets
the clock.

Regards, Roger.

11:17 pm


Hercules 1.53 announcement

Roger Bowler

Mar 1, 2000

What's new in release 1.53:

* 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

Roger Bowler

6:58 pm


Hercules 1.54 announcement

Roger Bowler

Mar 18, 2000

What's new in release 1.54:

* 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)

Roger Bowler

8:27 pm


Hercules 1.55 announcement

Roger Bowler

Mar 22, 2000

What's new in release 1.55:

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

This may not look much, but it opens the possibility of IPLing CMS
natively under Hercules.

Regards, Roger.

11:08 pm


Hercules 1.56 announcement

Roger Bowler

Mar 28, 2000

What's new in release 1.56:
* 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

Regards, Roger

8:32 pm


Hercules 1.57 announcement

Roger Bowler

Mar 30, 2000

What's new in release 1.57:

* 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

Roger Bowler

9:45 pm


Hercules 1.58 announcement

Roger Bowler

Apr 22, 2000

What's new in release 1.58:

* 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)
* 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

Download from http://www.snipix.freeserve.co.uk/hercules.htm

This is the milestone release which a number of you have been waiting
for. Thanks are due to Jan Jaeger for the many hours of work he has
done in finding and fixing some particularly tricky bugs in the
cross-memory feature.

Jay Maynard's S/370 DAT patch is not included in this release. Jay
will be uploading a revised patch for 1.58 within the next few days,
and if all goes well I plan to integrate the patch into release 1.59.

Regards, and happy Herculing,
Roger.

2:59 pm


Hercules 1.59 announcement

Roger Bowler

Apr 30, 2000

What's new in release 1.59:
* 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)

Note: the toddrag and intdrag config options and the drag command are
not yet documented, they are still experimental and may change in
future. The intdrag nnn option makes the cpu check for interrupts
every nnn instructions instead of before every instruction. It
defaults to 100. This produces a noticable increase in the MIPS rate
(maybe a factor of 2 or 3). The toddrag nnn option slows down the tod
clock and can be used if excessive timer interrupts are slowing down
throughput. It defaults to 1 (no drag) but OS/390 users may see
better throughput by setting toddrag 10. Of course, this makes the
tod clock show the wrong time, but that's life! You have to choose
between the correct time or better throughput.

Regards, Roger Bowler.

6:57 pm


Hercules 1.60 announcement

Roger Bowler

May 14, 2000

What's new in release 1.60:

* 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
* Fix SAC instruction special operation exception setting secondary
space mode when ASF=0
* 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 (contributed by Peter Kuschnerus)

Roger Bowler

7:54 pm


Performance

Roger Bowler

May 21, 2000

With 1.61 you should be seeing rather healthier MIPS rates now. I'm
getting rates in the 0.5-0.7 range now on a Celeron 300, quite an
improvement on the 0.3 I was seeing a couple of releases ago.

Thanks to Jan Jaeger and Valery Pogonchenko for the work they did in
bringing about this improvement.

Regards,
Roger.

12:48 pm


Hercules 1.67 announcement

Jay Maynard

Sep 4, 2000

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)

Now that this is out of the way, I'd like folks to exercise it and make sure
things are working properly...and plan for 1.68 to be primarily the
interrupt enhancements Juergen's been working on so diligently. (Although
I'll also include Greg Smith's compressed DASD support, since that one's
just too good to pass up!) As always, bug fixes are quite welcome.

Oh, and while I'm here, I'll note the mailing list now has 444 members.
Whee!

4:49 pm


Hercules 1.68 announcement

Jay Maynard

Oct 8, 2000

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, David Pritchard, 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)

A few things worth noting:

1) There are now RPMs optimized for 386, Pentium, and Pentium Pro and higher
architectures on Intel. Along with this goes a new build option, HOST_ARCH.
The makefile will now build for Pentium by default; you can override this by
giving i386 or i686 to the HOST_ARCH option, as follows:

make HOST_ARCH=<architecture>

If you're building on non-Intel systems, you MUST specify HOST_ARCH as
something other than i386, i586, or i686. If you do lots of rebuilding of
the system, you can include a line

HOST_ARCH=<architecture>

at the top of the makefile.

2) Juergen's CPU optimizations are compiled with EXPERIMENTAL turned off in
the supplied RPMs.

3) CCKD support is present, but with bzip2 compression disabled.

Sorry this took so long to get out, but I wanted to make sure it was as good
as I could get it before turning it loose on the world.

Now, let's see what else we can fix...

9:54 pm


Hercules 1.69 announcement

Jay Maynard

Oct 29, 2000

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)

This is a minor cleanup release...tying up some loose ends.

4:13 pm


Copyright 1999