Hercules Version 1.33

By Roger Bowler

Oct 26, 1999

I have just uploaded version 1.33.

New in this release is:
* Write support for SCSI tapes and AWSTAPE files
* Correct handling of REWIND command for AWSTAPE files
* Correct nasty bug in Subtract Logical instruction
* Ensure unique TOD clock values for Store Clock
* Correction to unstacking process for PR instruction
* Implementation of Read Multiple CKD command

As usual, you can download it from
http://www.snipix.freeserve.co.uk/hercules.htm

Regards,
Roger Bowler

2:37 pm


Hercules 1.34

By Roger Bowler

Oct 29, 1999

I have uploaded version 1.34.

New in this release:

* 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

The purpose of the DASDLOAD program is to build an OS/360
IPL volume using the unloaded PDS files from Rick Fochtman's
OS/360 Archive CD. When I get a successful IPL, I'll announce
it here (after opening a bottle of champagne)

Regards,
Roger Bowler

 8:43 pm


Hercules 1.35

By Roger Bowler

Nov 10, 1999

Hello all. I have uploaded version 1.35. New in this release:

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

The major change is the new control panel. Instead of starting
Hercules with the ipl command, you now start it with the hercules
command, connect your console, and then issue the ipl command
from the control panel command line.

The advantages of the new control panel are:
1. You can enter commands at any time
2. You can scroll up and down the displayed messages
3. You can reipl without restarting hercules (the console session
remains connected across IPLs, and device files remain open
so you can IPL more than once from the same tape for example)
4. There are new stop, start, restart, and loadparm commands
5. There is a continuous display of the PSW and CPU status

Of course this makes the programming of the display a bit more
complex than before -- now the display runs on the main thread and
the CPU runs on its own thread, and messages are piped to the
control panel thread instead of just being simple printf's. Hopefully
this won't slow things down too much. If you find bugs in the new
control panel, or you just don't like it, then let me know.

The good news is, I believe we may be at last within sight of seeing
an IPL of a real system (for the moment I'll leave it to you to guess
whether I'm thinking of OS/390, VSE, or VM). I hope to have some
more news about this soon.

Thanks to all who have helped to pinpoint the bugs so far. Each bug
fixed gets us a little bit further down the road towards that magical
"specify system parameters" message, which I believe cannot be
far away now.

Roger Bowler

12:21 am


Hercules Version 1.36

By Roger Bowler

Nov 12, 1999

Hercules version 1.36 is now available for download, changes are:

* Clear subchannel instruction (new)
* Correct fault causing control panel display corruption

plus more complete documentation for the dasdload.c program is
now available on the web pages.

Regards,
Roger Bowler.

10:43 pm


Hercules 1.37

By Roger Bowler

Nov 19, 1999

I have uploaded version 1.37. New in this release:

* 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 to avoid 012033 wait state at IPL
* Addition of Read Device Characteristics and Sense Subsystem
Status commands for CKD devices
* New DASDPDSU program to unload PDS members from a
CKD volume

Cheers, Roger.

8:56 pm


Hercules 1.38 announcement

By Roger Bowler

Nov 22, 1999

I have uploaded version 1.38. New in this release:

* 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

Cheers, Roger.

12:38 am


Hercules 1.39 announcement

By Roger Bowler

Nov 24, 1999

What's new in release 1.39:

* 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

The "very nasty error" is what was causing the MSCH problem which
Marcel Schmidt reported, I believe.

I don't think suspend/resume is working properly yet -- any comments
welcome.

Cheers, Roger.

12:50 am


Hercules 1.40 announcement

By Roger Bowler

Nov 30, 1999

What's new in release 1.40:

* 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

If anyone wants to play with OS/360, I've uploaded a small 3330
image to http://www.snipix.freeserve.co.uk/hercules/mftr33.tar.gz

Regards, Roger.

4:35 pm


Hercules 1.41 announcement

By Roger Bowler

Dec 8, 1999

What's new in release 1.41:

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

Despite all that work, it won't fix any of the persistent unresolved
problems I'm afraid.

12:20 am


Hercules 1.42 announcement

By Roger Bowler

Dec 16, 1999

What's new in release 1.42:

* 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

11:29 pm


Hercules 1.43 announcement

By Roger Bowler

Dec 27, 1999

What's new in release 1.43:

* 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 (sorry!)
* 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)

Regards and happy Y2K, Roger Bowler.

6:03 pm


Copyright 1999