It is assumed that the reader is familiar with the basics of the IBM 360/370 architecture. The IBM System/370 Principles of Operation (POPS) is the base level document. I am using GA22-7000-5 (Fifth Edition, August 1976).
I first became interested in programming without an operating system in 1975. I was learning to program on a IBM 360 Model 20. The model 20 was a very limited version of the 360 architecture. It was a half-word machine and only had eight half-word registers. The system I was using had a total of 12K of memory. It did have a 2311 disk and a Disk Operating System (DOS). I was programming in assembler and quickly found that I didn’t have much of the 12K of memory left over after loading in the operating system routines.
I decided that I needed to learn how to live without the resident DOS code. I began to experiment and learn the basics. The biggest issue was how to do Input/Output (I/O). I quickly learned how to access the various devices using Channel Command Words (CCW). The 360/20 didn’t use SIO (Start I/O) – it used an instruction called XIO (eXecute I/O) which did pretty much the same as SIO. It also used an instruction called TIOB (Test I/O and Branch) which combined the function of TIO (Test I/O) with a branch instruction.
From then on I used the Model 20 mostly without any Operating System. This fun all came to an end when I moved on to larger systems running production applications under more complex operating systems (MVT, MFT, VS1, SVS, and MVS).
In the early 1980’s I was a systems programmer at a facility upgrading from a 370/158 to an 3033. When the upgrade was completed the 370/158 remained in the computer room and was powered up to serve as a backup in case there were problems with the new processor. There were no I/O devices connected to the 158 except for the integrated operator console.
Since the machine was just sitting in the corner of the room idling I decided to start programming it through the operator console using the Storage Alter function.
I began with very simple programs which evolved into larger, more complex programs over time.
When I left the 158 behind I lost the ability to program a 370 mainframe at the bare metal level until years later when I discovered the Hercules emulator.
With Hercules I now have my own personal IBM mainframe to once again play with. Not only do I have a mainframe but I have my choice of peripheral devices to attach.
One final question – what does TXXOS mean? When I first started playing with bare metal programming on Hercules I called my mini-operating system TXOS. It was a bit of an inside joke on a “very short” OS. When I decided to register a domain name I picked TXXOS.com – bottom line is it really doesn’t mean anything but I needed a domain name.