Skip to content

Commit 16b5692

Browse files
committedSep 1, 2019
Minor editing of README files for better readability.
[skip travis]
1 parent 007aee5 commit 16b5692

30 files changed

+1182
-800
lines changed
 

‎README.md

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
![SDL Hyperion](/readme/images/image_header_herculeshyperionSDL.png)
1+
![SDL Hyperion](./readme/images/image_header_herculeshyperionSDL.png)
22
[![Build Status](https://travis-ci.org/SDL-Hercules-390/hyperion.svg?branch=master)](https://travis-ci.org/SDL-Hercules-390/hyperion)
33

44
## The [SoftDevLabs](http://www.softdevlabs.com) version of Hercules 4.x (Hyperion)
55

66
## Contents
7+
78
1. [About](#About)
89
2. [Find out more](#Find-out-more)
910
3. [Additional README files](#Additional-README-files)
1011

1112
## About
13+
1214
**Hercules** is an open source software implementation of the mainframe System/370 and ESA/390 architectures, in addition to the latest 64-bit z/Architecture. Hercules runs under Linux, Windows, Solaris, FreeBSD, and Mac OS X.
1315

1416
Hercules is [OSI Certified Open Source Software](http://www.opensource.org/) licensed under the terms of the [Q Public Licence](http://sdl-hercules-390.github.io/html/herclic.html).
@@ -24,32 +26,36 @@ Jan Jaeger designed and implemented many of the advanced features of Hercules, i
2426
The SoftDevLabs version of Hercules 4.x Hyperion is currently the only 'active' version of the Hercules emulator in existence (so it seems).
2527

2628
## Find out more
29+
2730
To find out more about this particular version of Hercules 4.x Hyperion, follow this link: [Hercules 4.x (Hyperion)](http://sdl-hercules-390.github.io/html/)
2831

2932
## Additional README files
3033

3134
### Building Hercules
35+
3236
[Building Hercules under AIX](readme/README.AIX.md)
3337
[Building Hercules under BSD/OSX](readme/README.BSD.md)
3438
[Budiling Hercules for OSX](readme/README.OSX.md)
3539
[Building Hercules under 64-bit Windows](readme/README.WIN64.md)
36-
OBSOLETE [Building Hercules with MinGW](readme/README.MINGW.md)
37-
OBSOLETE [Building Hercules for Windows with Visual C](readme/README.MSVC.md)
40+
[Building Hercules with MinGW](readme/README.MINGW.md)   _(obsolete)_
41+
[Building Hercules for Windows with Visual C](readme/README.MSVC.md)   _(obsolete)_
3842
[Hercules "External Packages"](readme/README.EXTPKG.md)
3943
[HercIFC and Hercules as setuid root programs](readme/README.SETUID.md)
4044
[HQA Build Scenarios](readme/README.HQA.md)
4145
[How to build Hercules from SVN under Solaris](readme/README.SUN.md)
4246
[Low-level Test Cases](tests/README.md)
4347

4448
### Mods
49+
4550
[APL/360 mods](readme/README.APL360.md)
4651
[ECPS:VM & Extended VM Assists](readme/README.ECPSVM.md)
47-
[Hercules CMPSC "Compression Call" instruction support](/readme/README.CMPSC.md)
52+
[Hercules CMPSC "Compression Call" instruction support](readme/README.CMPSC.md)
4853
[Hercules Dynamic Modules (on Windows)](readme/README.DYNMOD.md)
4954
[Preliminary 2703 BSC Support](readme/README.COMMADPT.md)
5055
[RXVT4APL Mods](readme/README.RXVT4APL.md)
5156

5257
### Features and Operation
58+
5359
[Customizable Hercules 3270 Logo](readme/README.HERCLOGO.md)
5460
[Guest Access To Host IP Stack - The TCPIP (X'75') Instruction](readme/README.TCPIP.md)
5561
[Hercules Automatic Operator](readme/README.HAO.md)
@@ -64,7 +70,9 @@ OBSOLETE [Building Hercules for Windows with Visual C](readme/README.MSVC.md)
6470
[VMFPLC2 (VM) Formatted Tape Utility](readme/README.VMFPLC2.md)
6571

6672
### Hercules Architecture
73+
6774
[Hercules Input/Output Architecture](readme/README.IOARCH.md)
6875

6976
### Issues
77+
7078
[Unresolved Issues](readme/README.ISSUES.md)

‎html/cckddasd.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,11 @@ <h2>Introduction</h2>
107107
<pre>
108108
0001 2311 VOL111.model-x.ext sf=VOL111_Shadow_0.model-x.ext
109109
</pre>
110-
will cause a shadow file named:
110+
will cause a shadow file with the following name to be created:
111111
<pre>
112112
VOL111_Shadow_0.model-1.ext
113113
</pre>
114-
to be created, whereas the following slightly different device statement:
114+
whereas the following slightly different device statement:
115115
<pre>
116116
0002 2311 VOL222.model-x.ext sf=VOL222.model-x_Shadow_0.ext
117117
</pre>
@@ -122,7 +122,7 @@ <h2>Introduction</h2>
122122

123123
<p>
124124

125-
Please notice the placement of the shadow file number in the two examples:
125+
Notice the placement of the shadow file number in the above two examples:
126126
it is always immediately before the <i>last</i> period of the filename.
127127
In earlier versions of Hercules the shadow file number was
128128
erroneously placed immediately before the <i>first</i> period of the

‎readme/README.APL360.md

+12-9
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33

44
# APL\360 mods by Max H. Parke
55
## Contents
6+
67
1. [About](#About)
78

89
# About
10+
911
Max H. Parke (ikj1234i@yahoo.com) has modified the commadpt driver to work for APL\360. This is Max's README regarding his APL\360 mods:
1012

11-
1. Here is the APL conf that I used
13+
1. Here is the APL conf that I used:
1214
```
1315
1750 APLDEV (X'00',X'03'),TYPE=AMBIG,SAD=NOP
1416
1800 APLDEV (X'40',X'43'),TYPE=1052
@@ -18,25 +20,26 @@ Max H. Parke (ikj1234i@yahoo.com) has modified the commadpt driver to work for A
1820

1921
With `TYPE=AMBIG` your telnet connection should close after using `)OFF`:
2022
```
21-
"off
23+
)off
2224
002 23.55.39 12/03/84 u01
2325
connected 0.01.05 to date 0.23.08
2426
cpu time 0.00.00 to date 0.00.00
2527
Connection closed by foreign host.
2628
```
2729

28-
2. Hercules conf file device defs
30+
2. Hercules configuration file device definitions:
2931
```
30-
[standard 2741 emulation]
31-
0400 2703 dial=in lport=57411 lnctl=ibm1 term=2741 skip=5EDE code=ebcd iskip=0A
32-
[extended APL support when using rxvt4apl]
33-
0402 2703 dial=in lport=57413 lnctl=ibm1 term=rxvt4apl skip=5EDE code=ebcd iskip=0D0A prepend=16 append=5B1F eol=0A binary=yes crlf=yes sendcr=yes
32+
# [standard 2741 emulation]
33+
0400 2703 dial=in lport=57411 lnctl=ibm1 term=2741 skip=5EDE code=ebcd iskip=0A
34+
35+
# [extended APL support when using rxvt4apl]
36+
0402 2703 dial=in lport=57413 lnctl=ibm1 term=rxvt4apl skip=5EDE code=ebcd iskip=0D0A prepend=16 append=5B1F eol=0A binary=yes crlf=yes sendcr=yes
3437
```
3538

36-
3. Logon using `"314159` (do not use = as in 1052). For rxvt4apl, use the regular right parenthesis. See also the separate [readme](/readme/README.RXVT4APL.md) file for using rxvt4apl.
39+
3. Logon using "314159" (do not use = as in 1052). For `rxvt4apl`, use the regular right parenthesis. See also the separate [readme](./README.RXVT4APL.md) file for using `rxvt4apl`.
3740

3841
4. Use `CTRL-C` as usual for 2741 ATTN.
3942

4043
5. Only tested in Linux - YMMV
4144

42-
6. TODO: add fix for disconnected TCP connection while signed on to APL, should initiate a session drop.
45+
6. **TODO:** add fix for disconnected TCP connection while signed on to APL, should initiate a session drop.

‎readme/README.CCKD64.md

+34-20
Original file line numberDiff line numberDiff line change
@@ -2,49 +2,63 @@
22
[Return to master README.md](../README.md)
33

44
# Hercules CCKD64 Support
5+
56
## Contents
7+
68
1. [About CCKD64](#About-CCKD64)
79
2. [Conversion to CCKD64](#Conversion-to-CCKD64)
810
3. [Procedure](#Procedure)
911
4. [Additional Information](#Additional-Information)
1012

1113
## About CCKD64
14+
1215
Version 4.2 of SDL Hercules Hyperion introduced support for very large Compressed CKD (CCKD) dasd image files, called CCKD64, which can be much larger than 4GB in size.
1316

1417
The current default implementation of CCKD only supports a maximum file size of 4GB. With the current CCKD implementation, when a compressed CCKD dasd image file (or any of its associated shadow files) reaches a file size of 4GB, unrecoverable I/O errors occur. This is caused by the use of only 32-bit file offset values being used in the original design.
1518

1619
With the introduction of CCKD64 support however, the new CCKD64 file format uses 64-bit file offsets, thus allowing CCKD64 format compressed dasd image files (and their associated shadow files) to grow to the theoretical maximum of 18EB in size. (The actual maximum size that any operating system file can actually be however, is limited by the operating system itself as well as the format of the file system that the file resides on. On Windows with NTFS volumes for example, the actual maximum supported file size is 16TB.)
1720

1821
## Conversion to CCKD64
22+
1923
In order to take advantage of the new CCKD64 file format, existing emulated dasd image files in the old CCKD compressed format must first be converted to the new CCKD64 format by either:
20-
- using the new 'convto64' utility to individually convert each old format base image and associated shadow files to the new format (recommended)
21-
or
22-
- creating brand new cckd64 base image file using the new 'dasdinit64' utility
23-
or
24-
- copying existing old format CCKD images to the new CCKD64 format using the new 'dasdcopy64' utility.
2524

26-
It is critical the dasd images being converted not have any errors before they are converted. It is highly recommended that `cckdcdsk -3` be run on each image before converting. Running cckdcomp is also recommended.
2725

28-
Using the 'convto64' utility to convert existing CCKD files to the CCKD64 format is recommended over using dasdcopy64 as it is not only significantly faster than dasdcopy64 but is also able to convert individual CCKD shadow files as well (which dasdcopy64 cannot currently do). That is to say, if you already have a CCKD format base dasd image file with one or more shadow files associated with it, dasdcopy64 can only copy the base image plus all of its shadow files to a single new CCKD64 base image file (i.e. the shadow files are automatically "merged" during the copy operation, resulting in a single CCKD64 BASE dasd image output file). The 'convto64' utility however, directly converts base images -OR- shadow files individually, resulting in a new CCKD64 format base image or CCKD64 format shadow file. It does NOT "merge" them together and, as previously mentioned, is significantly faster than dasdcopy64 too. It is the recommended way to convert existing CCKD dasd images to the new CCKD64 format.
26+
- Using the new **`convto64`** utility to individually convert each old format base image and associated shadow files to the new format _(recommended!)_, or
27+
28+
29+
- Creating brand new cckd64 base image file using the new `dasdinit64` utility, or
30+
31+
32+
- Copying existing old format CCKD images to the new CCKD64 format using the new `dasdcopy64` utility.
2933

30-
In addition to the new 'dasdinit64' and 'dasdcopy64' utilities, there are also corresponding CCKD64 versions of:
31-
'cckdcdsk' check disk utility called 'cckdcdsk64'
32-
'cckdcomp' utility called 'cckdcomp64'
33-
'cckdswap' called 'cckdswap64'
34-
'cckddiag' diagnostic utility called 'cckddiag64'
35-
'dasdconv' utility called 'dasdconv64'
36-
'dasdload' utility called 'dasdload64'
3734

38-
The existing dasdls, dasdcat, dasdpdsu, dasdisup, and dasdseq utilities do not have any specialized CCKD64 versions. However, all of them do support the new CCKD64 file format in addition to the existing CCKD file format; they just don't have separate executable names ending in '64' as they have all been updated to support either of the two formats automatically.
35+
It is critical the dasd images being converted not have any errors before they are converted. It is highly recommended that `cckdcdsk -3` be run on each image before converting. Running `cckdcomp` is also recommended.
36+
37+
Using the **`convto64`** utility to convert existing CCKD files to the CCKD64 format is recommended over using `dasdcopy64` as it is not only significantly faster than `dasdcopy64` but is also able to convert individual CCKD shadow files as well (which `dasdcopy64` cannot currently do). That is to say, if you already have a CCKD format base dasd image file with one or more shadow files associated with it, `dasdcopy64` can only copy the base image plus all of its shadow files to a single new CCKD64 base image file (i.e. the shadow files are automatically _merged_ during the copy operation, resulting in a single CCKD64 BASE dasd image output file). The **`convto64`** utility however, directly converts base images _-OR-_ shadow files individually, resulting in a new CCKD64 format base image or CCKD64 format shadow file. It does _NOT_ "merge" them together and, as previously mentioned, and is significantly faster than `dasdcopy64` too. It is the recommended way to convert existing CCKD dasd images to the new CCKD64 format.
38+
39+
In addition to the new `dasdinit64` and `dasdcopy64` utilities, there are also corresponding CCKD64 versions of:
40+
41+
42+
`cckdcdsk` check disk utility called `cckdcdsk64`
43+
`cckdcomp` utility called `cckdcomp64`
44+
`cckdswap` called `cckdswap64`
45+
`cckddiag` diagnostic utility called `cckddiag64`
46+
`dasdconv` utility called `dasdconv64`
47+
`dasdload` utility called `dasdload64`
48+
49+
50+
The existing `dasdls`, `dasdcat`, `dasdpdsu`, `dasdisup`, and `dasdseq` utilities do not have any specialized CCKD64 versions. However, all of them do support the new CCKD64 file format in addition to the existing CCKD file format; they just don't have separate executable names ending in '64' as they have all been updated to support either of the two formats automatically.
3951

4052
## Procedure
41-
1. Run `cckdcdsk -3` on all existing 32-bit CCKD dasds to correct any existing errors.
4253

43-
2. Run `cckdcomp` on all existing 32-bit CCKD dasds to remove all free space.
54+
1. Run **`cckdcdsk -3`** on all existing 32-bit CCKD dasds to correct any existing errors. _**(Critical!)**_
4455

45-
3. Use `convto64` to individually convert all 32-bit CCKD base image and associated shadow files to the new 64-bit CCKD64 format. Note that the shadow file and base image must be converted separately from one another.
56+
2. Run `cckdcomp` on all existing 32-bit CCKD dasds to remove all free space. _(optional but recommended)_
4657

47-
4. Optional: run `cckdcdsk64 -3` on all of the newly converted 64-bit CCKD64 dasd images to verify the conversion was successful and that no errors exist on any of the images.
58+
3. Use **`convto64`** to individually convert all 32-bit CCKD base image and associated shadow files to the new 64-bit CCKD64 format. Note that the shadow file and base image must be converted separately from one another. _(required)_
59+
60+
4. Run `cckdcdsk64 -3` on all of the newly converted 64-bit CCKD64 dasd images to verify the conversion was successful and that no errors exist on any of the images. _(optional)_
4861

4962
## Additional Information
50-
Additional information regarding the new CCKD64 file format can be found on the [Compressed Dasd Emulation](https://sdl-hercules-390.github.io/html/cckddasd.html) web page.
63+
64+
Additional information regarding the new CCKD64 file format can be found on the [Compressed Dasd Emulation](../html/cckddasd.html) web page.

‎readme/README.CMPSC.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
The z/Architecture Compression Call instruction (CMPSC opcode B263) had at one time two different implementations within Hercules 4.0 Hyperion.
1010

11-
The original (legacy) CMPSC implementation was lacking support for the z/Architecture CMPSC-enhancement facility, failed to pass some cmpsctst testing tool(*) architecural compliance tests, and was not as fast.
11+
The original (legacy) CMPSC implementation was lacking support for the z/Architecture CMPSC-enhancement facility, failed to pass some cmpsctst testing tool**(*)** architecural compliance tests, and was not as fast.
1212

13-
The replacement cmpsc_2012 implementation not only passes all cmpsctst testing tool architectural compliance tests, but also fully supports the z/Architecture CMPSC-enhancement facility, and is about 10% faster as well. Because of this the old legacy implementation was removed and the new 2012 implementation is now the ONLY implementation in Hercules 4.0 Hyperion.
13+
The replacement "cmpsc_2012" implementation not only passes all cmpsctst testing tool architectural compliance tests, but also fully supports the z/Architecture CMPSC-enhancement facility, and is about 10% faster as well. Because of this the old legacy implementation was removed and the new 2012 implementation is now the _only_ implementation in Hercules 4.0 Hyperion.
1414

1515
The CMPSC Compression Call instruction is fully described in painstaking detail in publication "ESA/390 Data Compression" (SA22-7208) as well as in the [z/Architecture Principles of Operation SA22-7832](http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr011.pdf) manual.
1616

@@ -33,4 +33,4 @@ The new default cmpsc_2012 implementation logic is spread across several differe
3333

3434
The original legacy cmpsc implementation was written by Bernard van der Helm of Noordwijkerhout, The Netherlands. The new/improved cmpsc_2012 implementation was written by Fish (David B. Trout) of the United States of America, and borrows some of the techniques that Bernard pioneered.
3535

36-
###### (*) The CMPSCTST instruction testing tool is maintained separately from Hercules in its own source code repository on GitHub, ships with a pre-built set of ready-to-run binaries (executable files and scripts) for both Windows and Linux (CentOS 6.4 with gcc 4.4), a default set of test files, and contains a detailed README explaining how to not only build the tool for yourself but also how to run its many tests. The repository is located [here](https://github.com/Fish-Git/cmpsctst)
36+
###### (*) The CMPSCTST instruction testing tool is maintained separately from Hercules in its own source code repository on GitHub, ships with a pre-built set of ready-to-run binaries (executable files and scripts) for both Windows and Linux (CentOS 6.4 with gcc 4.4), a default set of test files, and contains a detailed README explaining how to not only build the tool for yourself but also how to run its many tests. The repository is located [here](https://github.com/Fish-Git/cmpsctst).

‎readme/README.COMMADPT.md

+11-6
Original file line numberDiff line numberDiff line change
@@ -111,20 +111,25 @@ x x x x 1 1 0 0 : EON
111111
x x x x 1 1 0 1 : SEP
112112
```
113113

114-
In order to perform an outgoing call, the data must follow these specifications:
115-
`N[N[N]]SEPN[N[N]]SEPN[N[N]]SEPN[N[N]]]SEPN[..[N]][EON]`
114+
In order to perform an outgoing call, the data must follow these specifications:
115+
116+
N[N[N]]SEPN[N[N]]SEPN[N[N]]SEPN[N[N]]]SEPN[..[N]][EON]
117+
116118
Where N is any dialing number from 0 to 9 and SEP is the separator.
117119

118-
The 4 first group of digits represet the IP address. The last group represent a TCP port number.
119-
For example (* is the SEP character representation):
120-
`192*168*0*1*8888 : will issue a TCP connection to 192.168.0.1 port 8888`
120+
The 4 first group of digits represent the IP address. The last group represent a TCP port number.
121+
For example (* is the SEP character representation):
122+
123+
192*168*0*1*8888 : will issue a TCP connection to 192.168.0.1 port 8888
124+
121125
The EON is optional. If it is present, it must be the last character of the dial data.
122126

123127
## Bugs, Caveats
128+
124129
- The Address Prepare is not implemented
125130
- The POLL CCW Has not been tested
126131
- Group DIAL IN is not implemented
127132
- DIAL CCW Not tested
128133
- There is 1 thread per line, when there should be 1 thread for ALL lines.
129-
- MAXDEVT may have to be adjusted under WINDOWS to accomodate for a large number of lines (because some I/O may take an undefinite amount of time).
134+
- MAXDEVT may have to be adjusted under Windows to accomodate for a large number of lines (because some I/O may take an indefinite amount of time).
130135
- There is no 'REAL' BSC line support yet.

0 commit comments

Comments
 (0)
Please sign in to comment.