System/36
From Free net encyclopedia
The System/36 was a minicomputer marketed by IBM from 1983 to 2000. It was a multi-user, multi-tasking successor to the System/34. Like the System/34 and the older System/32, the System/36 was primarily programmed in the RPG II and later RPGII.5 languages. One of the machine's more interesting features was an off-line storage mechanism that utilized "magazines" - boxes of 8-inch floppies that the machine could load and eject in a nonsequential fashion. The System/36 also had many mainframe features such as programmable job queues and scheduling priority levels.
IBMers and enthusiasts think of the System/34, System/36, and System/38 as "midrange" computers.
Overview of the IBM System/36
Image:IBM 5363 front.triddle.jpg The IBM System/36 was a simple and popular small business computer system, first shipped in 1983. It had a 17-year product lifespan.
The first model of the S/36 was the 5360. It weighed 700 pounds (318 kg), cost (US) $100,000 and up, and ran at speeds up to 20 MHz, which in 1983 was faster than the "Personal Computers" on the market. The 5362 weighed only 150 pounds (68 kg) and cost (US) $20,000.
In the 1970s, the US Department of Justice brought an antitrust lawsuit against IBM, claiming it was using unlawful practices to knock out competitors. At this time, IBM had been about to consolidate its entire line (S/370, 4300, S/32, S/34, S/38) into one "family" of computers with the same ISAM database technology, programming languages, and hardware architecture. But after the lawsuit was filed, IBM decided it would have two families: the System/38 line, intended for large companies and representing IBM's future direction, and the System/36 line, intended for small companies who had used the company's legacy System/3/32/34 computers. ("Breaking us up? Fine, we already have two pieces.")
The System/36 used virtually the same RPG II, SDA, OCL, and other technologies that the System/34 used, though it was object-code incompatible. Its original displays (at 24x80) were the most popular, and used the same basic screen size still used on modern computers. A 27x132 display was supported c.1987, but never quite caught on. The S/36 was a small business computer; it had an 8-inch diskette drive, between one and four hard drives in sizes of 30 to 716 MB, and memory from 128K up to 7MB. Tape drives were available as backup devices; the 6157 QIC (quarter-inch cartridge) and the reel-to-reel 8809 both had capacities of roughly 60MB. The Advanced/36 tape drive, c.1995, had a capacity of 2.5GB.
The S/36 used a command-line environment, but it was simpler than the S/34 because of 100 or so "menus" that simplified the command process. Instead of typing "BLDLIBR MYLIB,100,30" to create a user program library, an operator could use menus to find the description "Create a user library" and fill in a form to accomplish the same goal.
RPG II was an improvement on RPG I, which had been based on card readers, disk packs, and printouts. RPG II allowed access to the "WORKSTN file" to allow a punchcard-based language to interact with a person sitting at a keyboard and monitor. A WORKSTN file was an output file (it wrote to the monitor) and also an input file (because it accepted the user's keyboard input).
Command keys became RPG indicators KA-KY, and different on-screen forms were recognized by different invisible control characters hidden in the forms themselves. Interestingly, since the user had to display a form on the screen in order to type, RPG II provided a way for a program to write output before accepting input. Many successful programmers moved from using the combined-primary WORKSTN file to using a combined-demand file, which had operation codes to read and write the display. There was even a way to code for multiple WORKSTNs; several people could sign on to the same copy of the same program in memory. The largest program size was 64k.
There were a few holdovers from the days of the System/32 (the "Bionic Desk" of 1975): the KEYBORD, CONSOLE, and DISPLAY files which provided unformatted access to the monitor and keyboard. Clever S/36 programmers could use a KEYBORD file to accept commands from the procedure (the "system input file") meaning that a program could be customized at run time without a recompilation.
// LOAD MYPROG // FILE NAME-INPUT // RUN THIS IS CUSTOM DATA SO IS THIS /* (means end of data)
The System/36 was flexible and powerful for its time:
- It allowed 80 monitors and printers to be connected together. All users could access the system's hard drive or any printer.
- It provided password security and resource security, allowing control over who was allowed to access any program or file.
- Devices could be as far as a mile from the system unit.
- Users could dial into a System/36 from anywhere in the world and get a 9600 baud connection (which was very fast in the 1980s) and very responsive for connections which used only screen text and no graphics.
- It allowed the creation of databases of very large size. It supported up to about 8 million records, and the largest 5360 with four hard drives in its extended cabinet could hold 1.453 gigabytes.
- The S/36 was regarded as "bulletproof" for its ability to run six weeks or longer between reboots (IPLs).
In the late 1980s the US Department of Justice ended its case against IBM, and so IBM went forward with a system named the AS/400. The new system was a smaller and less-expensive S/38 with a more powerful database, and so was instantly popular among the 20,000 S/38 customers. But the company had trouble convincing the 300,000 S/34 and S/36 customers to migrate; people who paid $20k for their S/36 didn't want to pay $40k for the AS/400, especially because of the added expense of rewriting software and retraining personnel for it.
Physical Appearance And Requirements
The System/36 5360 System Unit vaguely resembled a huge washer-dryer in appearance, but unlike its predecessor, it ran on 220 volts AC. At 700 pounds (318kg) this was still not quite a Pocket PC. Conventional wisdom called for the system to be kept in its own air-conditioned room. Conventional wisdom was, actually, very wise about this, since the system cost around US$100,000.
Red lights
The five red lights on the System/36 were as follows: (1) Power check. (2) Processor check. (3) Program check. (4) Console check. (5) Temperature check.
If any light other than #4 ever came on, the system must be IPLed. Console can be restored if it has been powered off, but the other conditions are unrecoverable.
Acronyms
Note that these acronyms are common IBM terminology and are also used on the successor AS/400s, on IBM mainframes, and on many other IBM mainframe and midrange systems.
IPL - Initial Program Load
Starting or restarting the system. This acronym was pronounced eye-pee-ell and was used as a verb ("IPL the system") with past tense ("then we IPLed") and present tense ("while we were IPLing") and so forth - as well as a noun ("after the next IPL.")
PTF - Program Temporary Fix
IBM would distribute bug fixes on diskettes called PTF diskettes. By applying PTFs, you were able to address known and often unknown software problems. When the next release was issued (S/36's last release was 7.1 in 1996; the 5360/62 series received a release called 6.0 or "the VASP (Value Added Software Product)" in 1994.) the old PTFs were incorporated into the release update diskettes you received, and the old diskettes became useless. Since 8" diskettes were US$4 apiece retail in the 1980s, most S/36 programmers had a drawer full of them, usually for their own (not the company's) purposes. Since PTFs were only temporary in the sense that they were superseded by later releases of SSP, using the name "PTF" was considered odd.
SSP - System Support Product
The operating system of the System/36.
F1, I1, S1-S3, and M1.01 - M2.10
These are proper names given to system equipment.
F1 is the Fixed Disk (the hard drive.) I1 is the Diskette Drive. S1, S2, and S3 are the three single Diskette Slots (if a magazine drive is connected.) M1.01-M1.10 are diskette slots 1 through 10 on Magazine 1. M2.01-M2.10 are diskette slots 1 through 10 on Magazine 2.
EBCDIC
The Extended Binary Coded Decimal Interchange Code is the IBM mainframe counterpart of ASCII, the American Standard Code For Interchange of Information. On the PC side, the 8" diskette disappeared with the TRS-80 Model II Business Computer; the 5-1/4" diskette became the IBM PC standard in 1981 and the 3-1/2" diskette became the standard with the 286-based PC in 1984. But if you really want to make it difficult to convert your computer data to anything PC-based, use EBCDIC.
One glaring difference between EBCDIC and ASCII is the fact that ASCII numbers sort to the top and EBCDIC numbers sort to the bottom. Another is signed data. EBCDIC has ten negative digits (D0 to D9) and ten positive digits (F0 to F9). So, literally, -123 becomes F1F2D3 which in text is equal to "12L".
SDA - Screen Design Aid
This application allows the operator to build screen formats or menus online. Screen formats are very much like what Visual Basic and Access call "forms." Command keys can be enabled/disabled. Input fields, output fields, and constants can be created and conditioned. Conditions (in RPG these are called indicators) can cause fields to disappear, change colors, and so forth.
SORT - The system sort utility
SORT is an interesting program. It has one to eight input files, which may be of any valid record length. It has one output file, of any stated length, which may contain 1 to 8 million-plus records.
A sort can contain entire records or just 3-byte addresses which point to records in an associated file. This was called an address-out file or ADDROUT. When using an Addrout, the program read in these 3-byte addresses and then fetched associated records from the master file.
A clever programmer who wanted the benefits of a System/38-style logical file would use an Addrout with a RETAIN-S disposition:
// LOAD MYPROG
// FILE NAME-FILE1,LABEL-MYFILE, DISP-SHR
// FILE NAME-ADDROUT, LABEL-WS.SORT, RETAIN-S
// RUN
Using an E-specification, records read in the ADDROUT file were mapped to related records in the FILE1 file.
After the program finishes, the Addrout file doesn't exist anymore. It has been "scratched," or set to RETAIN-S, meaning the system auto-deletes it.
SEU - Source Entry Utility
This looks like a DOS-era text editor. SEU allows data entry on a line-by-line basis. Special forms are used to assist the operator in keying RPG programs or other types of form-based languages (WSU, Sort, SDA, etc.)
WSU - Work Station Utility
This was an RPG-like language that ran on the S/36. It was focused on data entry type programs. WSU was free, but it wasn't particularly well-received because it was so limited. People who wrote WSU programs for data entry would invariably flag records and use S/34-era procedures like ORGANIZE an EXTRACT to reformat their data. SSP on the S/36 contained a more powerful command called COPYDATA. However, there were still no basic tools to work with data inside the file.
IPL - Initial Program Load
This was an acronym describing the process of starting or restarting the System/36. It took quite a while to start a S/36 because every indexed file was examined and the index was rebuilt if needed; every connection to a device was tested; and if there was a user procedure in #LIBRARY called #STRTUP2, the procedure was executed.
Terminals, Displays, Screens, Workstations and Monitors
Are words used interchangeably to describe the same thing. An operator sat in front of a device that vaguely resembles today's PC, except the monitor was small, expensive (US$2,000), low-resolution (24x80) and the available colors were green and bright green, or for the fancier, the seven-color IBM Color Monitors. By the 1990s, third-party companies made terminals for the so-called 5250 marketplace. Prices plummeted and new features appeared - for example, Decision Data terminals allowed operators to choose the seven colors from a 64-color palette; there was an optional time display; and setup was accomplished through onscreen menus rather than dipswitches
Some purists refer to a printer as one type of workstation. Watch out for this usage.
IBM Colors
Before 1984, the 5251 monitor predominated - it was US$2,000 and what IBM called "dual color" (green and bright green). However, by 1984, the IBM 3180 terminal helped usher in the grand new age of IBM Color - seven colors (pink, red, blue, yellow, green, white, and turquoise.) By 1984, the price of the 3180 terminals was under US$2,000, though there was a fancy graphics-capable terminal that basically nobody bought.
Programming IBM Colors
Interestingly, programming colors did not require a new screen programming language, because the implementation was completely at the hardware level. A protocol called the IBM 5250 Data Stream interpreted field attributes such as blinking, non-display, high intensity, reverse image, underline, and column separators and was used in combination to create colors. Normal text was presented as green on a 3180 color terminal, but high intensity became white. Column separators became yellow. Blinking became red. Underlined text was presented as blue. High intensity blinking became pink. High intensity column separators became turquoise.
Unfortunately, extensive use of colors became confusing when using the less expensive dual-color terminals.
The Five Lights
On a 5251 type terminal (aka "Concrete Block",) there were five lights to watch for:
(1) System Available light. If lit, this terminal is connected to the S/36 and is receiving information from it.
(2) Message Waiting light. Other users, and the system itself, can send messages to workstations. If lit, there is at least 1 message that has not seen yet. When a program ends or when the user signs on, the message(s) will be shown.
(3) Insert. The Insert key has been pressed. Characters after the cursor will shift right when text is keyed. Press Insert again to cease Insert Mode.
(4) Caps Lock light. The Caps Lock key has been pressed. All keys pressed will be uppercase. Press Caps Lock again to unlock.
(5) Keyboard Shift light. The Shift key is being pressed. The key pressed simultaneously will be uppercase.
Keyboards
The standard US keyboard was heavy, clunky, had 20 more keys than today's 102-key PC keyboard, and weighed up to 25 pounds. (On the positive side it had a cent-sign key and a HELP key. The PRINT key did what it was supposed to do; it printed the screen.) There was a special terminal and keyboard for Katakana, a pictorial language of the Japanese.
Configuring your devices
Dipswitches
Early 1980s-era printers and workstations had a series of binary switches known as "dipswitches" for configuration. The binary OFF settings, zero ("0") and one ("1") were used to switch back and forth internally. For example, U.S. English and U.K. English, where the British use the pound sterling ("£") and the Americans use the dollar ("$"). A switch could be setup on printers and monitors where in the zero position the British value would display or print. In the one position the American value would display or print.
Online Setup
By the mid-1980s the dipswitches were gone and the status quo became online setup. The technical person would hold down a certain key while powering up the device. A "test mode" display would appear, and a menu option would allow the operator to choose the addresses for the devices. Sometimes an emulared terminal would have a PC-style printer port. Sometimes the emulation would allow you to configure as many as seven devices.
Setting the Address
Up to 60+ local devices could be configured on a System/36, using eight lines numbered from 0 to 7. A line was defined as a series of twinaxial cables attached to devices with IN and OUT ports. Eight devices could be configured per line; these were numbered 0 through 7.
Three binary switches on every device were used for the terminal's address (the physical designation of a particular terminal on a particular line.) Sometimes, the switches were numbered 1, 2, and 4. In order to set an address, simple addition was used:
Zero is all settings off. One is the 1 setting on. Two is the 2 setting on. Three is the 2 and 1 settings on. Four is the 4 setting on. Five is the 4 and 1 settings on. Six is the 4 and 2 settings on. Seven is all settings on.
Two devices can never have the same address on one line. Once the addresses were set, the system could be configured to use them.
Configuring Using CNFIGSSP
The CNFIGSSP procedure was used to configure the system, including the devices. Each device is assigned a two-character ID. The first letter must be alphabetic; the second must be alphameric. The system also reserved certain IDs; you could not call your device I1 or F1, for example. I1 is the name of the diskette drive; F1 is what the system calls the hard drive (stands for "fixed disk," since it's not a removable disk pack.)
Use CNFIGSSP to place your devices on the line/address map; identify the particular IBM printer or terminal model; assign characteristics such as console, alternate console, subconsole; and to name the printer's subconsole.
To apply CNFIGSSP, the system must be dedicated (no other users logged on or programs running.) The system must be IPLed (rebooted.) When IPL finished, the new devices would appear on the status display.
Processors
S/36s had two eight-bit processors, the CSP or Control Storage Processor, and the MSP or Main Storage Processor. The MSP was the workhorse; it performed the instructions in the computer programs. The CSP was the governor; it performed system functions in the background. Special utility programs were able to make direct calls to the CSP to perform certain functions; these are usually system programs like $CNFIG which was used to configure the computer system. These two processors worked in tandem, and it's one reason the S/36 worked so well.
The primary purpose of the CSP was to keep the MSP busy; as such, it ran at slightly more than 4X the speed of the MSP. The first System/36's (the 5360-A) had a 4 MHz CSP and a 1 MHz MSP. The CSP would load code and data into main storage behind the MSP's program counter. As the MSP was working on one process, the CSP was filling storage for the next process.
The 5360 processors came in four models, labeled 5360-A through 5360-D. The "D" model was a later model and was about 60 percent faster than the "A" model.
Memory and Disk
The smallest S/36 had 128K of RAM and a 30 MB hard drive. (That's 128 kilobytes... less than some modern calculators. And the mammoth 12-inch hard drive spindle could be replaced by the storage capacity of a JumpDrive.)
The largest configured S/36 could support 7MB of RAM and 1478MB of disk space. This cost over US$200,000 back in the early 1980s. S/36 hard drives contained a feature called "the extra cylinder," so that bad spots on the drive were detected and dynamically mapped out to good spots on the extra cylinder. It is therefore possible for the S/36 to use more space than it can technically address. Disk address sizes limit the size of the active S/36 partition to about 2GB; however, the Advanced/36 Large Package had a 4GB hard drive which could contain up to three (emulated) S/36s.
Printers
A great computer system wouldn't be complete without great printers. Typical System/36 offerings would include:
IBM 5219 - A daisywheel impact printer not far removed from the IBM typewriters. It was good for about 40 characters per second (CPS).
IBM 3262/5262 - A band printer rated at somewhere around 650 lines per minute (LPM).
IBM 4234 - A dot-matrix printer rated at 410/800 LPM.
IBM 5224 - A dot-matrix printer rated at 100/240 LPM.
IBM 5225 - A dot-matrix printer rated at 280/560 LPM.
IBM printers were well-built, had impressive duty cycles, and were more expensive than one would think. For example, a 5262 would go for about US$12,000.
SSP, The System/36 Operating System
SSP ("System Support Program") was the only operating system of the S/36. It contained support for multiprogramming, multiple processors, 80 devices, job queues, printer queues, security, indexed file support, and fully installed, it was about 10MB.
System Security
There are four types of System/36 security: (1) the badge reader that almost nobody ever bought, so it isn't discussed here; (2) password security; (3) resource security; and (4) menu security.
Password security was used to begin a session at a computer terminal. Unless security was inactive, a correct password must be entered to begin.
The System/36 sign on looked like this:
SIGN ON W1
User ID......... ________ Password........ ____ Menu (Optional). ______ Library......... ________ Procedure....... ________
Entering a zero ("0") for menu meant that no menu would be displayed. The S/36 "command display" would appear with no menu options. Entering a zero for library would override the default library and use the system library (#LIBRARY.) Entering a zero for procedure would override the default sign-on procedure and no procedure would run at sign-on. Mandatory menus cannot be overriden or respecified in libraries other than the named library.
The SECEDIT procedure was used to work with User IDs and passwords. The user profile contains a 1-to-8 character alphanumeric User ID, a 4 character alphanumeric password, a code for the user's security rating -- M (Master Security Officer), S (Security Officer), O (System Operator) ,C (Subconsole Operator), or D (Display Station Operator) -- and a number of other default settings.
The SECEDIT RESOURCE procedure was used to establish security ratings for file, library, folder, and group objects. Access levels of O (Owner), C (Change), U (Update), R (Read), E (Execute) or N (None) could be granted for a user to a particular resource. A group object was a sort of holding company that owned one or more lower objects. For example, granting access to the group ACCOUNTG made it easier to establish access to all of the accounting files. Group objects could also reference group files; the group UB referenced UB.OLD, UB.NEW, UB.01, or any filename with the embedded period.
SECEDIT USERID was also used to confine a user's operational authority to a specific menu. By entering a Y for Mandatory Menu and specifying a default sign-on menu, the security officer could prevent the user from any program access not found on that sign-on menu. A user so confined could only run menu options, send messages, and sign off the system.
NOTE: The printed disk catalog (VTOC, Volume Table of Contents) originally displayed all secured objects with the notation 3 as being secured. By Release 4 of SSP in 1985 this notation was changed to a 4.
Files, Libraries, and Folders
SSP provides for two different data objects called files and libraries. Files contain records, most always with a fixed record length. Libraries contain programs which can reference and access these files. SSP contained more than 80 different commands that allowed operators to create, delete, copy, edit/change, and secure files and libraries. Early in the System/36 development cycle, this was seriously improved to incorporate the folder object, which can have tremendous size, numerous extents, and contain subfolders.
Disk Space Metrics
Disk space on the System/36 was organized by "blocks." One block = 2560 bytes. A high-end 5360 system would ship with about 550,000 blocks of disk space available. System objects could be allocated in blocks or records, but internally it was always blocks.
Program Sizes
Since the S/36 ran "8-bit" programs, the largest program that could be compiled and run was 64K. Most were not nearly that large. Since memory addresses were stored in 8 bits, a 64K program was often a giant monster RPG screen program with 3,000 lines of code, five or six files, and forty-odd array/table entries.
Caching
How does a 64K computer program run on a S/36 when only 48K of RAM is available? By using a process called caching. The system uses a cache or workspace on the hard drive to contain portions of the programs currently running. Loading the whole program into the cache area and then moving it piecemeal in and out of storage was a system function performed by the CSP. The MSP performed the instructions in the computer program. Insufficient memory makes the system run slower, since the disk speed was only about as good in the 1980s as PC drives are today, and modern "burst mode" rates were unheard of at any price.
SPOOLING
SPOOL is an acronym for Simultaneous Peripheral Operations On Line.
The Need For Spooling
Computer printers are slow. Very slow. On the S/36, computer programs could write data to the printer much faster than the printer can print... and there can be more than one program writing to a printer at the same time.
How Spooling Works
To allow the system to manage the problem, system components called "writers" and "spool files" were developed. A writer is a small system program that reads the spool file, matches a particular printer with a ready-to-print spool object, and begins sending instructions to the printer. It's a two-way process; the printer sends a signal back to the system when it is ready for more work. In order to avoid mixing up data from two spool files, the first report to finish and close is traditionally printed first.
When You Can't Spool
Sometimes the operator requires a dedicated, live printer - for example, when printing receipts for customers in real time, don't use spooling. Use the PRINTER OCL statement to declare the symbolic print job to be unspooled (SPOOL-NO.)
Forms Numbers
When the operator printed paychecks, it was vitally important that paycheck information printed on check forms and not on plain paper; likewise, a regular printout should never print on expensive check forms. Therefore, forms numbers were created. A forms number is a one-to-four-character alphameric field that programs and operators use to straighten out this problem. Programmers use the PRINTER OCL statement as follows:
// PRINTER NAME-PAYCHECK, FORMS-BUXX, DEVICE-P1
When the spool writer is ready to process the checks spool entry, this message appears at the subconsole:
SYS-1404 Options (012 ) On printer P1, change to forms number BUXX
By replying 1 to this message AFTER changing the forms, the operator could be sure that no other reports on standard stock would print on the checks.
ALIGNMENT
The expensive check forms must be perfectly aligned or all of the numbers won't fit in the little boxes, which is tragic. Therefore, an alignment can be performed using the PRINTER OCL statement:
// PRINTER NAME-PAYCHECK, FORMS-BUXX, DEVICE-P1,ALIGN-YES
The subconsole will now get this message when ready to print checks:
SYS-5825 Options (012 ) Align the forms in printer P1
By replying this message AFTER aligning the forms, the operator could be sure that the check information didn't print until the forms were properly aligned.
More Crazy Acronyms - MRTs, SRTs, NRTs, NEPs, and NOPs
MRT = Multiple Requestor Terminal program. SSP could actually run one program on up to 7 terminals at once. The operator would start the program on a single terminal, then other terminals could join.
SRT = Single Requestor Terminal program. Not a MRT.
NRT = Non-Requestor Terminal program. Started at a terminal, the NRT releases the requesting terminal and continues. This is similar to an MS-DOS TSR (Terminate and Stay Resident) program.
NEP = Never-Ending Program. This is a non-interactive program that does not have a definitive end. It loops and loops, possibly doing cleanup routines or some-such.
NOP = No Operation. In machine language, the No Operation code allows processing to discountinue temporarily and resume after a fixed delay. This is reproduced in programming languages with what is called a Do-Nothing Loop, or by continually measuring the system time and comparing to a calculated value until a greater-equal comparison was met.
Language Compilers
The S/36 had four: RPG II, COBOL, BASIC, and FORTRAN. RPG was cheaper, created compact code sizes, and became the far-and-away best-seller. Cobol was very popular in the business community. Fortran just isn't very practical for data processing purposes, and while BASIC was nice, it was implemented as an interactive 40K session. Teaching a BASIC class and watching eight operators try to key in BASIC programs at the same time was an interesting experience.
One interesting feature of the S/36 was that Basic and Fortran were exclusive. One could not run a Fortran program on the system when running Basic, nor vice versa. Fortran was certainly not a popular language, so one would suppose this microcode level problem was only annoying to academia.
Other Object Types
Of course, Cobol, Fortran, and RPG generated object code (type O). Basic was interpreted only; a compilation utility called BASICS created subroutine code (type R). Interestingly, BASIC programs could be saved as sources for compatibility with other computers, but the project's text was nicely preserved in the subroutine (unless the clever programmer used the LOCK command to keep it private.)
Procedures, which use OCL to start programs and assign resources to them, are type P.
Source members for all objects are type S, with the exception of Basic as above-specified.
DFU programs generated subroutine (R) code. So did WSU programs.
Screen formats generated object code.
Menus generated object code. A menu is simply a very specific screen format with a companion message member suffixed with two pound signs ("##") to contain the action to be taken when the associated number was chosen. System/36 menus allowed the operator to choose numbers between 1 and 24. On the System/36, a clever programmer could customize a menu using screen format language, but, caution, calling a customized menu that does not conform to exacting system requirements can cause a program error.
Message members generated object code that could be called by a program using the MEMBER OCL statement:
// MEMBER USER1-PROGMSG
Passing a four-digit code to an assembler routine returned the associated text. It was also a clever way for the computer programmer to push up to 10,000 74-byte constants out of program space. That's a big deal when a file is not practical.
Did I Have To Program?
Not really. You could create a short sequence of file and input specifications and store them as a source member. A component called Data File Utility could then be used to generate on-screen displays you could use to create and edit files and print reports. It was not quite the equal of say, Access 2002, but in twenty minutes flat you could design a file and a report, and that's not bad.
Popular System/36 Applications
MAPICS, the Manufacturing and Planning Integrated Control System, was a popular S/36 application.
IBM Office programs (DisplayWrite, IDDU, Query, and so forth) were popular in the late 1980s and were free on the Advanced 36.
The most popular program was POP (Programmer/Operator Productivity Aid.) It cost $1,000. It was, however, widely pirated. It was offered free on the Advanced 36.
There was a games library called FUNLIB that contained games like Star Trek, Football, Hangman, Coffee, Grand Prix, and a Biorhythm program. An associated PICTURES library let you print ASCII art of Star Trek's Mr. Spock, John Dean, and Christmas calendars.
System/36 Magazines
Not magazine drives, actual magazines that a person would read.
Programmers read about the System/36 in magazines like DataNetwork (which became Midrange Computing) and News 34/38 (which became News 3X/400, News/400, and iSeries Magazine.) The people who would read these magazines were perhaps the nerdiest of nerds. Subscription prices ranged from US$8 to US$12 per copy.
System/36 Model 5362
IBM introduced the 5362 as a system targeted at the lower end of their market. It was a deskside tower form factor, though a bulky one. It was designed to operate in a normal office environment, requiring little special consideration. It differed from the 5360 in by having a more limited card cage, capable of fewer peripherals. It used 14" fixed disks and could support up to two. One 8" floppy diskette drive was built in.
System/36 Model 5363
The IBM 5363 improved on the 5362 design. It retained deskside tower style enclosure, by was only 2/3 the size. It featured updated hardware using newer, smaller hardrive platters, a 5 1/4" diskette drive, and a revised distribution of the SSP.
System/36 Model 5364
Was called the "Baby/36" by IBMers, but this name was later attached to a software program produced by California Software Products, Inc. The 5364 was an early (1985?) attempt by IBM to implement a System/36 on PC-sized hardware. Inside, there were IBM chips, but the cabinet size was reminiscent of a 1980s style PC. The machine had a 5-1/4" diskette drive, which was incompatible with PCs and with other S/36s. A PC monitor was used as the system console.
The AS/Entry (9401)
Was just a stripped-down AS/400. The operating system was OS/400. This machine was offered c.1991 to target customers who had a S/36 and wanted to stay with IBM hardware, but didn't want a massive investment in an AS/400. In this regard, the AS/Entry was a failure because it was too expensive and not enough S/36-like.
System/36 Compatibility Mode
Was a feature on the AS/400 that was used early on to help migrating S/36 customers. The operating system of the AS/400, OS/400, is contained in a library called QSYS. This was augmented for the S/36 folks with a library called QSSP so that many SSP commands could be in some way supported. However, there was not very much compatibility and certainly not from an OCL point of view.
The Advanced 36 (9236/9436)
In 1994, IBM released the Advanced 36. Priced as low as $7995, it was the machine that allowed S/36 folks to get faster and more modern hardware while "staying 36." The Advanced 36 allowed SSP, the operating system of the S/36, to be contained within AS/400's OS/400 as a "virtual machine" so that it could be upgraded to a full-blown AS/400 for $15k. The A/36 was slightly larger than a common PC cabinet and could easily be mistaken for a tower PC. S/36 cabinets were white; the A/36 was black.
The Advanced 36 bought the world of S/36 and SSP about five more years in the marketplace. By the end of the 20th century, the marketplace for the S/36 was almost unrecognizable. IBM printers and displays had completely dominated the marketplace in the 80s, but now the commonplace sighting was a PC or a third-party monitor with an attached PC-type printer that basically shaved 70 to 90 percent off of IBM list for the same goods. Twinaxial cable had disappeared in favor of cheap adapters and standard telephone wire.
The S/36 market was eventually devoured by AS/400s at the high end and PCs at the low end. Personal computers were not nearly the database equal of SSP, but time and technology had taken their toll on a system that had remained basically unchanged since 1983. By 2000, the Advanced 36 was withdrawn from marketing, and S/36s are disappearing rapidly from the marketplace.
Migrating to the Advanced 36
Was a dream. It was so easy to migrate to the Advanced 36 from the System/36. In fact, it was even easier with a gadget IBMers rented that moved the files and libraries from the old to the new.
Migrating to the AS/400 (iSeries)
Was tough. The AS/400 had troubles like decimal data errors that the S/36 did not, so these types of problems were always popping up. It was obvious that the S/36 owner wanted to put off going "native" on the AS/400 as long as possible, and since there were so many IBM offerings that allowed owners to put it off (36 Compatibility Mode, the AS/Entry, and the best one of all, the Advanced 36) they put it off quite awhile.
The System/36 and the AS/400 were not object-code compatible; worse yet, source code from a System/36 had to be rewritten to work on an AS/400... if you had the source code. If you lost it, or the programmer just didn't give you the source code, as frequently happened, you were in for a bumpy ride.
Other Choices
Many customers left IBM hardware altogether. The UNISYS "A" system could function under an SSP-like operating system. California Software Products, Inc., produced a software application called BABY/36 that was intended to reproduce the S/36 environment with PC hardware.pl:System/36