For building the Cygwin version of Hercules on Windows, Volker Bandke has instructions on his "Building Hercules for Windows" web page at http://www.bsp-gmbh.com/hercules/herc_w32_2.html.
For building the MSVC version of Hercules on Windows (a version of Hercules that does not require Cygwin), Fish has instructions on his "MSVC Hercules Build Instructions" web page at http://www.softdevlabs.com/Hercules/hercules-msvc-build.html.
tar xvzf ../hercules-3.03.1.tar.gz cd hercules-3.03.1
./util/cvslvlck
./configure
By default, the configure script will attempt to guess appropriate
compiler optimization flags for your system. If its guesses
turn out to be wrong, you can disable all optimization by
passing the --disable-optimization option to
configure, or specify your own optimization flags with
--enable-optimization=FLAGS
For additional configuration options, run: ./configure
--help
make
make install
Important: You must use at least version 2.95 of the gcc compiler and the glibc2 library. Refer to the Hercules Frequently-Asked Questions page for required compiler and other software levels.
rpm -Uvh RPMfile
This will leave the Hercules executables in /usr/bin and the dynamic libraries in /usr/lib and /usr/lib/hercules, where you can run them from anywhere. Sample configuration files will be placed in /etc/hercules, and the IPLable card deck for the ZZSA standalone utility will be placed in /var/share/hercules.
Debian packages are available for "woody" and later releases.
apt-get install hercules
dpkg -i DEB
Hercules is installed like any other Gentoo package: do emerge
sync if you haven't done it lately, then emerge
hercules.
Do not try to override the optimization flags automatically selected by
configure. Hercules stresses the gcc optimizer, and will break
in subtle ways if the wrong optimization settings are used.
OS X ReadMe.rtf.
You will need to amend the configuration file hercules.cnf to reflect your device layout and intended mode of operation (S/370, ESA/390, or z/Architecture). See the Hercules Configuration File page for a complete description.
The Creating Hercules DASD page describes various methods of creating and loading virtual DASD volumes. The compressed CKD DASD support is described in this page.
Note: If you intend to run any licensed software on your PC using Hercules, it is your responsibility to ensure that you do not violate the software vendor's licensing terms.
To start Hercules enter this command at the Unix shell prompt:
hercules [-f filename] [> logfile]
where filename is the name of the configuration
file
(the default is hercules.cnf),
and logfile is an optional log file which will
receive a copy of all messages displayed on the control panel.
Next connect a tn3270 client to the console port (normally port 3270). The client will be connected to the first 3270 device address specified in the configuration file (this should be the master console address). If your master console is a 1052 or 3215, connect a telnet client instead of a tn3270 client.
Now you can enter an ipl command from the control panel.
Command Description...
------- -----------------------------------------------
? list all commands
help command specific help
* (log comment to syslog)
hst history of commands
log direct log output
version display version information
quit terminate the emulator
exit (synonym for 'quit')
cpu define target cpu for panel display and commands
start start CPU (or printer device if argument given)
stop stop CPU (or printer device if argument given)
startall start all CPU's
stopall stop all CPU's
cf configure CPU online or offline
cfall configure all CPU's online or offline
.reply scp command
!message scp priority messsage
ssd Signal Shutdown
ptt display pthread trace
i generate I/O attention interrupt for device
ext generate external interrupt
restart generate restart interrupt
store store CPU status at absolute zero
archmode set architecture mode
loadparm set IPL parameter
ipl IPL Normal from device xxxx
iplc IPL Clear from device xxxx
sysreset Issue SYSTEM Reset manual operation
sysclear Issue SYSTEM Clear Reset manual operation
psw display program status word
gpr display general purpose registers
fpr display floating point registers
cr display control registers
ar display access registers
pr display prefix register
clocks display tod clkc and cpu timer
ipending display pending interrupts
ds display subchannel
r display or alter real storage
v display or alter virtual storage
u disassemble storage
devtmax display or set max device threads
k display cckd internal trace
attach configure device
detach remove device
define rename device
devinit reinitialize device
devlist list all devices
scsimount automatic SCSI tape mounts
sh shell command
cache cache command
cckd cckd command
shrd shrd command
quiet toggle automatic refresh of panel display data
b set breakpoint
b- delete breakpoint
g turn off instruction stepping and start CPU
ostailor trace program interrupts
pgmtrace trace program interrupts
savecore save a core image to file
loadcore load a core image file
loadtext load a text deck file
ldmod load a module
rmmod delete a module
lsmod list dynamic modules
lsdep list module dependencies
iodelay display or set I/O delay value
tt32stats display CTCI-W32 statistics
toddrag display or set TOD clock drag factor
panrate display or set rate at which console refreshes
syncio display syncio devices statistics
maxrates display maximum observed MIPS/SIOS rate for the
defined interval or define a new reporting interval
script Run a sequence of panel commands contained in a file
cscript Cancels a running script thread
evm ECPS:VM Commands (Deprecated)
ecpsvm ECPS:VM Commands
aea Display AEA tables
aia Display AIA fields
tlb Display TLB tables
sizeof Display size of structures
suspend Suspend hercules
resume Resume hercules
sf+ add shadow file
sf- delete shadow file
sf= rename shadow file
sfc compress shadow files
sfd display shadow file stats
t{+/-} turn instruction tracing on/off
s{+/-} turn instruction stepping on/off
t{+/-}dev turn CCW tracing on/off
s{+/-}dev turn CCW stepping on/off
t{+/-}CKD turn CKD_KEY tracing on/off
f{+/-}adr mark frames unusable/usable
The ipl command may also be used to perform a load from cdrom or server. For example if a standard SuSE S/390 Linux distribution CD is loaded and mounted on /cdrom for example, this cdrom may then be ipl-ed by: ipl /cdrom/suse.ins
The attach and detach commands are used to dynamically add or remove devices from the configuration, and the define command can be used to alter the device number of an existing device.
The devinit command can be used to reopen an existing device. The args (if specified) override the arguments specified in the configuration file for this device. The device type cannot be changed and must not be specified. This command can be used to rewind a tape, to mount a new tape or disk image file on an existing device, to load a new card deck into a reader, or to close and reopen a printer or punch device.
In single-step mode, pressing the enter key will advance to the next instruction.
There is also an alternate semi-graphical control panel. Press Esc to switch between the command line format and the semi-graphical format. Press ? to obtain help in either control panel.
Some commands also offer additional help information regarding their syntax, etc. Enter "help <command name>" to display this additional help information. (Note: not every command supports help)
The hercules.rc (run-commands) file
Hercules also supports the ability to automatically execute panel commands upon startup via the 'run-commands' file. If the run-commands file is found to exist when Hercules starts, each line contained within it is read and interpreted as a panel command exactly as if the command were entered from the HMC system console.
The default filename for the run-commands file is "hercules.rc", but may be overridden by setting the "HERCULES_RC" environment variable to the desired filename.
Except for the 'pause' command (see paragraph further below), each command read from the run-commands file is logged to the console preceded by a '> ' (greater-than sign) character so you can easily distinguish between panel commands entered from the keyboard from those entered via the .rc file.
Lines starting with '#' are treated as "silent comments" and are thus not logged to the console. Line starting with '*' however are treated as "loud comments" and will be logged.
In addition to being able to execute any valid panel command (including the 'sh' shell command) via the run-commands file, an additional 'pause nnn' command is supported in order to introduce a brief delay before reading and processing the next line in the file. The value nnn can be any number from 1 to 999 and specifies the number of seconds to delay before reading the next line. Creative use of the run-commands file can completely automate Hercules startup.
Please see our Technical Support web page.
Last updated $Date: 2005/12/29 10:38:33 $ $Revision: 1.39 $