{"id":2235,"date":"2003-06-01T23:07:42","date_gmt":"2003-06-02T02:07:42","guid":{"rendered":"http:\/\/brockerhoff.net\/bb\/viewtopic.php?p=471"},"modified":"2010-05-08T23:52:18","modified_gmt":"2010-05-09T02:52:18","slug":"newly-digital","status":"publish","type":"post","link":"https:\/\/brockerhoff.net\/blog\/2003\/06\/01\/newly-digital\/","title":{"rendered":"Newly Digital"},"content":{"rendered":"<p><a href=\"http:\/\/kalsey.com\/2003\/05\/newly_digital\/\">Adam Kalsey<\/a> is asking people to write about their early computing experiences, so of course I&#8217;ll have to goof off and write about mine instead of packing for our <a href=\"\/bb\/viewtopic.php?p=463#463\">Europe trip<\/a> <img decoding=\"async\" src=\"\/blog\/wp-includes\/images\/smilies\/icon_wink.gif\" border=\"0\" alt=\"icon_wink.gif\" \/>. I was thinking of starting a series of notes for future biographers, anyway&#8230;<\/p>\n<p>Sometime in 1967, while browsing at a local library I stumbled upon <a href=\"http:\/\/www.cs.utah.edu\/dept\/history\/\">Elliott Organick<\/a>&#8216;s &#8220;A FORTRAN Primer&#8221;, and immediately realized this was <em>hot<\/em>. I promptly bought Organick&#8217;s more up-to-date &#8220;FORTRAN IV&#8221; and proceeded to learn it forward, backward and sideways. As I had no computer available, I typed my programs on long rolls of paper on an old Olivetti Linea typewriter and tried to single-step and debug them by hand. I remember doing factorials with many digits and other number puzzles from <a href=\"http:\/\/www.csicop.org\/si\/9803\/gardner.html\">Martin Gardner<\/a>&#8216;s column in <a href=\"http:\/\/www.sciam.com\/\">Scientific American<\/a>.<\/p>\n<p>The next year I casually mentioned the matter to my math teacher, who immediately sent me to the local university&#8217;s <a href=\"http:\/\/www.eng.ufmg.br\/\">Engineering School<\/a>, where they had a <a href=\"http:\/\/ibm1130.org\/\">IBM 1130<\/a> mainframe. This was housed in a large air-conditioned room. The <a href=\"http:\/\/ibm1130.org\/hw\/1131\">IBM 1131 CPU<\/a> used <a href=\"http:\/\/www.columbia.edu\/acis\/history\/core.html\">magnetic core memory<\/a>: 8K words of 16 bits each (later expanded to 16KW). The clock frequency was 280 KHz. The CPU also housed a 500KW magnetic cartridge drive and a keyboard with a Selectric-type <a href=\"http:\/\/glen.utdallas.edu\/Glen\/IBM%20Mainframes\/Selectric%20Printer.JPG\">&#8220;golf ball&#8221;<\/a> printer. Other peripherals were the <a href=\"http:\/\/ibm1130.org\/hw\/punchcard\">IBM 1442<\/a> card read-punch, the <a href=\"http:\/\/ibm1130.org\/hw\/printers\">IBM 1132<\/a> line printer, a pair of <a href=\"http:\/\/ibm1130.org\/hw\/papertape\">paper tape<\/a> read\/punch units, and my personal favorite, the <a href=\"http:\/\/ibm1130.org\/hw\/1627\">IBM 1627<\/a> plotter.<\/p>\n<p>I immediately enrolled in <a href=\"http:\/\/ed-thelen.org\/comp-hist\/ibm-029-keypunch.jpg\">keypunch<\/a> and FORTRAN classes (with a special dispensation as I wasn&#8217;t a student), and began to pester the local staff to cadge computing time. After first getting the factorial calculator to run, I started to write a program for the plotter, inspired by yet another Scientific American article; over several months it evolved into a complex kludge, drawing an arbitrary number of (possibly intersecting) ellipsoids in 3D space from any vantage point, with hidden-line removal. Being unaware of existing hidden-line removal algorithms I tried to solve it by trigonometry, which worked but became extremely slow for the more interesting cases.<\/p>\n<p>The next year I entered the school officially as an Electrical Engineering student, and promptly became attracted by a free systems analysis course to be offered by IBM. This was a 2-hours per day, every weekday, 9-month course sponsored by the university; 20 students were selected from over 200 applicants, and I placed second. The course was excellent, and the two best students were offered an internship at the university&#8217;s main computing center, so I made sure to place first&#8230;<\/p>\n<p><a href=\"http:\/\/www.cecom.ufmg.br\/\">CECOM<\/a>, the computing center, at the time had an even older mainframe: the <a href=\"http:\/\/1401.org\/\">IBM 1401<\/a>. The CPU had 4000 bytes of core memory; each byte had 6 BCD data bits, a parity bit, and a &#8220;word mark&#8221; bit to flag the end of a variable-length field; clock frequency was about 83 KHz. The only peripherals were a card read-punch and a line printer, and programming was in <a href=\"http:\/\/1401.org\/op-codes\/\">Autocoder<\/a> (assembly) or machine language. It was already obsolete and soon was replaced by a <a href=\"http:\/\/glen.utdallas.edu\/Glen\/IBM%20Mainframes\/Selectric%20Printer.JPG\">IBM\/360-40<\/a>, itself replaced a few years later by a Burroughs B6700, which remained in use for 13 years. Amazingly, I can&#8217;t locate any photo or reference manual of this machine.<\/p>\n<p>The B6700 was <em>huge<\/em>. The CPU had 800K of semiconductor (static) memory, which was state-of-the-art at the time and had a 800ns access time, if I recall correctly. It also had a 10MB fixed disk drive for virtual memory and operating system bootstrap; this had one magnetic head per track with several huge platters revolving on a horizontal axis. There were half a dozen magnetic tape units, removable disk packs (100MB each), and several fast line printers and card readers; later on about a dozen video terminals were installed. The B6700 had a very interesting architecture, with 51-bit words: 48 data bits which could be interpreted as 6 characters, as well as 3 tag bits which defined the word format. There were different formats for instruction words, address pointers for integers and floats, strings, and stack pointers. The machine was stack-oriented and and had no assembly language; the MCP operating system was written in an Algol dialect called <a href=\"http:\/\/www.instantweb.com\/foldoc\/foldoc.cgi?ESPOL\">ESPOL<\/a>. As we had full source code for the MCP and for the compilers, I had a merry time &#8211; for several years, it turned out &#8211; hacking around and learning about operating system and compiler design.<\/p>\n<p>In 1977 I acquired an <a href=\"http:\/\/www.apple2.org\/\">Apple II<\/a> and left the mainframe world. More in the next chapter&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Adam Kalsey is asking people to write about their early computing experiences, so of course I&#8217;ll have to goof off and write about mine instead of packing for our Europe trip . I was thinking of starting a series of notes for future biographers, anyway&#8230; Sometime in 1967, while browsing at a local library I [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[16,19],"tags":[36],"class_list":["post-2235","post","type-post","status-publish","format-standard","hentry","category-hardware","category-software","tag-history"],"featured_image_src":null,"author_info":{"display_name":"Rainer Brockerhoff","author_link":"https:\/\/brockerhoff.net\/blog\/author\/rbrockerhoff\/"},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1q3Zc-A3","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/posts\/2235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/comments?post=2235"}],"version-history":[{"count":0,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/posts\/2235\/revisions"}],"wp:attachment":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/media?parent=2235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/categories?post=2235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/tags?post=2235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}