-
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!