IMP DEMONSTRATION ----------------- This directory contains a version of the IMP firmware, ca 1973, and some simh command files to help you run it. These command files define a three IMP network consisting of IMP nodes #2, 3 and 4. * IMP 2 has a single virtual modem line which connects to IMP 3. * IMP 3 has two modem lines, one connects to IMP 2 and the other to IMP 4. * IMP 4 has a single modem line, connected to IMP 3. A picture is worth a thousand words - IMP 2 <-------> IMP 3 <-------> IMP 4 modem modem The interesting thing to notice about this arrangement is that there is no path between IMP 2 and IMP 4. Any messages between those two machines must pass thru IMP 3. Sounds simple, but for that to work requires all IMPs to discover their adjacent nodes, find out the neighbors of their neighbors, build routing tables, and then figure out the path to a remote node. SETUP ----- Assuming you've already built the H316 simulator with IMP support, open three terminal windows and run on instance of H316 in each. Window #1 -> H316 imp2.cmd Window #2 -> H316 imp3.cmd Window #3 -> H316 imp4.cmd These command files will configure the hardware, load the IMP firmware, set the IMP node numbers, and establish the modem connections. These command files DO NOT actually start the simulation, however, so after you've loaded all three IMPs, revisit each of the three windows and type "GO". Initially you should see a message like this in all three windows DBG(737742)> WDT LIGHTS: changed to 177400 This message refers to the status of the lights on the IMP's display panel - 177400 means all lights are on. After about 30 seconds (yes, 30 seconds!) you'll see this message on IMP 2 and 4 DBG(19558711)> WDT LIGHTS: changed to 077400 and these on IMP 3 DBG(15492720)> WDT LIGHTS: changed to 077400 DBG(17096499)> WDT LIGHTS: changed to 037400 This means IMP 2 and 3 have turned off the light corresponding to modem line 1. The IMP designers used these lights to indicate problems or errors, so a light off means that all is well. IMP 2 and 3 have just told you that their modem line #1 is UP. Remember that IMP 3 has two modems, so we see two lights turn off there. BTW, the time it takes for the IMP lines to come up is controlled by intentional delays in the IMP firmware and is driven by the RTC. simh simulates the RTC in real, wall clock, time, and the delay you see here is comparable to the delay you'd see on real IMP hardware. IT HAS NOTHING TO DO WITH THE SPEED OF THE PC RUNNING THE SIMULATION! You may also see the message HI1 - UNRECOVERABLE I/O ERROR! on any or all of the IMPs. This occurs because no host mainframe is connected to the IMP. This is harmless, at least for the purposes of this demonstration, and may be ignored. NOW WHAT ? ---------- Now that you've got your three IMP network running, what can you do with it? Well, the IMPs had a very simple DDT like command language. Typing "0/" will display the contents of location 0 - 0/ 0 The "C" command was used to "cross patch" the terminal on your IMP to another IMP. For example, typing "2C" on IMP 4 2C will connect the console keyboard on IMP 4 to the console printer on IMP 2. Anything you type on IMP 4 will now be echoed on IMP 2 - try it... In the Olden Days ARPAnet sites would use this facility to communicate, operator to operator. By adding 100 (octal) to the destination node, you can cross patch to DDT. For example, typing "102C" on IMP 4 will cross patch that TTY to DDT, not the operator, on IMP 2. This allowed guys at BBN and the NCC to debug IMP problems remotely. FILES INCLUDED -------------- The files included in this software kit are - 00readme.txt - this file impcode.cmd - simh script to load the IMP firmware c-listing-ps.txt - assembly listing of the IMP firmware impconfig.cmd - simh script for common IMP configuration imp2.cmd - IMP node #2 specific configuration imp3.cmd - IMP node #3 specific configuration imp4.cmd - IMP node #4 specific configuration imploop.cmd - IMP single line loopback test imploop4.cmd - IMP 4 line loopback test mdmtest1.cmd - simh modem simulation test, part 1 mdmtest2.cmd - simh modem simulation test, part 2 testrtc.cmd - simh RTC simulation test MORE READING ------------ Dave Walden's website, http://www.walden-family.com/bbn/ has a wealth of BBN papers, proposals, reports, journals, and other material. There is an entire section devoted to ARPAnet and IMP related content. Bob Armstrong bob@jfcl.com 30-Nov-2013 / updated 20-Mar-2022