Here you will find more or less useful links to information about – or related to – the IBM 370 architecture Operating Systems, as well on the Hercules emulator. The Hercules emulator software emulates System/370 hardware on various computers / operating systems.
General info
Hercules 370 emulator
- Jay Maynard’s Hercules emulator page (out of date)
- More up to date version of page, containing download to most recent 3.x Hercules and links to many Hercules sites including feature rich 4.x releases
Helpful links
- Rene Ferland’s site
- Mainframes tech help informational website
Operating Systems
MVS
The abbreviation stands for Multiple Virtual Storage.
- Information about MVS
- MVS shutdown from console
- BSPPILOT, the MVS autopilot
- Tommy Sprinkle’s MVS 3.8 documentation
JES2 Subsystem
VM
VM stands for Virtual Machine. VM basically is a control program (CP) that allows the user to define and use several virtual machines on the same hardware.
MTS
MTS stand for Michigan Terminal System.
Languages
370 Assembler
- Mainframe Assembler Programming – Bill Qualls (Also provides an MS-DOS based assembly simulator
- Assembler Language Programming : The IBM System/360 and 370 – Struble, George
- Assembly Language Fundamentals, 360/370, OS/VS, DOS/VS – Yarmish, Rina & Yarmish, Joshua
- S/370 Assembler Tutorial
- 370 Assembly instruction code lists with information
- Java-based simulator compatible with the S/370 assembly language and later versions
- MS-Windows based IDE and Debugger designed to work with the above simulator
PL/1
- Essentials of PL/I – Pollack, Seymour V; Sterling, Theodor D.,
- File management techniques – Claybrook, Billy G. (Billy Gene).
- Introduction to structured programming, using PL/I and SP/k – Conway,Richard Walter & David
- PL/I for business applications – Anderson, Mary Ellen
- PL/I for scientific programmers – Fike, C. T
- PL/I for programmers – Barnes, Robert Arthur.
- PL/I programming primer – Weinberg, Gerald M.
- PL/I structured programming – Hughes, Joan Kirkby.
- Structured programming in PL/I and PL/C : a problem-solving approach – Abel, Peter
Rexx
History
Rexx is the de-facto scripting language on the mainframe, with implementations on z/VM, z/OS, MUSIC/SP and their predecessors. It originated as a one-man project of Michael F. Cowlishaw, starting in 1979 on VM. In CMS, Rexx became the followup language to EXEC and EXEC2. In VM/SP it was adopted as the official System Interpreter Product and it has been in all VM releases afterward. Around 1988 it appeared in MVS/TSO and alternative implementations on other platforms appeared.
VM/370 was the platform Rexx was initially developed on, but it never knew an official installation, as the product was passed around the VNET network in the early days. Pressure from customers, for example SLAC, lead to its status of official program product. REX, as the first releases were called, became REXX under pressure of IBM Legal; the department feared legal action by a competing, unrelated REX piece of software. In the modern VM/370 “Sixpack” distribution, BREXX (written in C) takes the place of the original, assembler written Rexx implementation.
Ray Mansell and Les Koehler are traditionally mentioned as the first users of Rexx. On VM, the combination of Rexx and Pipelines is particularly powerful.
In the 1990 Rexx was enhanced to support an object-oriented programming model, Object Rexx, designed by a team lead by Simon Nash. Implementations for TSO and VM were scrapped however, and the decision to open source the Linux (and Windows NT) version was postponed from 1995 to 2005; this was damaging to the uptake of the product. Open Object Rexx is maintained by The Rexx Language Association and has implementations for Windows, Linux and macOS. It also runs on AIX and Solaris.
370 BREXX
- GitHub repository of the brexx classic rexx implementation
- GitHub repository of the brexx370 optimized rexx implementation