hercules wingui 'read me
DESCRIPTION
Hercules WinGUI 'Read Me'TRANSCRIPT
-
Hercules Windows GUI Interface
"Operating Instructions"
Version 1.11.0
Table of Contents
Installing and Uninstalling
Running
Main screen
Preferences
Directories
File Extensions
Logging
Console
MiscMisc2
System Configuration
Architecture settings
CPU Model Number
O/S Tailor setting
Enable Licensed Program Product O/S
Other/Misc settings
Console Keep-Alive settings
Shared Devices Server settingsHTTP Server settings
Compressed CKD settings
Advanced settings
Device Configuration
Display/Alter Storage
Load Card Reader, Load Tape, Unload Tape
Socket Reader support
Device List bar
Utilities menu
-
Registry tweaks
Installing and Uninstalling
Installing HercGUI involves the following steps:
1. Installing the prerequisite Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security
Update,or: Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL Security Update.
2. Installing the prerequisite FishLib support library DLL
3. Installing HercGUI itself
Note: There are separate download links for each supported platform architecture, 32-bit and 64-bit. Be
sure to install the appropriate version(s) for your particular platform.
Note 2: if you are running any 64-bit version of Windows (e.g. Windows XP Professional x64 Edition,
Windows Server 2003 x64, etc) then you will need to install both the 32-bit and the 64-bit versions! This isbecause the x64 version of Windows allows you to also run 32-bit programs, and some of the programs are32-bit programs, thus requiring the 32-bit version of the redistributables in addition to the normal 64-bitversion needed by x64 Windows.
FishLib is installed by simply unzipping the distribution into a directory of your own choosing and then addingthat directory to your Windows PATH variable (so that Windows can find it whenever you try runningHercGUI). Alternatively, you can place the FishLib DLL into the same directory as the HercGUI executable,but this is not recommended since it makes it harder to update FishLib if you have separate copies of it inseveral different directories. It's better to keep it in one directory and simply add that directory to yourWindows PATH.
Installing HercGUI itself is easy: simply unzip the distribution binaries into a directory of your own choosingand then double-click on the icon to start it. The first time you run it you will need to configure your Preferreddirectories so it can know where the load the Hercules emulator from. (See the "Preferences" section furtherbelow)
Uninstalling is pretty much the reverse: just delete everything. Note however that HercGUI does add a newkey to your Windows registry to hold some configuration settings, so if you really want to completely ridyourself of HercGUI, you'll also have to manually delete the
HKEY_CURRENT_USERS/Software/Software Development Laboratories/Hercules
branch from the registry using the 'regedit' utility that comes with Windows. (If you don't know what 'regedit' isor how to use it, then I suggest you just leave your registry alone. It's not going to hurt anything having a tinybit of data in your registry that isn't going to be used for anything anyway.)
Running
There's not very much to say in regards to running HercGUI. Just fire it up (double-click on the Icon) and go! :)
A couple items of interest regarding the actual running of HercGUI should probably be mentioned however.The first is the 'Auto-Power-On' feature. If HercGUI is started with the command-line parameter:
-f
then HercGUI will automatically 'Power On' Hercules once HercGUI is started (since you've already specifiedwhich Hercules control file you want it to use). Using this feature in conjunction which Hercules's .rc (run
-
commands) file support, it is possible to totally automate Hercules startup and ipl.
For example, you could create a 'hercules.rc' file containing the necessary commands for starting your 3270terminal sessions followed by a command to IPL your sysres, thus allowing you to automatically power-onand IPL your system by simply double-clicking on the HercGUI icon!
The auto-power-on feature is completely optional of course. The normal way in which HercGUI is used is bysimply starting it first and then first manually selecting which device (hercules) configuration you want to usebefore powering on (this presumes of course that you have several different configurations). If you have onlyone fixed configuration you use all the time though, then the auto-power-on feature can come in quite handy.Simply create a shortcut with the "-f control-file" option added and voila! Automated startup. :)
The other "item of interest" is actually a caveat that should be mentioned: any "on the fly" changes you maymake to your Hercules device configuration via the 'Device List' window pane's right-click menus (i.e. to adda device or remove or rename a device, etc) are TEMPORARY. Neither the configuration file that Herculesis using (nor the version that HercGUI maintains itself internally in memory) is actually changed.
Thus, if you do happen to make any temporary on-the-fly type changes as just described, you mustremember to 'Save' your new configuration and/or 'Re-Open' the original configuration to discard yourchanges (if they were only temporary that is). The preferred manner in which to make changes to your deviceconfiguration is of course quite similar to the way you would do it on a real mainframe: by shutting down(powering off) your system first, and then connecting the new devices to it (or disconnecting old devices fromit) before turning the power back on. :)
Main screen
The various panels can be moved around the screen to suite you own personal taste. You can dock theDevice List bar on either side of the screen or the various status bars on either the top or bottom of thescreen. You can float them in a window by themselves, or you can hide them altogether. Your choice.
Just "grab" them with the mouse and drag them to wherever you want them to be. The screen layout isremembered across executions, so if you decide you like to have the Controls panel at the bottom of thescreen, then just move it there. It'll be in there in the same place you left it the next time you start Hercules.
(click for larger image ~87K)
Starting with version 1.9.5 the Hercules/HercGUI Command-Line now allows you to specify the targetdirectory that the 'sh' (shell) command should use. Simply browse to and select the desired directory.
-
Once set, any 'sh' (shell) command that is entered will be processed using the defined directory as its base(i.e. "current") directory. This is to allow for the fact that HercGUI's "current" directory constantly changes as
directories are selected in its various dialogs, as well as to compensate for the fact that Hercules's currentdirectory (prior to version 3.03) would normally never change. *
* The new 3.03 version of Hercules contains special support in the 'dyngui.dll' module for switching to the desired directorybefore issuing the 'sh' (shell) command that HercGUI sends to it.
Preferences
The "Preferences" dialog is where you define your preferred directories, file extensions, logging options, etc.
Directories
The "Directories" tab allows you to specify your preferred directories. The ones for 'Executable files','Configuration files' and 'Log Files' are the only ones that are required. The others are simply there forconvenience and, if specified, are used as default directories by the various device configurationdialogs:
Some people found it easier to organize all of their tape, disk, reader, print, etc. files by having them allin separate directories. I do too now that I have that ability. Maybe you will too.
File Extensions
The "File Extensions" tab allows you to specify your preferred file extensions to be used in the "Files of
-
type" dropdown list-box in all standard Open and SaveAs dialog boxes that HercGUI uses:
This feature was added by request since each user may use a different file naming scheme for theirreader, punch, configuration, disk, etc, files.
Logging
The "Logging" tab allows you to specify your preferred console logging option:
-
The 'At Startup' option asks you for the filename of the console log file as soon as the GUI starts,whereas the 'At Shutdown' option waits until you close the GUI before asking whether or not you wantto save the console log.
The 'Automatic' option doesn't ask you for a filename at all and instead generates a filenameautomatically based on the parameters you provide. If the base filename is "Hercules Logfile.txt" forexample, the generated log file filename will be "Hercules Logfile.000.txt" the first time you start theGUI, and "Hercules Logfile.001.txt" the next time you start the GUI, etc.
Advanced Logging Option
Starting with version 1.4.0, logfiles, once created (either via the 'At Startup' or via the 'Automatic'
option), are written to continuously as new messages arrive, so the need to do periodic "SaveMessages" is no longer necessary.
Also, because new messages are now automatically written to the logfile as Hercules runs and newmessages arrive, you should be sure to specify (via the "Advanced Logging Options" dialog reachedvia the 'Advanced' button on the Logging tab) your desired maximum logfile size in number of lines.This is in order to prevent the logfile from filling up your hard drive:
-
The logfile is a wrap-around file wherein the oldest messages are overlayed with newer ones once thespecified limit has been reached. Once the specified maximum number of lines have been written tothe logfile, the GUI will reset its file position pointer back to the beginning of the file and begin writingnew logfile messages over top of the older ones. The file is not simply recreated all over again. Once itwraps around when the limit is reached and begins overlaying older messages, the previous
messages near the end of the logfile are still there. They're not lost, but they might of course beeventually overlaid just like the messages at the beginning of the file if enough new messages arewritten to cause it to wrap around for a second time, third time, fourth time, etc.
Note too that the Advanced Logging Options dialog also lets you specify the maximum number of
messages to be retained in memory (for scroll-back purposes) for the very same reason: to preventrun-away (unconstrained) memory consumption. This memory limit is a separate value from the disklogfile limit and essentially limits how far back you can scroll the console to see older messages.
Console
The "Console" tab allows you to specify your preferred console font, font color and background colorfor the Hercules console message area:
-
Simply click on the appropriate button and select your font or color. Your selection will then be reflectedin the sample edit-box to let you see what the console would actually look like before you actually applyyour changes.
Misc
The "Misc" tab allows you to specify various other miscellaneous preferences, such as how the GUIshould react to your pressing the "Power Off" button:
-
About the "Shell command" option
In my effort to try and add 'shell command' support to Herc for the Windows crowd (it alreadysupported it for Linux but didn't work for the Windows version of Herc), I discovered a bug in the way
Cygwin handles the 'fork' command, and while a workaround was being developed, I modified the GUIto be able to issue the 'shell' commands instead.
However, in order for the GUI to be able to issue shell commands instead of Hercules itself,I had to write a new program called 'conspawn.exe' that the GUI uses to pass the shellcommand to. The 'conspawn' program is included as part of the GUI package and mustreside in the same directory as all the other Hercules executables.
Also, once the workaround to this Cygwin 'fork' bug was finally developed, I noticed thatwhile Hercules could now issue the shell command itself (rather than have the GUI do it), itdidn't seem to do it as efficiently (quickly) as the GUI could. Issuing shell commands viaHercules rather than the GUI seems somewhat "sluggish". I'd personally prefer to let theGUI do it, but since Hercules originally supported issuing shell commands itself (mostly forthe Linux crowd), I thought I'd give you the option to choose for yourself which way youwanted it implemented.
The Ignoring Parse Errors option
This option was created to allow you to open and use a Hercules control file that the GUI wouldotherwise complain about.
When a control file is opened, the GUI parses the statements and saves the information inan internal control area (so it can later use it to fill in the various fields of the various dialogsthat it can display to the user, such as the device configuration dialog that allows you tomodify a given device's properties for example), and if it cannot make sense out of a givencontrol file statement (such as a device statement that contains a brand new parameterthat Hercules understands but the GUI doesn't yet), it throws a parse error and prevents youfrom opening/using what it considers to be a bad control file.
-
The "Ignore Parse Errors" option instructs the GUI to ignore the parse error and open anduse the control file anyway. This is to allow for the quite likely situation where Hercules isreleased with new device options and the GUI hasn't yet been updated to understand those
new options. With the option set, the GUI ignores all parse errors and will alwayssuccessfully open whatever control file you tell it to open. It is therefore highlyrecommended that you leave this option disabled and enable it only when absolutelyneeded.
If you do ever enable it, please remember to disable it when you no longer need it. The GUIwill not do that for you. Once you enable it, it stays enabled until such time as you purposelydisable it -- even across subsequent executions of the GUI (just like all the rest of the
preference options, it is a persistent (i.e. "sticky") option).
Misc2
The "Misc2" tab continues with additional options that wouldn't fit on the original Misc options tab:
Special command-line arguments
Starting with the 3.0 version of Hercules, Hercules now supports additional command-line optionsabove and beyond the existing -f option used to specify which control file to use. Here you can enter
any of the new command-line options you may wish to have specified whenever the GUI starts up
("Powers On") the Hercules emulator. You must not specify the -f option here however! The GUIconstructs the -f option automatically based on the currently opened configuration file so you must not
specify it here. You may however enter here whatever other command-line options you may need inaddition to the required ones. (See important note immediately below)
-
Important!
You must specify here either "EXTERNALGUI" (without the quotes of course), -OR-, starting with
Hercules version 3.0, "-d -l dyngui". You must not leave this option blank! If you accidentally do leaveit blank, then neither Hercules nor the GUI will operate properly! (if they even operate at all! They may
not if you accidentally leave this option blank!).
This is an "advanced" option and you should normally not need to modify it at all unless youare very sure you know what you are doing (or if so instructed by Hercules "TechnicalSupport Personnel" (i.e. one of the Hercules developers)).
System Configuration
When you open a Hercules control file (I seem to flip-flop between calling it a control file and a configurationfile, sorry; to me the terms are interchangable) the GUI parses it and then displays a "System Configuration"dialog showing you the various configuration settings.
Beginning with version 1.11.0, the System Configuration dialog information is spread across four separateproperty pages: the Architecture page, the O/S Tailor settings page, the Other/Misc page and the Advancedpage.
The Identification section simply displays the full pathname of the configuration file that you've opened as wellas providing an input field where you can enter a personal description of what this particular configuration fileis for. This is in case you have multiple system configurations and you want to be sure you're modifying thecorrect one. The description you enter here is saved as a comment at the beginning of the configuration file.
Architecture settings
This page of the System Configuration dialog is where you would define various hardware architecturalsettings, such as how many emulated CPUs you want your virtual mainframe to have, how muchemulated main storage, etc:
-
The Architecture radio buttons allow you to define what architectural mode your emulated CPUs shouldbe initially placed into by default. For emulated zArchitecture machines, the actual IPL always takesplace in ESA/390 mode and is the responsibility of the IPL'ed operating system to switch the CPU(s)over to zArchitecture mode (via the appropriate SIGP instruction) whenever it is ready for them toactually run in that mode.
CPU Model number
On the main System Configuration dialog, a small '>' button will appear next to the "CPU Model
number" edit-box, if, and only if, the GUI finds a specially formatted file called cpu-types.txt in yourpreferred Configuration Files directory.
This file contains all of the various CPU model numbers and names and their corresponding STIDP("Store CPU ID" instruction) values that I could find. (As you may or may not recall, I was asking aboutthat on the main Hercules-390 list a while back. Now you know why.)
When the System Configuration dialog is initialized, if the GUI finds this file, it will read it and parse allof the entries contained in it and use them to construct a drop-down combo-box that's displayedwhenever you click the '>' button, which then allows you to easily select the desired CPU Model youwish your virtual mainframe to be reported as.
Note: Neither the GUI nor the Hercules emulator itself makes any attempt to try
and emulate all aspects and/or features of a given CPU model. The CPU model
number simply specifies what value to use in the STIDP (Store CPU ID)
instruction, and nothing more.
When your CPU Model is selected in this way, the GUI automatically fills in the "CPU Model number"edit-box field with the corresponding value it finds in the "cpu-types.txt" file.
-
Of course, you always have the option of manually changing the value to whatever the heck you want,but for those people who don't happen to know (or remember) what the proper CPU model# value isfor the particular model of mainframe that they used to play on years ago, then this feature shouldprove to come in quite handy. It's just a little thing, but it does make Hercules a little bit easier to useand a tad bit more user-friendly.
A sample cpu-types.txt is included with the distribution. If you find any problems with it (any
incorrect values), then I'd appreciate it if you'd please let me know about it so that I can have itcorrected for the next release. Thanks.
O/S Tailor settings
The O/S Tailor settings page is where you define certain settings related to the flavor of guestoperating system you intend to actually run on your virtual mainframe. The purpose of the O/S Tailorradio buttons is to simply limit the amount of Hercules generated message traffic by asking it toselectively suppress certain "Program Check" type trace messages which are usually considerednormal for the specified operating system:
"Enable Licensed Program Product O/S"
When this option is specified for a given control file, then attempts to power on Hercules using thatcontrol file will result in a dialog box being displayed asking you to verify your true intentions:
-
Once the dialog is displayed, a 10-minute timer is started. If you respond before the 10-minutesexpires, your response is accepted as-is.
If your response is "No, I do NOT honestly wish to run in unrestricted mode", then your virtual
mainframe will NOT be Powered On.
If your response is "Yes" -- whether explicit or presumed, it doesn't matter (see next paragraph) -- thenHercules (i.e. your virtual mainframe) will be Powered On.
Please note that if you fail to respond within the 10-minute time limit, then your response is presumedto be "Yes, I honestly DO wish to run in unrestricted mode", but you of course have to wait for the 10-minute timeout to occur before such a response will be presumed. If you don't wish to wait the entire 10minutes then you will have to respond to the dialog manually yourself. There is no way to disable oroverride this feature.
NOTE: It is YOUR responsibility to comply with the terms of the license forthe operating system you intend to run on Hercules. If you specifyLICENSED and run a licensed operating system in violation of that license,then don't come after the Hercules developers when the vendor sends hislawyers after you.
This dialog is displayed each time you attempt to power on Hercules during a given HercGUI session when using
a configuration file with the "Enable licensed program product O/S" option checked ...
. . . until you respond to it.
Once you have explicitly responded "Yes" to it, however, then the GUI will power on Hercules
immediately from then on (for the selected configuration file) for that HercGUI session. As long as you
continue to use that particular configuration file during that HercGUI session, you will be able to power
on and power off and power on, etc, as many times as you like without the dialog being displayed. Ifyou switch to a different configuration file, however, and then come back to that same one (or exit theGUI entirely and then start it back up again), you will then of course be asked to once again confirmyour actual intent.
Other/Misc settings
The Other/Misc page allows you to define even more system configuration values related mostly to theactual internal functioning of the Hercules emulator itself. Please refer to the actual documentation for
-
the Hercules emulator itself for more information regarding the various values that may be specifiedhere:
CONKPALV
Starting with Hercules version 3.05 you can now specify your 3270 console connections "keep-alive"settings:
The values you enter here control the automatic disconnection of inactive/unresponsive consoleconnections, and allows TSO sessions that were disconnected due to communications failure toreconnect to their previous sessions.
For details regarding acceptable CONKPALV parameters values and their meaning please refer to
-
the appropriate Hercules documentation.
Shared Dasd Server
Hercules "Shared Devices" support allows multiple Hercules instances to share devices. The devicewill be 'local' to one instance and 'remote' to all other instances. The local instance is the 'server' forthat device and the remote instance is the 'client'. The SHRDPORT statement specifies the portnumber (in decimal) on which the Shared Device server will listen:
Specifying SHRDPORT will allow other Hercules instances to access devices on this instance.Currently only DASD devices may be shared. By default, the other Hercules instances (clients) will useport 3990. If you specify a different port number, then you will have to specify this port number on thedevice statement for the other Hercules clients. If no SHRDPORT statement is present then the SharedDevice server thread will not be activated. For further details regarding the Hercules Shared DeviceServer please refer to the Hercules documentation.
Enable HTTP Server support
Hercules's HTTP Server support allows you to control Hercules via any standard web browser. Thisdialog allows you to define the HTTP Server parameters that Hercules is to use:
Enter the desired port number you wish Hercules's HTTP Server to use, and then specify (if desired)the authentication criteria needed to connect to it, as well as the "root" (base) directory where the webpages will be served from.
Note: If you enter a userid then you must also enter a password. If no
userid/password is entered then anyone with a browser who is able to connect toyour Windows host system will be able to control your Hercules system through the
HTTP Server interface.
Note: the password you enter is not encrypted in any way, and is in fact both
-
stored in your Hercules control file, as well as passed through the network, inunencrypted plain text format. You should therefore take whatever steps are
required to secure any/all Hercules control file(s) which contain HTTP Server
passwords.
CCKD parameters
Starting with Hercules version 2.17, the behavior of Hercule's compressed CKD dasd functionality(CCKD) is controlled via the setting of certain global parameters which affect the CCKD functionality of
all CCKD dasd. (In other words, CCKD functionality is no longer adjustable on an individual device-by-device basis. Instead, you adjust global CCKD parameters via the CCKD Parameters dialog which
affects the functioning of all CCKD devices):
If you enter/enable CCKD parameters via this dialog, then certain other controls on the Dasd Devicedialogs (see next section further below) will not be displayed. This is because, as explained, the newglobal CCKD parameters now override (obsolete) the old (pre-2.17) individual device parameters. Fordetails regarding the acceptable CCKD parameters values and their meaning please refer to theappropriate Hercules documentation.
Advanced settings
The Advanced configuration page is where settings for features that are intended only for moreadvanced users may be made. If you have a custom dynamic module (DLL) you wish Hercules to useor wish to modify Hercules's default priority settings you would do that here.
-
Device Configuration
Clicking the "Devices" button from the System Configuration dialog (or selecting "Modify Devices" from the'File' menu) will take you to the "Device Configuration" dialog where you can add, delete or modify thedevices in your current configuration. This particular dialog is resizable since device configurationstatements can potentially be quite long:
-
The purpose of the "Maximum shutdown wait time expected for this configuration" setting is to inform theGUI approximately how long of a delay to expect between the time you issue the 'quit' command (or click the"Power Off" button, same thing) and the time when Hercules finally finishes exiting after beginning itsshutdown sequence.
When you use compressed disks, Hercules needs time to write out its cached copies of track images andadjust the free space for all the compressed disks before it can safely exit. If the specified expected timevalue is exceeded, the GUI warns you and then asks whether you wish to continue waiting a little longer orforcibly terminate the Hercules emulator process.
If you have many compressed disks that are updated frequently, Powering Off could take anywhere from 10to 60 seconds or more, and the GUI needs to know whether or not the delay is expected or not (to allow forthe possibility -- however remote -- that the Hercules emulator process gets hung).
Of course, if Hercules finishes shutting down before the specified time period expires, then the GUI powersoff immediately.
Right-clicking on a device statement presents you with a context menu from which you can select either 'Edit'or 'Properties'. Selecting 'Properties' presents you with a "Reinitialize Device" dialog identical to the onethat is displayed by double-clicking on a device statement. (See a little bit further below)
The 'Edit' right-click function is new. When you select 'Edit' from the right-click context menu, you arepresented with a simple device statement edit dialog where you can directly modify the raw devicestatement itself:
To add a new device, simply click on one of the 'Add' buttons:
-
To delete a device, simply select it first to highlight it, and then click on the "Remove" button.
To modify a device, just double-click on the entry for the desired device:
Note: If you entered (enabled) any of the new CCKD parameters on the main System Configuration dialog(see previous section further above), then certain controls on the above dialog will not be displayed. This isbecause the new System Configuration CCKD parameters modify CCKD functionality on a system-wide
-
basis and override (obsolete) the ability to specify such parameters on an individual device-by-device basis.
Display/Alter Storage
The 'Display/Alter Storage' item in the Command menu allows you to display and/or alter absolute mainstorage.
Note! If you need to modify real or virtual storage it is strongly recommended that you
instead use the Hercules 'r' and 'v' commands so that the 'hardware' (i.e. the Herculesemulator) knows about it!
It's very important that you keep in mind that when you alter absolute main storage via this dialog that neither
the storage keys nor the CPU instruction and data caches are updated in the emulator itself. The memory ofthe Hercules process is directly modified without the Hercules emulator even knowing about it, so pleaseuse this feature with caution. It is mostly designed for examining (searching) main storage and for other
emulator debugging purposes and not as a safe means of modifying operating system storage.
Load Card Reader, Load Tape, Unload Tape
These menu items (in the Operations menu) provide a quick and easy way to do just what they say. The'Load Reader' command is especially handy in "submitting" jobs to the system. All it does is display the "Re-Initalize Device" dialog for the card reader where you can use standard Windows 'Open' dialogs to browsefor the file you want to 'submit' (i.e. load into the card reader). Clicking OK then issues the appropriateHercules 'devinit' command.
-
Socket Readers
The "(input data is from socket)" option (to the right of the device type field) allows you to specify thatHercules should obtain card reader input from a specified socket instead of a disk file like normal. Thisallows you to submit card decks remotely via a simple utility that connects to the specified socket and writesthe data directly to Hercules. HercGUI comes with a command-line program called "HercRdr" that does justthat. For more information on the HercRdr utility (and the 'sockdev' option itself), please refer to the "Cardreader devices" section of the Hercules Configuration web page.
Device List bar
The Device List bar, just like its non-GUI (console mode)counterpart, lists all of the devices in the current configurationand their current status.
A gray diode indicates the device is offline (not open),whereas a green diode indicates it's online and/or open. Thegreen diode changes to yellow whenever the device is busyand changes to red whenever there's an interrupt pending forit. As the system runs and does I/O to the various devices inyour configuration, you'll see the diodes change betweenyellow and red and green and this simply means that there isI/O activity taking place on that particular device.
Each device is kept in a separate branch of the tree-listaccording to the class of device that it is, and each entry inthe list -- including the device class branches themselves --present a right-click context menu whenever you right clickon it.
If you want to add a new disk drive to your configuration, forexample, simply right-click on the "DASD Devices" branchand select 'Add device' from the menu that appears.
-
To delete ("detach"), rename ("define"), reinitialize ("devinit") or present an attention interrupt ("i") for aparticular device, simply right-click on it and select the appropriate menu item from the context menu thatappears.
Utilities menu
All of the utility programs can be run by simply filling out the appropriate dialog with the desired options andclicking OK. The utilities (and Hercules itself for that matter) all run as a separate process so you can runmore than one, and Hercules too, at the same time.
A progress dialog is displayed as the utility runs so you can track how far along it is, and all messagesgenerated by the utility are displayed on the gui console just like the Hercules messages are. Each messageis prefixed with its process id and a timestamp so you can know which messages are for which program.
Registry tweaks
Some of Hercules's current minimum, maximum and default values that HercGUI uses in its various dialogsare kept in the Windows registry. This is mostly for ease of program maintenance on my part since, if any ofthem change, I can then simply tell all my customers/users to make the same corresponding change to theirregistry values without me having to build and ship each of them a brand new version of HercGUI.
What follows are the various values that HercGUI uses to control the minimum and maximum allowed valuesthat one can input into certain dialog controls.
Please note that changing the below values will not necessarily change the
actual functioning of the Hercules emulator itself! (since even if the GUI
-
accepts the new values that doesn't necessarily mean Hercules itself will)
All of the below values (except for the 'MinTODDrag' and 'MaxTODDrag' values (which are string values)) are
DWORD values, and all of them are kept in the 'Limits' branch of the main HercGUI registry key:
HKEY_CURRENT_USERS/Software/Software DevelopmentLaboratories/Hercules/Limits
Name Default Description
MaxCPUs
32 Maximum allowable number ofcentral processors
MaxVectors
4 Maximum allowable number ofvector processors
MaxMainMem
2048
Maximum allowable amount ofcentral storage in megabytes(MB)
MaxExpandedMem
1024
Maximum allowable amount ofexpanded storage inmegabytes (MB)
MinEpoch
1801 Minimum allowable SYSEPOCHvalue
MaxEpoch
2099 Maximum allowable SYSEPOCHvalue
MinYearOffset
-142 Minimum allowable YROFFSETvalue
MaxYearOffset
+142 Maximum allowable YROFFSETvalue
MinPanRate
10 Minimum allowable panelrefresh rate (milliseconds)
MaxPanRate
5000 Maximum allowable panelrefresh rate (milliseconds)
MaxTapeSizeMB
2048 Maximum allowable emulatedtape size in megabytes (MB)
MaxEOTMarginKB
2048
Maximum allowable emulatedtape 'end-of-tape warningarea' margin-size inkilobytes (KB)
DefAutoSCSISecs
5
Default AUTO_SCSI_MOUNTmount status queryinginterval
MaxECPSVMLevel
99 Maximum allowable ECPSVMvalue
DefECPSVMLevel 20 Default ECPSVM value
MinTODDrag "0.0001"
Minimum allowable TOD clockdrag factor
MaxTODDrag "10000.0"
Maximum allowable TOD clockdrag factor
MinCCKDgcparm
-8
Minimum allowable CCKDParameters garbage-collection agressivenesslevel
MaxCCKDgcparm
+8
Maximum allowable CCKDParameters garbage-collection agressivenesslevel
-
DefCCKDgcparm
0
Default CCKD Parametersgarbage-collectionagressiveness level
MaxCCKDfreepend
4
Maximum allowable CCKD'freespace pending int'value
DefCCKDfreepend
-1 Default CCKD 'freespacepending int' value
MaxCCKDrat
16 Maximum allowable CCKD read-ahead tracks
DefCCKDrat
2 Default CCKD read-aheadtracks
MaxCCKDraq
16 Maximum allowable CCKD read-ahead queue size
DefCCKDraq
4 Default CCKD read-aheadqueue size
MaxCCKDra
9 Maximum allowable CCKD read-ahead threads
DefCCKDra
2 Default CCKD read-aheadthreads
MaxCCKDwr
9 Maximum allowable CCKDwriter threads
DefCCKDwr 2 Default CCKD writer threads
MaxCCKDgcint
60
Maximum allowable CCKDgarbage-collection interval(seconds)
DefCCKDgcint
5
Default CCKD garbage-collection interval(seconds)
MaxCCKDtrace
200000
Maximum allowable CCKD debugtrace table size (number ofentries)
DefCCKDtrace
0
Default CCKD debug tracetable size (number ofentries)
MaxCCKDcache
64 Maximum allowable CCKD cachesize (MB)
MaxCCKDl2cache
2048 Maximum allowable CCKDlevel-2 cache size (K)
MeterThreadRate
1000
CPU Percent UtilizationMeter update interval(milliseconds)
NagleThreadNagleRate
75
Maximum 'continue buffering'(to prevent screen refresh)message-reception rate inmilliseconds
NagleThreadMaxNagleRate
375
Maximum allowable delay (inmilliseconds) beforedisplaying buffered messages
MinCaptureBuffsize
64
Minimum allowable TunTap32WinPCap device drivercapture buffer size (K)
MaxCaptureBuffsize
16384
Maximum allowable TunTap32WinPCap device drivercapture buffer size (K)
DefCaptureBuffsize
1024
Default TunTap32 WinPCapdevice driver capture buffersize (K)
MinPacketBuffsize
16 Minimum allowable TunTap32DLL I/O buffer size (K)
MaxPacketBuffsize 1024 Maximum allowable TunTap32
-
DLL I/O buffer size (K)
DefPacketBuffsize
64 Default TunTap32 DLL I/Obuffer size (K)
DefKpAlvIdleSecs
3
Default console connectionskeep-alive "idle seconds"value.
DefKpAlvTimeoutSecs
1
Default console connectionskeep-alive "probe timeout"value.
That's pretty much all there is. If you have any trouble using the GUI, please refer to the FAQ. If your question is notanswered there then feel free to shoot me an email.
Thanks, and enjoy your Windows GUI Interface to Hercules! :)
"Fish" (David B. Trout) fish softdevlabs.com
"Programming today is a race betweensoftware engineers striving to build biggerand better idiot-proof programs, and theUniverse trying to produce bigger and betteridiots. So far, the Universe is winning."
- Rich Cook
Page last updated on 05/31/2011 08:27:31 by Fish
Report all w eb page problems to: f ish softdevlabs.com
For Hercules emulator related support questions
please use the Hercules-390 Support Forum.
Thank you!