<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://leo.leung.xyz/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=186.90.15.212</id>
	<title>Leo&#039;s Notes - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://leo.leung.xyz/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=186.90.15.212"/>
	<link rel="alternate" type="text/html" href="https://leo.leung.xyz/wiki/Special:Contributions/186.90.15.212"/>
	<updated>2026-10-06T12:39:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://leo.leung.xyz/wiki/index.php?title=Z/OS_Emulation_with_Hercules&amp;diff=5325</id>
		<title>Z/OS Emulation with Hercules</title>
		<link rel="alternate" type="text/html" href="https://leo.leung.xyz/wiki/index.php?title=Z/OS_Emulation_with_Hercules&amp;diff=5325"/>
		<updated>2020-08-01T17:54:30Z</updated>

		<summary type="html">&lt;p&gt;186.90.15.212: /* Step 3: Configure hercules.cnf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I recently stumbled across some (illegal) Z/OS emulation files for Hercules on The Pirate Bay a while back, but one thing which I couldn&#039;t figure out was to actually get them working. With a little bit of searching, I&#039;ve finally figured it out. This guide should help anyone who has absolutely no background with IBM mainframes or Hercules – but for some reason wishes to play with a mainframe – to get started.&lt;br /&gt;
&lt;br /&gt;
{{Info&lt;br /&gt;
|1=Migrated Content&lt;br /&gt;
|2=Originally posted on July 2, 2012 on my deprecated WordPress site.&lt;br /&gt;
&lt;br /&gt;
[[Category:Todo]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
I recommend following this guide instead:&lt;br /&gt;
* https://famicoman.com/2018/06/28/emulating-a-z-os-mainframe-with-hercules/&lt;br /&gt;
&lt;br /&gt;
== Step 1: Required Programs and Files ==&lt;br /&gt;
You will need to download and install:&lt;br /&gt;
&lt;br /&gt;
* Hercules (http://www.hercules-390.org/)&lt;br /&gt;
* 3270 terminal emulator (http://x3270.bgp.nu/)&lt;br /&gt;
&lt;br /&gt;
Secondly, you will need to obtain the Z/OS emulation files for Hercules (hint: search TPB or google &#039;IBM Z OS Emulation files&#039;)&lt;br /&gt;
&lt;br /&gt;
== Step 2: Configure your 3270 Terminal Emulator ==&lt;br /&gt;
Open the wc3270 Session Wizard and create a new session with the host &#039;&#039;&#039;set to localhost&#039;&#039;&#039; and the &#039;&#039;&#039;TCP port number set to 3270&#039;&#039;&#039;. Be sure to save your session by hitting &#039;[Enter]&#039; at the menu. You may want to create a desktop shortcut to be used later.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure 3270 Terminal Emulator.png|Configure 3270 Terminal Emulator]]&lt;br /&gt;
&lt;br /&gt;
== Step 3: Configure hercules.cnf ==&lt;br /&gt;
Ensure that your hercules.cnf file references your DASD devices correctly. The paths from the configuration file may be relative. However, in my case, I&#039;ve provided absolute paths.&lt;br /&gt;
&lt;br /&gt;
Note that my DSAD files are on my D:\ibm\cckd\ directory. If you are using relative paths, ensure that your hercules.cnf file is in the correct location, relative to your cckd files.&lt;br /&gt;
&lt;br /&gt;
Ensure your display terminals are set to 3270.&lt;br /&gt;
&lt;br /&gt;
My hercules.cnf is as follows:&lt;br /&gt;
&lt;br /&gt;
{{highlight|lang=text|code=&lt;br /&gt;
#&lt;br /&gt;
# Hercules Emulator Control file...&lt;br /&gt;
# Description:&lt;br /&gt;
# MaxShutdownSecs: 15&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# System parameters&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
ARCHMODE z/Arch&lt;br /&gt;
ALRF ENABLE&lt;br /&gt;
CCKD RA=2,RAQ=4,RAT=2,WR=2,GCINT=5,GCPARM=0,NOSTRESS=0,TRACE=0,FREEPEND=-1&lt;br /&gt;
CNSLPORT 3270&lt;br /&gt;
CONKPALV (3,1,10)&lt;br /&gt;
CPUMODEL 3090&lt;br /&gt;
CPUSERIAL 012345&lt;br /&gt;
DIAG8CMD ENABLE&lt;br /&gt;
ECPSVM YES&lt;br /&gt;
LOADPARM 0A95DB..&lt;br /&gt;
LPARNAME HERCULES&lt;br /&gt;
MAINSIZE 1024&lt;br /&gt;
MOUNTED_TAPE_REINIT DISALLOW&lt;br /&gt;
NUMCPU 4&lt;br /&gt;
OSTAILOR Z/OS&lt;br /&gt;
PANRATE 80&lt;br /&gt;
PGMPRDOS LICENSED&lt;br /&gt;
SHCMDOPT NODIAG8&lt;br /&gt;
SYSEPOCH 1900&lt;br /&gt;
TIMERINT 50&lt;br /&gt;
TZOFFSET +1400&lt;br /&gt;
YROFFSET 0&lt;br /&gt;
&lt;br /&gt;
HERCPRIO 0&lt;br /&gt;
TODPRIO -20&lt;br /&gt;
DEVPRIO 8&lt;br /&gt;
CPUPRIO 0&lt;br /&gt;
PANTITLE z/OS 1.9 IPL A80?&lt;br /&gt;
&lt;br /&gt;
# Display Terminals&lt;br /&gt;
&lt;br /&gt;
0700 3270&lt;br /&gt;
0701 3270&lt;br /&gt;
0702 3270&lt;br /&gt;
0703 3270&lt;br /&gt;
0704 3270&lt;br /&gt;
&lt;br /&gt;
# DASD Devices&lt;br /&gt;
&lt;br /&gt;
0A81 3390 D:/ibm/cckd/zares1.cckd sf=shadow/zares1_*&lt;br /&gt;
0A82 3390 D:/ibm/cckd/zares2.cckd sf=shadow/zares2_*&lt;br /&gt;
0A83 3390 D:/ibm/cckd/zadb81.cckd sf=shadow/zadb81_*&lt;br /&gt;
0A84 3390 D:/ibm/cckd/zadb82.cckd sf=shadow/zadb82_*&lt;br /&gt;
0A85 3390 D:/ibm/cckd/zadb83.cckd sf=shadow/zadb83_*&lt;br /&gt;
0A86 3390 D:/ibm/cckd/zadb84.cckd sf=shadow/zadb84_*&lt;br /&gt;
0A87 3390 D:/ibm/cckd/zadb91.cckd sf=shadow/zadb91_*&lt;br /&gt;
0A88 3390 D:/ibm/cckd/zadb92.cckd sf=shadow/zadb92_*&lt;br /&gt;
0A89 3390 D:/ibm/cckd/zacic1.cckd sf=shadow/zacic1_*&lt;br /&gt;
0A8A 3390 D:/ibm/cckd/zadis1.cckd sf=shadow/zadis1_*&lt;br /&gt;
0A8B 3390 D:/ibm/cckd/zadis2.cckd sf=shadow/zadis2_*&lt;br /&gt;
0A8C 3390 D:/ibm/cckd/zadis3.cckd sf=shadow/zadis3_*&lt;br /&gt;
0A8D 3390 D:/ibm/cckd/zadis4.cckd sf=shadow/zadis4_*&lt;br /&gt;
0A8E 3390 D:/ibm/cckd/zadis5.cckd sf=shadow/zadis5_*&lt;br /&gt;
0A8F 3390 D:/ibm/cckd/zadis6.cckd sf=shadow/zadis6_*&lt;br /&gt;
0A90 3390 D:/ibm/cckd/zaims1.cckd sf=shadow/zaims1_*&lt;br /&gt;
0A91 3390 D:/ibm/cckd/zaprd1.cckd sf=shadow/zaprd1_*&lt;br /&gt;
0A92 3390 D:/ibm/cckd/zaprd2.cckd sf=shadow/zaprd2_*&lt;br /&gt;
0A93 3390 D:/ibm/cckd/zaprd3.cckd sf=shadow/zaprd3_*&lt;br /&gt;
0A94 3390 D:/ibm/cckd/zaprd4.cckd sf=shadow/zaprd4_*&lt;br /&gt;
0A95 3390 D:/ibm/cckd/zasys1.cckd sf=shadow/zasys1_*&lt;br /&gt;
0A96 3390 D:/ibm/cckd/zauss1.cckd sf=shadow/zauss1_*&lt;br /&gt;
0A97 3390 D:/ibm/cckd/zawas1.cckd sf=shadow/zawas1_*&lt;br /&gt;
0A98 3390 D:/ibm/cckd/zawas2.cckd sf=shadow/zawas2_*&lt;br /&gt;
0A99 3390 D:/ibm/cckd/zawas3.cckd sf=shadow/zawas3_*&lt;br /&gt;
0A9A 3390 D:/ibm/cckd/sares1.cckd sf=shadow/sares1_*&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Step 4: Starting Hercules ==&lt;br /&gt;
Start hercules on the same directory as your hercules.cnf file. In my case:&lt;br /&gt;
&lt;br /&gt;
{{highlight|lang=terminal|code=&lt;br /&gt;
D:\ibm&amp;gt;&amp;quot;C:\Program Files\Hercules\Hercules 3.07 (64 Bit)\hercules.exe&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Hercules should start and you should see something similar to:&lt;br /&gt;
&lt;br /&gt;
[[File:Hercules Console.png|Hercules Console]]&lt;br /&gt;
&lt;br /&gt;
Press &#039;ESC&#039; to switch to the graphic mode. Start two instances of the 3270 terminals that was made and configured in Step 2. The first will be the console terminal, the second will be the TSO terminal. If everything works, you should see two terminals binded to Hercules:&lt;br /&gt;
&lt;br /&gt;
[[File:Hercules Preboot Peripherals.png|Hercules Preboot Peripherals]]&lt;br /&gt;
&lt;br /&gt;
To start Z/OS, press &#039;L&#039; for IPL, then F for the first Z/OS disk device (as highlighted above). Z/OS should begin loading.&lt;br /&gt;
&lt;br /&gt;
The terminal console should halt and prompt whether to initialize sysplex ADCDPL or to reinitalize XCF. Enter &#039;r 00,r&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Hercules Reinitalize XCF.png|Reinitalize XCF]]&lt;br /&gt;
&lt;br /&gt;
It will then prompt asking for the couple system parameter. Enter &#039;r 00,couple=**&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Hercules Couple Param.png|Hercules Couple Param]]&lt;br /&gt;
&lt;br /&gt;
== Step 5: Have Fun ==&lt;br /&gt;
The login screen should appear on the second terminal. You may login as &#039;IBMUSER&#039; with the password &#039;SYS1&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Hercules zOS Prompt.png|Hercules zOS Prompt]]&lt;/div&gt;</summary>
		<author><name>186.90.15.212</name></author>
	</entry>
</feed>