Version 1.11.1 (build 5265)
(March 1, 2007)
- Fixed Visual Studio 2005 SP1 manifest issue (grumble)
- Added support for print-to-pipe to Add Printer dialog
Version 1.11.0 (build 5239)
(late February 2007)
- Added missing support for specifying buffer sizes to LCS Device Configuration dialog, thereby also fixing a minor parsing bug that was causing incorrect IP addresses to be parsed if/when buffer sizes were specified on the device statement
- Converted to Visual Studio 2005 with 64-bit support (requires new VS2005 FishLib)
- Redesigned the System Configuration dialog to accomodate support for some new/existing Hercules configuration statements (CONKPALV, MOUNTED-TAPE-REINIT, TIMERINT, HERCPRIO, TODPRIO, etc)
- Updated all menu handlers to new version of BCMenu
- Updated the Display/Alter Storage dialog to use FishLib HexEdit control
- Added new "Beep when utility is done" Preference option
- Added 3390-54 dasd support
- Finally got around to adding support for displaying 64-bit registers
Version 1.10.1 (build 4909)
(October 2006; minor tweaks)
- Preserve width/height of floating/docked control bar panes (especially the DeviceList pane) across HercGUI sessions
- Add 3-pixel left margin to console display
- Add code to help increase chances of "Oops!" Crash Dump dialog automatically appearing
for the rare case of whenever a Hercules crash should ever occur. (Herc 3.05 or greater)
- Changed behavior of 'Stop' and 'Start' buttons to always issue 'stopall' / 'startall' command regardless
of whether NUMCPU > 1 or not (since stopall/startall works fine irrespective of how many CPUs are defined).
Version 1.10.0 (build 4890)
(August 2006; Herc 3.05 support)
- Added missing support for some DASDLOAD options
- "\\.\Tape0" file-specification format now accepted for tape-device filenames in addition to existing "/dev/nst0" format
- Fixed configuration-file save logic ('File' -> 'Save configuration...') to always write MODPATH statements ahead of any LDMOD statements
- Tweaked the hung-process detection & handling logic again (I'll get it right eventually!)
- Minor fix to BrowseForDirectory sometimes causing incorrect initial browse directory to be used
- Various other miscellaneous fixes and technical corrections
- Added support for new YROFFSET statement
- Added support for optional YROFFSET argument on SYSEPOCH statement
- Added some new code pages to listbox on Misc/Other tab of System Configuration dialog
- LogFile now opened in shared mode instead of exclusive mode (so it may be viewed via 'notepad' for example, while HercGUI is still up and running)
- Removed support for CKD2CCKD and CCKD2CKD utilities (both have long been replaced by the DASDCOPY utility)
- Added support for PANTITLE statement (silently ignored)
- Added support for '-r' raw init option to DASDINIT (skips writing VOL1 label)
- Removed 'conspawn' from distribution in favor of Hercules's version.
The use of HercGUI's 'conspawn' is discouraged as it does not properly support starting Windows GUI type applications.
The 3.05 and later versions of Hercules come with a version of the conspawn utility that does properly handle starting Windows GUI applications and should be used instead.
- Added (by user request) support for changing the System Status and Registers bars fonts
- Added support for Windows XP Visual Styles
- The System Status bar now contains a spinner control allowing quick/easy selection of which CPU's information should be displayed
Version 1.9.5 (build 4734)
(December 2005; Herc 3.03 support)
- Fixed devinit/attach for Display Terminals (Terminal Group required; '*' if none)
- Fixed(?) hung [Hercules] process detection / handling
- Fixed bug causing rejection of 3-digit device addresses
- Corrected recognition of certain DasdLoad progress messages
- Corrected issue where clicking 'OK' from the System Configuration dialog after having Powered On without actually making any changes would mistakenly cause HercGUI to believe the active configuration file had been modified.
- HercGUI now logs which Preferred executables directory is being used at Power On
- The default Logging Preference option is now "Automatic"
- New Misc2 Preference option to suppress manual edit reminder warning msgbox
- Button added to command-line bar to set 'sh'ell command target directory (requires accompanying Hercules 3.03 support if Misc 'sh' command Preference set to "Let Hercules issue the command")
- Complete redesign of Systen Configuration dialog: is now a multi-page Property Sheet dialog instead in order to have room to support the many new/existing configuration file settings/statements
- Added support for some new Herc config file statements: OSTAILOR ZOS, ARCHMODE z/Arch (same as ESAME), SHCMDOPT, and ALRF (synonym for ASN_AND_LX_RESUSE)
- Moved the "Modify settings" and "Modify devices" commands from their original more cumbersome(?) submenu location directly into the "File" menu itself where they're more easily accessible
- Added support for new DASDCONV utility
- Tweak Percent Utilization Meter handling to hopefully be less jumpy
- cpu-types.txt: Corrected/updated/added entries for zSeries z890 and new System z9 109 series CPU models as well as the names of existing zSeries models as per current IBM documentation
- CTCI/CTCT device statements now use the more proper 'new' format (devtype 3088 deprecated)
- Added support for new 1052-C and 3215-C Integrated Console Printer devices
- Add support to TAPECOPY utility dialog for copying SCSI tape both to -or- from AWS files since new Hercules 3.03 now supports copying in either direction.
- The Devices Configuration dialog now remembers/restores its previous size/psotion
- Improved restoration handling of main window's previous size and position
- Updated some existing minimum, maximum and default "registry tweak" values and added/documented some new ones
Version 1.8.15 (build 4316)
(approximate release date: August 2005)
(Desc: MSVC Herc support)
- Added missing support for 3390-27 dasd type (also known as 3390-J)
- More efficient device status updating logic (when used with the new MSVC version of Hercules)
- Create a new logfile each and every time GUI is started to prevent logfile filename clash with any already running HercGUI
- Tweak message handling logic to better handle message bursts/floods
- Track document width more efficiently for horizontal scrollbar purposes (message burst handling tweak)
- DASDINIT dialog: Save/Restore previously used device-type and volser
Version 1.8.8 (build 4207)
(approximate release date: Dec 2004)
(Desc: another very minor glitch-fix)
- Skip recalculation of Device-List Pane control bar height when main window is minimized in order to prevent unintentional miscalculation of pane height.
- Now linking directly to dbghelp.lib (dbghelp.dll) as I should have been all along (imagehlp.dll has long been deprecated and superseded with dbghelp.dll; I just never noticed I was linking to the wrong library until now; sorry; fixed now)
Version 1.8.6 (build 4202)
(VERY minor quick-fix release)
- Missed a spot for LCS devices when I was removing/disabling the logic that originally enforced even device addresses for CTC devices, so now when you define both LCS devices (just as you should), HercGUI should no longer complain about an invalid configuration file.
Version 1.8.5 (build 4200)
(back to doing normal releases for the time being)
- Dasd dialog related:
- "RA=2" no longer erroneously being added when shadow file specified
- Shadow files no longer need to exist
- Missing support for compressed FBA dasd added
- Missing support for "Large Files" (files > 2GB in size) added
- Tape: Missing 3490/3590 device types added
- Card Reader: Missing 'intrq' option added
- CTCI: IP address parsing bug identified by Don Thimsen fixed.
- Command input: Missing support for keyboard Cut/Copy/Paste added
- Hercules: 'dyngui.dll' fixed so HercGUI now shows CPU status/registers
for the selected 'target' CPU (Hercules 'cpu n' command)
- Configuration File 'Description' length limitation removed
- Most Dasd device dialogs now auto-detect the actual Hercules compressed/uncompressed/ckd/fba dasd type.
- CTCI and LCS devices now require BOTH even/odd addresses to be defined, just like Hercules ever since v3.01
- Tape device dialogs now accept SCSI "device file" filenames (e.g. "/dev/nst0") (i.e. full Windows SCSI-attached tape drive support)
- AUTO_SCSI_MOUNT configuration file statement accepted (but sliently ignored (but only by HercGUI; Hercules of course processes it as normal))
- HETINIT (Initialize Tape) dialog: VOLSER spinner now supports partially numeric VOLSERs (e.g. if volser is RDF001, spinner will auto-increment the '001' portion)
- HercGUI window title no longer shows full path (so you can see what configuration and logfiles are being used without it being truncated due to long paths making the window title too long.
- Added new groupname, ipaddr/mask and "noprompt" parameters support to Terminal/Display device config dialogs.
- Added support for OSTAILOR 'QUIET' and 'NULL' configuration file statements
- You can now modify the System and/or Device configuration while Hercules up and running (Powered On)
- New 'Format' advanced logging option: date, time, and/or process-id (if needed).
- Display/Alter Memory dialog now has an 'Address' input field to allow you to enter the specific address you wish to view/alter without having to always scroll to there
- New HercGUI and Hercules 'Help' menus to display distributed HTML documentation
- Console messages with embedded CR's (carraige-returns) sometimes issued by some utilities now handled a tad bit more gracefully
Version 1.6.8 (build 3981)
(another minor fix release)
- Fix bug in new device-range device statement handling logic that was causing a crash whenever a configuration file with only one device in the very first device-class was being saved.
- Fix bug in DasdInit dialog that was not updating (recalculating) the total size properly whenever it was manually modified [not via the spinner]
- Fix DasdInit dialog to allow custom sizes to be specified even if/when compression is chosen.
Version 1.6.6 (build 3910)
(minor fix release)
- Minor fix to ignore comments on device statements.
- Minor fix to allow port 23 (telnet) to be specified as the console port.
- Fix minor bug causing unpredictable Add New Device behavior.
- HetInit utility dialog: rearranged controls (similar to the DasdInit dialog change in the previous release) such that the options fields now come first so that a reasonable o/p filename can now be suggested (based on the chosen options), and added a spinner control to the VOLSER field to allow easy auto-incrementing of numeric VOLSERs.
- Added support for new Hercules version 3.0 CPU Version code statement, and updated the 'cpu-types.txt' file (fixed a few entries and added a few new ones) to [hopefully] display better (more descriptive) CPU Model model names / versions.
- Added support for new Hercules version 3.0 device-range device statement format.
Version 1.6.4 (build 3772)
(Ok. So I lied. THIS is going to be the last free version. Maybe)
- Corrected the entry on the Dasd Geometry Chart for 2311 devices (which have 3 alternate cylinders, not 2).
- DasdInitDlg: Fixed size not being reset when compression chosen.
- Device Configuration dialog: Fixed a bug causing failure to detect device deletions.
- The Browse for Directories function (invoked whenever you click on any of the '>' buttons in any of the dialogs) was fixed to correctly begin its browse operation starting from the proper user-defined Preferred directory whenever the already entered directory and/or filename isn't valid (instead of always defaulting to the Configuration Files directory like it had been).
- Added code to work around an annoying MFC bug causing HercGUI to sometimes crash at startup on new releases because MFC was getting confused as a result of the existing (prior) bar state saved in the registry not matching up with the new control bar IDs (due to their having been renumbered to something else in the new release from what they were in the prior release). Personal thanks to Cristi Posea and his 'DataMekanix' article "How to verify the bar state info" for help on identifying this one.
Note that as a result of this particular fix, your GUI's screen layout may end up getting reset to the initial installation default layout whenever you run this new version for the very first time. If that happens, simply rearrange it back to the way it was, and your new screen layout will be properly saved/restored from then on.
- AddTapeDlg: added support for new the new 'maxsize', 'eotmargin' and 'readonly' tape options.
- Added support for the new 3.0 DASDCOPY utility. Note that support for the the existing CKD2CCKD, CCKD2CKD, etc. utilities was NOT changed in order to support prior releases of Hercules. Users of version 3.0 should use the new DASDCOPY utility instead of the older CKD2CCKD, etc, utilities, whereas users of prior versions of Hercules (e.g. 2.17.1) should continue to use existing CKD2CCKD, etc. utilities.
- Added a new "Save Configuration File As..." command to the File menu.
- Completely redesigned the "Add New CTC Device" dialog to have a separate property page for each of the currently supported CTC protocols (LCS, CTCI and CTCT). It's now a tad bit easier to define a CTC device.
- Modified the dialog "centering" logic to position dialogs just slightly above and to the left of the actual center of the screen.
- Added "support" for recognizing (but not otherwise processing or validating in any way) the new control file statements introduced in Hercules version 3.0.
- Added compressed FBA support to the DASDINIT utility dialog, and rearranged its controls to be what I hope is a bit more user friendly. The various run options now come first and the o/p filename second, thereby allowing me to also add logic to automatically suggest a [hopefully] reasonable(?) o/p filename based on the options chosen.
- 3.0 Shared Device support: the main System Configuration dialog now has a checkbox for enabling shared device support (i.e. the 'SHRDPORT' control file statement). Checking it causes a new dialog to appear where you can enter the port number the Shared Devices Server is to listen for connections on.
- 3.0 Shared Device support: the "Add New DASD Device" dialog now has a 'Remote?' checkbox that, if checked, causes a new dialog to appear where you can define the IP address, port number and device number of the remote device.
Version 1.6.0 (build 3438)
(last free version!)
- Fixed minor but annoying bug in the function that calculated the height of the Device List Bar.
- Fixed a minor bug in the "device rename" handling logic that would occur whenever you tried renaming a device that wasn't in the actual "live" configuration (i.e. a device that was manually added ('attach'ed) dynamically after Herc had already been powered on).
- Fixed CTC device handling so that CTC devices of the "CTCI" protocol variety now generate device statements with "CTCI" as the specified protocol rather than "CTCI-W32" (since that's the protocol that Herc now requires due to the 'CTCI-W32' protocol having been deprecated in favor of the "more standardized" CTCI protocol).
- Removed the 'cache' and 'l2cache' parameters from the CCKD statement handling since they too have been deprecated.
- Fixed bug in message parsing logic inadvertently causing blank lines to be dropped. Blank lines are now shown just as they should be.
- "Support for" (silent acceptance of) new control file statements as well as device statements for "unknown/unsupported" device-types. What this means is you can now add any newly supported Herc control file statement to your control file (e.g. CODEPAGE, CPUVERID, DEFSYM, DIAG8CMD, ECPSVM, LDMOD, SHRDPORT, etc) without having the GUI complain with an "Invalid configuration file" error. Please note however that there is not any direct support for them (i.e. there is no custom configuration dialog anywhere where you can adjust these new statement's parameters/arguments). Instead, the GUI simply recognizes them and saves them so they can then be written out when needed (i.e. whenever saving a modified configuration file for example)), but it otherwise doesn't actually do anything with them. Pretty much the same thing for any device statements for devices of an "unknown/unsupported" device-type too (e.g. the new 2703 Communications Adapter device type for instance).
- Support for defining (adding/attaching) new "unknown/unsupported" devices in both the main Device Configuration dialog (new "Add 'Other' Device" button) as well as in the right-click context menu for the Device List pane too of course. This is pretty much a continuation of the change already mentioned just above.
- Also added "Load Tape" and "Unload Tape" to the Device List's right-click context menu for tape devices too (to bypass the "Select Which Tape Device" dialog since the mouse right-click itself identifies which tape drive you want to load/unload).
- Added "(unknown device types)" category to Device List pane. All devices that the GUI currently doesn't directly support via a proper specific "Properties" dialog (e.g. the new 2703 Communications Adapter device type for example) will appear in the Device List pane's tree under this device type branch.
- Added a new "Edit Configuration File" menu selection to the File menu to invoke 'Notepad' for the currently opened configuration file. This is currently the only way to add new control file and/or device statements to your configuration that the GUI doesn't currently directly support or otherwise understand.
- New 'Help' menu entries ("Open HercGUI readme.html" and "Make a PayPal Donation").
- Modified the 'Ctrl+Left/Right-Arrow' and 'Escape' key keyboard key handling to be a little more user friendly: the Ctrl+Left/Right-Arrow keystroke is now passed on to the CmdLine edit control so that the "auto-advance/retreat to next/previous word" now works as expected whenever entering commands into the CmdLine area rather than always scrolling the display left/right like it did before. The Escape key now only clears text from the CmdLine area if the CmdLine area actually has focus AND there is actually some text to be erased there. If there's text entered into the CmdLine but the CmdLine does not currently have the focus, then pressing the Escape behaves like the Tab key and simply switches focus back to the CmdLine without erasing whatever text may already be there. Otherwise, pressing the Escape key whenever it has the focus and there's text entered to be erased erases it just like before. With this change you can now BOTH scroll the display left/right AND/OR advance/retreat to the next/previous word in the CmdLine area and/or erase input as needed.
- New "Special command-line arguments" Preference setting to easily support any potential new command-line arguments that new versions of Hercules may introduce (such as the ones being introduced in the new 3.0 version for the new Dynamic Loader feature).
- Put back support for the standard MFC "status bar" that I originally removed long ago whenever I first wrote this thing I think. (I can't remember anymore why I originally removed it, but regardless, it's back like it should be now.)
Version 1.5.0 (build 3290)
(minor maintenance release)
- Add device to configuration even if parse errors
- Added 0671 and 9313 FBA models to dasd table and corrected entries for 9336 model
- Fixed max MAINSIZE bug
- Support for new CCKD control file statement
- Support for new HTTPORT/HTTPROOT control file statements
- Add "Ignore" button to Configuration File Parse Errors dialog to allow temporary bypass of parse errors (obviates need to set 'Ignore Parse Errors' Preference option)
- Added "Load Parm" field to IPL dialog
- New "Re-open configuration file" menu selection
- Slightly improved(?) CPU utilization meter accuracy (Herc now calculates it & GUI just displays it)
- Other various minor technical fixes/enhancements (e.g. add missing spinner controls to some dialog controls, etc)
Version 1.4.0 (build 3164)
- BrowseForInput/Output/File/Directory: default to (i.e. start browse from) defined preferred directory.
- Max mainsize now 1024MB (min still 2)
- Add missing 9336 support to DASDINIT dialog (plus addt'l device types & "-a" alt-cyl opt)
- Fix Preferences dialog "Invalid o/p directory" bug causing inability to get past Logging page if an invalid preferred logfile directory (or no directory at all) was specified.
- Logging options erroneously changed when switching to a different tab; fixed.
- Utility start/stop messages out-of-sequence; fixed.
- Fix "crash when device renamed while Herc is up" bug reported by Edwin Fine.
- BrowseForDirectory not modal; fixed.
- Preferred Directories and Console Font Apply button handling wasn't right; fixed.
- Make all device dialogs slightly wider.
- Groupbox all dialogs (slightly better looking that way IMO)
- Add spinner to DASDINIT "size" field and other dialogs where a numeric value is specified.
- DASDLS: auto-add filename to list
- Update CTCA dialog for CTCI-W32
- Shrink control panel images if display resolution is 800 x 600 so they fit on the screen. (they're ugly due to their smaller size, but hey, at least you can see them now!)
- Utilities: make necessary DasdInit utility changes and add support for new DasdCat utility.
- New Hercules shit: nosyio, iodelay, ctci-w32.
- Device stmt edit: remove highlight and trim trailing blank
- Configurable (via registry) upper/lower range values for: CTCI-W32 buffer sizes, max #of autolog files, num CPUs, num vector facilities, min/max main storage and internal HerculesView_Panels.cpp "StdxxxNagleThread" nagle times.
- System config dialog: selectable list of known CPU types controlled by "cpu-types.txt" file in preferred Configuration Files directory.
- Handling of PGMPRDOS control file statement.
- Advanced logging options: wrap-around logfile and memory & disk limits.
- ABOUT box: Hercules support = Hercules-390 list; GUI support = me.
- Device List panel right-click menu: display subchannel status and start/stop tracing.
- FAQ: "HHC020I Cannot obtain xxx mb of main storage: Not enough memory." : Cygwin issue fixed by adding or modifying a registry entry value.
Version 1.3.0 (build 2769)
- Fixed filename handling to use forward slashes '/' to be Linux compatible.
- Title bar now reflects currently opened control file (and log file too) (reported by Don Thimsen)
- Fixed problem with instruction count getting chopped off: calculate required window width and resize/move windows as needed.
- Selecting (browsing for) reader files now automatically adds the file to the list.
- Prevent closing app if Herc is still running to prevent loss of logfile messages generated when Herc shuts down.
- Don't change displayed CPU Percentage if no interval samples (panrate=5000)
- Multiple reader files was being ignored if ascii or ebcdic option specified. It should work okay now.
- Fix web page info re: CVS source: correct checkout is "wingui" (NOT "hercgui").
- Command-line arguments now supported. Use "HercGUI -f hercules.cnf" to auto-open & PowerOn using the specified control file. (suggested by gpetermann (at) hotmail.com)
- Add 'sockdev' (socket device) support for card reader. Remote submission of reader input now possible via HercRdr utility.
- Preference option to ignore configuration file parse error(s) and accept/use "invalid" configuration file anyway.
- Device Configuration dialog: Right-click menu to manually edit device statement.
- FAQ update: Add a few more trouble-shooting hints for determining cause of CreateProcess failures (try non-GUI execution to see Windows's error dialog).
- CFCCIMAGE support removed.
- Herc version 1 support ("Mode" menu) dropped. (Who uses version 1 anymore anyway?)
- Use "InitializeCriticalSectionAndSpinCount" for locking instead of "InitializeCriticalSection" for better performance on multi-processor systems.
- Partial CTCA support ("CTCT" protocol only (CTC over TCP/IP), as it's the only one that is supported on Windows builds at the moment).
- Add icons/bitmaps to menus.
- Prevent shutting down if Herc still running or any utility processes still running.
- Preference option: exit gui when Herc is Powered Off: (Yes/No/Ask)
- Assign reasonable identifying titles to the Font & Color dialogs
- New Herc console logging options: at Startup, at Shutdown, or Autolog (#of files and root filename).
- Add "Don't ask again" checkbox to IPL dilaog. Reset whenever config changed.
- Add support for new 'multifile' reader option.
- Merge all preference dialogs into one multi-tabbed property sheet dialog.
- Tweaked color of PowerOn button to look a little "warmer" (realistic).
Version 1.2.2 (build 2573)
("Hot Fix" maintenance release)
- Don't do an abortive TerminateProcess without asking the user for permission first. (New "Expected shutdown wait time for this configuration" setting on Device Configuration dialog).
- Prevent "STEP=" messages from being displayed when opening compressed CKD disks.
- Add support for 9345 CKD in preparation for Herc 2.13.
- Fix Dial & lights display problem by making the background color true BLACK (instead of the ugly muddy very dark grayish brown or whatever the heck color it was).
- Fixed IPL dialog "Device does not exist" bug.
- Disable Browse button for Shadow file on DASD dialog if shadowing option is not selected.
Version 1.1.3 (build 2559)
- The .EXE has been renamed to "HercGUI" to avoid the obvious name collision with the Hercules emulator itself.
- The "HERCULES_CNF" environment variable is now supported. (See Enhancements section)
- Configuration error messages are no longer issued twice.
- The configuration errors dialog box now has scroll bars.
- The problem caused by blanks being in the executable pathname (which would cause "CreateProcess failed rc=1147" errors) has been fixed. (You can now have blanks in any pathname, whether is be the executables path or any other directory path).
- Multiple CPU configurations are better detected so "stop" vs "stopall" chosen correctly.
- DASDINIT has been fixed to allow specifying sizes that includes alternate cylinders.
- The button handling has been changed so they now actually work with Linux 'wine'.
- The missing TODDRAG control file statment is now supported.
- The DASD device dialogs now support ALL dasd options (shadowing/compression/etc)
- The currently opened control file is no longer marked "dirty" (as having been modified and thus needing Saving) when you click on the OK button if nothing was actually changed.
- IPLing via the menu selection (rather than clicking the IPL button) now properly updates the dials on the control bar.
- Missing support for the TAPECOPY utility (missed in the last release) has been added.
- LOADPARM handling has been fixed to pad on right with periods if less than 8 characters.
- Fixed bug causing the registers display to sometime stop from being updated.
- The last control file used is now remembered across executions. If no control file is open when you Exit, the last used control file will be blank and the "HERCULES_CNF" environment variable (if set) will be used instead. This only affects Powering On without opening a control file first.
- New "Close control file" menu command.
- Add *.jcl to reader file filter.
- New preferences dialog to specify your preferred file extensions for all Open/Save dialogs.
- Card reader devinit settings are now remembered across executions.
- You can now add one line of descriptive text as a comment to the control file.
- The main window position & size is now remembered and restored across executions.
- Support for new Herc v2.12 "devtmax" control file statement.
- Support for new Herc v2.12 card reader (multiple input files and autopad option).
- Information regarding the version of the GUI is also written to the console log file.