4 ms·
Those of us that were around in the days of mainframes and line printers remember that actually you sent 133 columns of characters to the printer, column 0 bein
by dbcurtis 8y ago
Those of us that were around in the days of mainframes and line printers remember that actually you sent 133 columns of characters to the printer, column 0 being the "carriage control" character. The most popular being blank, to advance one line, '1', to do a page eject a.k.a. top-of-form, and '+', overprint.
The story that I heard is that the '+' character's over-strike behavior was a side-effect of logic minimization in the printer controller of the 1403, and became very popular after someone discovered it.
IBM then issued an FCO (Field Change Order) that customer engineers installed in all 1403 printers that were on maintenance contracts, which was all of them, because you could not survive without a maintenance contract. The FCO "corrected the logic bug" that allowed overprinting. However, the newly announced 1403A printer supported overprinting as a feature.
The FCO included a toggle switch that allowed the customer engineer to do an instant field upgrade to the 1403A. Assuming, of course, that you paid for the field upgrade and increased rental and maintenance fees of the 1403A.
(I heard this story from an office mate who had been around in those days. He was a systems programmer that got the job by the then-standard path. As an undergrad, he figured out how to hack the OS to get free computer time. When they caught him, they offered him a job as an assistant systems programmer on the condition that he not share the secret.)
- kens 8y agoIt was a bit different with the IBM 1403 printer on the IBM 1401 computer. You added a suffix to the write line instruction to suppress the line feed. This optional "space suppression" feature cost $63. As far as I can tell, using a '+' in the first column to overprint was a Fortran thing, known as Fortran Carriage Control. One entertaining feature of the 1403 was that form feeds were controlled by a 12-column paper tape. By punching holes in the tape, you could quickly form feed to 12 different positions on your page. (This was useful for pre-printed forms.) The only problem was if you did a form feed and there wasn't a hole in that column in the paper tape, the printer would feed at high speed through the entire box of paper without stopping. (The 1403 used a hydraulic motor for high-speed form feeds. If you see hydraulic fluid under the printer at the Computer History Museum, that's why.)
- chiph 8y agoHow did the 1403 start & stop the paper advance? Once the paper gets moving, there's a lot of inertia there. Was there an air bladder in the hydraulic line to absorb fluid-hammer from the rapid pressure changes? One of the printers I worked on in the USAF had electromagnetic clutches - one would engage to hold the paper in place while the other would open to disengage the drive belt. To move the paper, the "hold" clutch would disengage and the "drive" clutch would engage for just long enough to move it the required distance. And then the clutch action would reverse (hold clutch engage, drive clutch release) to stop the paper's motion. After a while, the clutch material would wear out and you would get the infinite form-feed. Edit: For the curious, this was taken at the school at Sheppard AFB in 1983: https://imgur.com/a/J74K6wM https://imgur.com/a/J74K6wM
- kens 8y agoThe 1403 has electrically-controlled valves to send fluid from the constantly-running pumps to the hydraulic motor to do a space (line feed) or skip (form feed). There's a back pressure bypass valve that relieves the pressure when the printer advance stops. The 1403 Field Engineering manual goes into great detail on the hydraulic system, starting at page 56. The momentum when stopping is described on page 62. Link: http://ibm-1401.info/0KenShirriff/IBM_Field_Engineering_Manual_of_Instruction_1403_Printers_225_6492_3.pdf http://ibm-1401.info/0KenShirriff/IBM_Field_Engineering_Manu...
- emmelaich 8y agoAmazingly enough, there is still an echo of using that first char for control in the latest MacOS! man asa In developertools at least. `asa` used to be the first command and manual page, alphabetically.
- kps 8y agoIIRC ‘asa’ originates with System V.
- logfromblammo 8y agoThe more things change, the more they stay the same. They installed a "pay us more money" switch. In hardware. The lingering scent of the unmitigated gall is still overpowering even years later.
- freqshow 8y agoIt wasn't unique to them. In the early 80's I worked at an OEM minicomputer company that now would be called a startup. (I don't recall the term existing then.) We built systems from DEC 8-bit processors and Control Data disk drives. The drives were 40MB, 80MB, and (I think; it's been a while) 150MB. We sold an entry-level system with a 20MB drive. It was a 40MB drive with a hardware switch to disable addressing half the platters. When the customers would pony up the proportionately significant fee for a "upgrade", the hardware guy would go in, make a show of disassembling and polishing things, and when no one was looking, flip the switch to enable addressing the entire drive.
- mark-r 8y agoI heard of a Control Data mainframe that could be "upgraded" by cutting a single wire.
- lucas_membrane 8y agoIDK. The wikipedia article on the 1403 does not mention any 1403A, just 1403N and 1 through 7. I doubt the overprinting was an accident, 'PUT SKIP (0);' worked for all the versions of PL/1 I used from 1970 through around 1990. Didn't even IBM use it for drawing maps and graphs on the 1403? I remember that the standard was to fill a region with O's to get a lightly shaded region, next darker was O overstruck with X, then O overstruck with V and A, and darkest of all, X + O + V + A all on the same print position. The great story I heard about these printers but never verified is that there were 132 separate hammers, one for each print position 1-132. Thus, as the print chain spun around, each hammer fired when the correct character was in position for that hammer, and if you printed a line that matched the sequence of the characters on the chain, all the hammers would bang simultaneously, breaking the chain. Whether or not the sequence of the characters on the chain was a secret, IDK.
- kens 8y agoI've heard the breaking chain story many times, but I suspect it's mostly an urban legend. At least on the 1403, the hammers can't all fire at once. The chain and hammers have different spacings so only one hammer is lined up at a time, 11.1μs apart; the worst you could do is fire every third hammer in rapid sequence. For reference, a standard chain sequence is 1234567890#@/STUVWXYZ‡,%JKLMNOPQR-$*ABCDEFGHI+.¤ The 1403's print chain is pretty complicated to understand, so I built an animation: http://righto.com/ibm1401/printchain.html http://righto.com/ibm1401/printchain.html
- abraae 8y agoI used to work at IBM as a CSR (maybe we were CEs back then?) fixing 1403s and other mainframe boxes. Man it would have been so useful to have your fantastic animation back then. I came on the scene too late to ever get any formal training on 1403, so I ended up learning most of it the hard way. I don't think I ever fully understood the hammer mechanics as you have explained it. An animation is truely worth 1000 words.