Return to Stories

TOPS
by Keith Falkner

Lots of Operating Systems were written for the 1401. One such system was Auto-Test, which simplified and standardized the testing of 1401 programs at installations that used it. Operating systems for production programs were not provided by IBM, so IBM's Toronto Datacentre undertook to create one, which was officially called Toronto Datacentre Operating System, but known as TOPS.

The programmer principally responsible for this fine product was William F. Potts. I do not know who studied this man's initials and came up with the nickname World's Finest Programmer, but the epithet was not undeserved. He was justly proud of his fine and tight code, which met the highest standards.

TOPS provided speedy and convenient ways to store object programs on tape, even if those programs used overlays. When a program is too big to fit in memory, a programmer can often manage to load in part of the program, accomplish some initialization, then load in the rest of the program and complete the job, overlaying the initialization code with instructions to solve the rest of the problem.

In addition, TOPS provided many utility programs and supporting functions, much as IBSYS provided for such machines as the 7044. In general, if a program misbehaved, the operator had a standardized sequence of instructions to follow, and this procedure provided helpful evidence to guide the programmer responsible for the program in question. The general troubleshooting routine was to write down the I-, A-, and B-address registers, print a core dump, turn on a sense switch, and press Tape Load.

Unfortunately, so far as fame and glory are concerned, TOPS arrived as the 1401 was largely being supplanted by System/360, so not many applications used the convenience and efficiency of TOPS. The building that was IBM Toronto Datacentre now houses many different businesses. I wish I could go back in time to the moment IBM's lease on that building expired, and plunder the many dumpsters that carried much 1401 lore to oblivion.