Hi Peter,
Perhaps this might be useful from the hercules faq? There is a lot of missing history and discussion about these distributions (since the yahoo groups are gone now). Perhaps someone archived the old groups?
I think below are a couple of options for a running system.
2.04 Where can I obtain OS/360 ?
1. Rick Fochtman's OS/360 archive CD is now obtainable by download from these locations:
2. If you are interested in obtaining a copy of the CD itself, contact Rick Fochtman at rfochtman@ync.net.
3. Alternatively, you can download the OS/360 Y2K Starter package from http://open360.copyleft.de/OS360/Download.html which contains a full featured MVT system on a 3330 image, with some minimal documentation. The configuration is that of a 370/158 with 4 megabytes of main storage, running OS/MVT Release 21.0. The same site also offers a MVTDBL volume and a Builder package for those who like to participate in OS/360 nucleus hacking.
4. Jay Maynard's "IBM Public Domain Software Collection" at http://www.ibiblio.org/jmaynard/ contains copies of the OS/360 Release 21.8 distribution tapes.
I’ve also attached the tape FAQ from Hercules. It might be useful in answering some of your questions about tape formats and multi-volume tapes.
If I recall correctly there are also some standalone windows utilities for reading tape media (awsbrowse?). Fish from the Hercules project might also have written some tools for tape.
Cheers
Christopher
--
You received this message because you are subscribed to the Google Groups "z390" group.
To unsubscribe from this group and stop receiving emails from it, send an email to z390+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/z390/685fc5d6-cd42-4268-8435-3039d2c1a3een%40googlegroups.com.
4. Jay Maynard's "IBM Public Domain Software Collection" at http://www.ibiblio.org/jmaynard/ contains copies of the OS/360 Release 21.8 distribution tapes.
I’ve also attached the tape FAQ from Hercules. It might be useful in answering some of your questions about tape formats and multi-volume tapes.
If I recall correctly there are also some standalone windows utilities for reading tape media (awsbrowse?). Fish from the Hercules project might also have written some tools for tape.
Hi Peter
Here is a recipe that might be useful
http://www.conmicro.com/hercos360/
Hercules should be quite easy to get working. What problems did you encounter? Also I believe there were some windows tools for mainframe tape. I will try to look around one of my harddrives.
Cheers
Christopher
Hi Peter,
The zip was blocked (perhaps just to the group?). Look online for
AWSBrowse-1.5.1.1805-bin.zip
If you don’t want to build your own system perhaps you can find some OS360 binaries on the CBT site. As mentioned I have quite a bit of material for Hercules and various distributions. I can see if I have anything else useful.
Cheers
Christopher
Hi Peter,
S/360 is a family of machines introduced in the 60s’. It evolved a lot since then. You may feel like the five blind men touching the different parts of an elephant and trying to build a mental picture of the beast.
Learning by doing is what works for me too. Your thought to start writing an emulator is a bit too ambitious for your first S/360 project. So I will concentrate on your desire to write a disassembler. Here are the pieces you would need for your disassembler: (1) S/360 hardware or emulator, (2) an operating system to manage the hardware, (3) development tools (editor, assembler, linkage-editor, perhaps utilities to copy files, etc.). All this is contained in Hercules. My suggestion is to get all the pieces and install them on your home machine (Linux or Windows).
I know, you would like to do something else now, but bear with me, it is tried and true method. Once you overcome all the disappointments and failures of your installation you will have a “playground” of your own. Now you can edit, assemble, link-edit and run your first code all on S/360. If you stay on S/360, you will learn a lot.
If you succumb to doing parts of your development on Windows or Linux, you will have to learn all the ugly details of ASCII vs EBCDIC encoding, conversion programs and their quirks. All these screw-ups translate to one thing – extra knowledge.
The one thing you may not be prepared for is the S/360 I/O “richness”. Windows and Linux have just one I/O concept “a byte stream” unbroken for binaries or broken into lines for text files. The files are written to fixed blocks on a pre-formatted disk The S/360 uses “CKD” disk organization (Count – Key – Data) for each physical block. COUNT is the sequential number of physical blocks from the start of the track, KEY is the highest key in the following Data segment (used for direct access), DATA is the user data and it can be any length (later you will learn that max length is about 32K).
To create a dataset (file) one has to ALLOCATE it. This is done by JCL (Job Control Language). The process of “allocate” (a) reserves a space on the disk (we call it a VOLUME), (b) assigns a lot of attributes to the new dataset. Currently a JCL manual has about 300 pages devoted to explaining of individual attribute of files. (c) file information is written to an area in the volume (disk) called VTOC – Volume Table Of Contents. You can also ask for a data set to be “cataloged” in which case to VTOC entry for a dataset is also copied to a catalog (so you can find the dataset by name without knowing what volume it is on).
A “volume” is organized into blocks, tracks and cylinders. There are different volume types – 2311, 2314, 3030, 3050, 3880, 3890 come to mind. They are of different “geometries” (track size, cylinder size) and capacities.
The dataset organization is Sequential, Index Sequential, Direct. The records are fixed length, variable length, Spanned (logical record is longer than a physical block).
When you would like to run (execute) a program you create a JCL for it. JCL has the program name, program’s location, its input files, work files, output files. The success/failure is returned by a program back to JCL to be used in decision to run subsequent programs. JCL is itself interpreted by a program called Initiator/Terminator.
Sorry to get carried away, there is quite a bit more
Good luck, in your endeavors
George
P.S
I used dataset, data set and file interchangeably.
My guess .tap may stand for “tape”. What the format is is an interesting question.
I would stay away from BOS (Basic Operating System). People who used it are “very old” and the knowledge is “dying out”.
Hi Peter,
S/360 is a family of machines introduced in the 60s’. It evolved a lot since then. You may feel like the five blind men touching the different parts of an elephant and trying to build a mental picture of the beast.
Learning by doing is what works for me too. Your thought to start writing an emulator is a bit too ambitious for your first S/360 project.
So I will concentrate on your desire to write a disassembler.
Here are the pieces you would need for your disassembler: (1) S/360 hardware or emulator, (2) an operating system to manage the hardware, (3) development tools (editor, assembler, linkage-editor, perhaps utilities to copy files, etc.). All this is contained in Hercules. My suggestion is to get all the pieces and install them on your home machine (Linux or Windows).
If you succumb to doing parts of your development on Windows or Linux, you will have to learn all the ugly details of ASCII vs EBCDIC encoding, conversion programs and their quirks. All these screw-ups translate to one thing – extra knowledge.
The one thing you may not be prepared for is the S/360 I/O “richness”. Windows and Linux have just one I/O concept “a byte stream” unbroken for binaries or broken into lines for text files. The files are written to fixed blocks on a pre-formatted disk The S/360 uses “CKD” disk organization (Count – Key – Data) for each physical block. COUNT is the sequential number of physical blocks from the start of the track, KEY is the highest key in the following Data segment (used for direct access), DATA is the user data and it can be any length (later you will learn that max length is about 32K).
To create a dataset (file) one has to ALLOCATE it. This is done by JCL (Job Control Language). The process of “allocate” (a) reserves a space on the disk (we call it a VOLUME), (b) assigns a lot of attributes to the new dataset. Currently a JCL manual has about 300 pages devoted to explaining of individual attribute of files. (c) file information is written to an area in the volume (disk) called VTOC – Volume Table Of Contents. You can also ask for a data set to be “cataloged” in which case to VTOC entry for a dataset is also copied to a catalog (so you can find the dataset by name without knowing what volume it is on).
A “volume” is organized into blocks, tracks and cylinders. There are different volume types – 2311, 2314, 3030, 3050, 3880, 3890 come to mind. They are of different “geometries” (track size, cylinder size) and capacities.
The dataset organization is Sequential, Index Sequential, Direct. The records are fixed length, variable length, Spanned (logical record is longer than a physical block).
When you would like to run (execute) a program you create a JCL for it. JCL has the program name, program’s location, its input files, work files, output files. The success/failure is returned by a program back to JCL to be used in decision to run subsequent programs. JCL is itself interpreted by a program called Initiator/Terminator.
My guess .tap may stand for “tape”. What the format is is an interesting question.
I would stay away from BOS (Basic Operating System). People who used it are “very old” and the knowledge is “dying out”.
Well comparing S/360 with a Z80 is like comparing a Tesla with a Ford-T.
Actually one issue with S/360 is that its not a single thing.
The processors were upward compatible, but each had its own quirks.
Then remember the channels also runs channel programs which are programs and can contain conditional branches.
As for “badly documented” well a major problem is that there is so much documentation, and you need to read it all….
.. There is the Principles of Operation, which needs to be read in conjunction with the model specific manuals, and all the devices manuals.
Look IBM could produce a system in 1966 where the devices still worked on 1990’s machines I think it got something right….
… and if documentation is short how come we have so many emulators? Look at this
https://www.youtube.com/watch?v=1gDULzhKozU
FPGA re-implementation driving an original front panel…
Dave
From: z3...@googlegroups.com <z3...@googlegroups.com> On Behalf Of Christopher Lang
Sent: 18 December 2020 22:22
To: Peter Lund <peterf...@gmail.com>
Cc: George Lausman <george....@gmail.com>; z390 <z3...@googlegroups.com>
Subject: Re: New to IBM's mainframe world -- *.tap files, SL tapes, PDS data sets
Look, I sent you how to build n OS/360 MVT system…
To view this discussion on the web visit https://groups.google.com/d/msgid/z390/BCFFEE5C-FE36-4E63-A686-E785394FA90B%40gmail.com.
On Fri, 18 Dec 2020 at 06:14, Peter Lund <peterf...@gmail.com> wrote:
>
> I have never seen, touched, or used any machine in the S/360 family. They are like strange creatures from an alien world to me.
Welcome to the alien world! Where is your home world?
> I recently started writing an S/360 emulator (+ disassembler) because I want to understand the S/360 and I learn much faster when unavoidably confronted with all the little details that I don't understand.
>
> My first problem is how to get hold of S/360 binaries so I have some code to disassemble/execute.
First, let's be clear about the architecture we're talking about.
S/360 is the 1964 base for a number of upward compatible architectures
There are many forms of "binaries" (though nobody calls them that)
I'm not sure what you would expect a "raw binary" to be, or why such a
thing would be present on a tape.
But in any case I don't at a glance
recognize the format of those .tap files. (Do keep in mind that any of
the several "tape" file formats have nothing to do with S/360 et al;
they are containers used by the emulators or other software to
represent a physical tape with all its details in a stream file as
used on UNIX, Windows, and so on.)
> And then there is the rabbit hole of "standard labeled" tapes and that of "partitioned data sets". As far as I can tell, I need to look at the header/trailer label "files" around the actual data files in AWS files to get names, timestamps, file formats -- and then figure out how PDS files are stored so I can extract members. At least that seems to be necessary for some of the executables.
There is an executable format called a "load module" that can be
stored only in a PDS. Other formats - notably the "object modules"
produced by the compilers can be stored as a sequential file or as PDS
members. Or of course on punched cards... :-)
> Does anybody know of a good and thorough specification of PDS (and PDS/E) files, sorry, "data sets"? And a similar good and thorough specification of the VOL1/HDR1/HDR2/EOF1/EOF2/EOV1/EOV2/etc labels for tapes?
The tape part is easy; there is a book called "Tape Labels", which
hasn't changed significantly for around 50 years. Any version you find
on bitsavers should do. You'll find that some of the files on
bitsavers have been OCR'd; others not, or not well. For something like
Tape Labels with multiple versions available it may pay to search for
an OCR'd version.
There is no published specification of the layout on disk of PDSEs.
This is an unfortunate trend at IBM, and several other data formats of
recent years are also undocumented. But PDSEs do not exist on S/360 or
S/370 OSs. The layout of PDS data has been documented for decades, and
hasn't changed much over that time. To really understand it requires
some knowledge of the disk drives used on S/360, which are not much
like the fixed-length-block disks you are probably familiar with.
I would start with almost any bitsavers version of the Data Management
Services Guide (read up on disks - called Direct Access Storage
Devices - DASD), followed by the Linkage Editor and Loader, or perhaps
better - the current IBM book z/OS MVS Program Management: Advanced
Facilities, which has an appendix describing the layout of records in
object and load modules.
> PS: How long does it take to get used to IBM's incorrect bit numbering?
With that attitude it'll take you roughly forever. But do tell me - do
you prefer to number your bytes and words and pages and such in the
same order you number your bits, or in some different order?