I'm going to show you the use of the Michigan Terminal System, a large computing system at the University of Michigan Computing Center, using the IBM model 36067. We will be using a standard teletype, and we will be dialing in through the ordinary University Centrex Telephone System. This system can be used by a telephone system anywhere in the world, as long as we can dial directly into the computer. These teletypes are not wired in, but use the ordinary telephone system. We start by pushing the originate button, which turns on the teletype. Then we will dial using the regular telephone dial here. Now, there is a handset which is available with every teletype system. You can dial this number, if you like, with the handset. Either one work, but as soon as you are connected to the computer, do not use the handset for any purpose at all. Now, I'll push the originate button. I can control the speaker volume with this little knob, and so you can hear it. Now, I will dial a number, 763-0300, or in a Centrex system just 30300. And now, the computer is coming in. And I will turn the volume down. The response from the computer is the identification of the system. The who are you is the standard teletype communication identification. And the teletype itself answers with its own built-in code number. In this case, the teletype at the TV center. Now, I must, sign on to the computer and identify myself. The number sign at the beginning of the line is the indication that the Michigan Terminal System is waiting for me to communicate something to it. The first thing I must do is issue the sign on command. All commands in the system starts with a dollar sign. Now, the keyboard on the teletype, is very much like the keyboard of a typewriter, including a shift key, for the characters on the top of the key. We do not have upper and lowercase letters, however. So, the shift key is only used to get an additional set of characters and in this case, the dollar sign is the character above the number four. Now, I will use the word Sign On, which is the official command. Sign On. There must be a space, at least one, after every command. And now, I will give my own personal computing center number, which happens to be W010. Each user of this system is issued a computing center identification number, through his instructor if he's a student, or through the department for faculty. Now, this line has been typed. It is being held by the computer. But I can, if I see any errors in it, do some editing and correcting. We will see that later. I am satisfied with this line and now I will give the end of line character, which must be given after every line and I will remind you each time that I am doing it for a while. The character for ending a line uses the control key on the keyboard which is a special key which indicates that I want to use even additional characters besides those that are added by the use of the shift key. I hold the Control key down. And while I hold it down, I can hit one of a number of other keys. And in this case, I will use the control with the letter Q. It's possible to use the letter S also, but that's right next to another key which disconnects the teletype. So, I recommend using Q. I will use control and Q to terminate the line. And now, I'm asked to give my private password. I'll give an incorrect password, just some nonsense characters and of course end of line because I must indicate that I am satisfied with that. I am prompted that I better give another password and now since I intend to give the correct password, I will turn off the printing so that no one can see what mine is. To turn off printing we use this switch which is labeled HDX and FDX, or Half Duplex and Full Duplex. We normally operate this, the teletype in Half Duplex mode. If I push it to Full Duplex, printing is suppressed. And now I will give my correct password, push the Half Duplex again, and end of line character control Q, and it is accepted by the system. And I am now signed on. The information that's coming out here is time and date of the previous sign on and time of date of this sign on. So, I can check if anyone did use my number since I myself did use it. Now, one of the first things I will do is to change my password having signed on correctly. I maybe concerned that someone may have had acquired my password and I will issue a command that says $ set. Which is used for setting various things in the system, but in this case, I want to set my password to something else. At least one blank after each command. Pw is the name of my password equals and no blank spaces in here and now I will turn off printing again, give my new password and terminate the line. The number sign indicates that I'm now ready to issue another command to the system. Or now suppose we wish to start using the computer and we wish to enter some information into a file, I can have a number of private files, each one with a name that I invent, that's useful to me. And I will attempt to create a new file in this case by issuing a command, Create. Dollar sign Create. And I think I will illustrate here the fact that only the first three letters of every command are necessary. So, Create, space, let's use the name EX. There is a check that I don't already have one, and of course I knew I had one of this name and we see now that it was cut. To show what names I do have, in case I've forgotten, let us run a special program that is available from the Computing Center Library, called Catalog. So, I will say, run that program. The run command is used to activate all sorts of programs, my own private program as well as the publicly available one, space, and now the name of this program is Catalog with an asterisk in front. I'll explain the asterisk in a moment. End of line character of course. Now, it is listing out all the files that I have under my private number. Now, the internal form of a name like EX, is really W010EX. My own identification is pre fix to it. And thus, no one can reference my file unless he signs in under W010. He can't do that without knowing my password. Thus, I'm protected as long as I protect my password, which I do by changing it often. Now, we see the names of the various files that I had, including videotape which was used to print out the title to this tape. And, I did wanna create a file. I better think of a name that isn't in there. So, let's think of a name, like, 0X1. So, I'll say create, X1. Now, space has to be found on the, disk storage of the computer for this. It has to be entered into the system catalog of files. And now it's reported back to me that this has been done. The blank spaces after X1 remind me that I could have up to twelve characters in a name. I didn't choose to in this case. Now I would like to enter some lines into this file, and the lines will be numbered. I can ask for automatic numbering of the lines. So we'll give a command number. $ NUM and if I terminated the line at this point, it would number them starting with one in steps of one. Simple one, two, three, four et cetera. But I will indicate in this case starting with line one but will use steps of three. All right. It's now asking for line one. And I will simply enter some information. This is the time, and I misspelled the word. Let's look at how we might make corrections here. One way is to delete the whole line and start over. To delete a line, I use control with the letter N. This inserts a delete line character into the line. If I like I can continue with, with the new line that I would like to have go in at that point, and I'll do that in this case. And end of line. Notice that since I asked for steps of three, it is now asking for line four. Let me, put some more information in here. And I made another mistake. Well, again I could use control N if I like, and this time I'll terminate the line at that point. And I get an indication that the line was deleted. I didn't get the indic ation in the previous case because I just continued with the new form of the line. Well, let me put the line in again. And I made another mistake. Now, in this case I really need to only backspace a character and continue. Let me backspace two characters to show how that could work. The backspace is Control and the letter A. If I get two of them, I have now back space twice. And I can start the word come again. Notice that the teletype does not physically backspace as a typewriter does. The backspace character is inserted in the line, and when the line is processed by the computer, it is interpreted to delete the previous characters. We don't see that on the teletype itself. So, I can add another line here. All right, and now, let me turn off the numbering, so that I can begin to do some other things with it. I can give dollar sign a number. End of line character. That turns off the numbering and it's waiting for me to do something. Now, the file X1 is my active file in the sense that whatever I do such as putting a line in, goes into the currently active file X1. To protect myself from doing something inadvertently and damaging the information in the file, I will release it from being the active file by giving the command Release. Now, for instance, if I chose to put a line in like two I am protected because I don't have any active file. Now, since we did do a fair amount of modification for the information in X1, let us print out or list the information in the file to see what actually got in. Dollar sign, list. I can give the full name if I like, X1. Looks very good. Now, let me show how we can put a line in if we want to make a modification. I can put a line in with a number like two which will go in the right place. I could even use 2.5. So, let us make X1 the active file again and put a line 2.5 into that file. X1 was active the first time because that was created with the Create command. I can't do that now. But I can make it the active file by using a command Get. It's acknowledged, and now X1 is probably the active file. Let me try line 2.5. The information in the line starts with the character after the comma, the comma indicating the end of the line number. Now, let's verify that it actually got in there. I don't want to list the whole file X1, it could be a very long file. It isn't in this case. So, what I'd like to do is list a part of the file. Let's say, all the lines. In the number range one through five. There's a mistake, backspace, next one, one two five. Notice that the line 2.5 was inserted in the proper place according to its line number. And the end of file comment here even though we didn't get line seven has to do with the fact that the name X1(1,5) named a new file which was in fact made up of parts of an old file. X1 lines one through five. Are in fact a kind of a logical file. And when it came to the end of that file, it indicated end of file. There are other ways to make new files out of old files. We can use a process called Explicit Concatenation. To do that, let me, for example list a file made up of pieces of old files. I will say, list. I have a long file who's name is EX. So, I will take lines 25 through 50. Oh, that's too long. Let's back, cancel that out, 27. Now, with the plus sign, I explicitly append to the end of the, of those lines or concatenate to them. Line some additional lines. Let's say, lines 53 and 54. Notice that if it's the same file again, I don't need the name EX again. Now, I will concatonate some lines directly from my terminal. So, I need a name of my terminal as a file. We use asterisk, source, asterisk. That is the name of my terminal as an input file. And then I will, maybe take some more lines from file EX. If I just give one number, it means all the lines from 100 on. And that's a long file, and so in fact, we will see a fair amount of typing at that point. In fact, that raises the question, how do I interrupt somethi ng which is going on that I would like to stop? There is a special button on the teletype called the Break Button. It is located in various places on different models of the teletype. In this case, it is right here. Now, when I want to interrupt, as we will see, whatever is going on, I will push the break button. At that point, because of the way the teletype is built, the keyboard locks. And I must, then, push a button which occurs in another part of the teletype, called the Brake Release Button. This button will light, and when I push it, it will then unlock the keyboard. Now, lets do it and we'll see how the brake process works. I will now give the end of line character. So, that the line I just typed will in fact go in. Line 25, 26, and 27. These are lines from some computer program, 53, there was no line 54. It is now waiting for lines from the file called Source. And so I must give a line. And since I'm listing things on, on this terminal. When I give a line as input, it'll come right back out and be listed, as if it were in that file. It's the first line in that file. Well, now I have to have a way of saying that's the end of this file that's coming from my terminal, and so there's a special character, Control C, for end of file. Now, that's a character that went into the line. I must now still terminate the line. And then I will get an acknowledgement that it's on in the file and now it continues to line 100 of that old file, EX. That's an interesting line and I know that this file is quite a long file with some programs in it and so now, I will hit the break button and terminate what's going on there. I get a response from the computer that attention was indicated. Now, I will hit the Brake Release Button to pre-up the keyboard. Which is lighted, when I push it, it goes out, and now I can do something from the keyboard again. The number sign indicates that after an interruption by the break button, the system is ready to have me tell it what to do ag ain. Now, I'm going to illustrate the use of one of our language processors in the system. A language called PIL, P-I-L, for Pittsburgh Interpretive Language. And PIL is stored, the processor for the language, is stored in a file whose name is asterisks P-I-L. I will run that program, that is the PIL program itself by using the run command and the name of the file in which the program is found. I could indicate that the source. Of input for PIL, is from some other file. And have it read that file directly. In this case, the sources of input will be from my terminal. And so , I will not say anything about it, and it will as we say default to the terminal. We will see the comment execution begins when the loader finds that program and loads it and begins it, and now PIL itself is identifying itself as ready to go. I will only introduce some of the features of the language. A full description of the language, as well as information about using the teletype, is available at the bookstores in a small booklet called Introduction to PIL in MTS, Written by Professor Larry Flanagan of the Computing Center. Now, let me illustrate some of the features of the PIL language, but only a few of them. For one thing, I can ask for Numeric expressions to be computed easily three + four - two should come out five, fine. I can say type the square root of 4.12345. I can ask for certain trigonometric functions like the sign of the square root of, notice I have a different way of writing square root here. It's not completely free English however. And these are the only two ways. Now, I can ask for, for instance, the value of x + one. And, of course, I get my wrist slapped because I don't know what X is. And so I can set, there's another PILl language command, set X equal to three. And now I can ask for a type X, x, X - one, for example. Okay. Now it's possible in PIL to build up a package of statements into a program. And for that we give a line number., which is consists of a number in front of a decimal point. That's called a Part Number, and then the Step Number. I might say step 1.2 which I might give as the man Y and Z. Now , that line was not executed immediately, because we have a line number, it indicates it to be put away to become part of a package program. Let's make line 1.3, 5Y + Z, as well as Y and Z, and then line 1.4, is, can we go to step 1.2. So now, we have a program which will start off by demanding two numbers from me, it will type out their sum and each of them, and go back and demand two numbers again. Now. In order to actually carry out this computation, I have to say do that set of instructions. Since all these began with one, this is called Part One. We could have Part Two, etc. So I will say, Do. Part one. It's asking for Y, as we expected. I'll say Y is equal to five. It's asking for Z. Z is equal to four. And now the instruction to type the amount is there, and now it's back to beginning, asking for another Y. 79 and we see we can do various things. Now, how do I stop this, because it's always coming back to ask for more? Well, in PIL, I could give a break. I could hit the break button, but in PIL, when it wants more information and you have no more, you can use an asterisk, which uses the shift key and way up here the asterisk, and some character, any character at all other than blank, I use X usually. End of line, and that indicates to PIL, that I interrupted the program at step 1.2 where it was asking for input. Incidentally, if I wanted to see what step 1.2 was out of some large program I could say type Part One, and it'll tell me what Part One was. Well, there are various things we can do in this language. I will illustrate one more. I can say four, and without a line number, it'll be executed immediately. 4I equal to one from one to five by 2s, 5I + one. If it goes from one to five by twos, it'll go in one, three, and five. I + one should be two 46. So let's see if it is. And now PIL is wai ting for something else. Well, at this point, I will stop illustrating PIL and go back to the MTS system. Which should be careful to distinguish that I have been running a particular program in the system. All of the file manipulation and editing and correction were at the level of the system itself. If I am talking now to PIL, if I want to return to the system to, for example, to sign off, I must go back up to level of the system itself. I do that by telling PIL the command system. Execution terminates, and, we are now back at the system. Let us review the commands we have had so far. I have a file which has the various commands in them. And if I copy that file, we should see some that we've seen, and there will be a couple that we have not yet seen. Sign on. Create to create a file. Get to make a file active. Number to turn on the automatic numbering, and a number to stop it. Release to get rid of an active file. List to find out what's in a file. We have seen set and run. We have not yet used copy. Although I used it to get this command out, this list of commands. But the, the main use of copy is to make a copy of one file into another one. Perhaps, a temporary file to be able to make changes in it. So, for example, I will make a copy of the file X1. I will copy it to a temporary file, whose name will be minus, something, minus J. Now, the minus sign indicates that this file is to be created just because I've mentioned this now. And it will be destroyed when I sign off from this terminal. Permanent files, whose names don't begin with minus, such as X1, are not destroyed. I could come back next week and find X1 still intact. It takes a little while to create a temporary file because there is checking to make sure that I don't have one already by that name. It is not ready, and for example, I will list just a line or two out of minus J to convince us that X1 was copied into it, let's list lines. Oh, just line one. Fine. Now, minus J will be destroyed au tomatically but well, before we get to that, let's copy -J back into X1. In case we want them to, after making some changes, preserve it. Now, now if we simply copy it back into X1, only the lines that arrived from the other file from -J will be replaced. Any old lines will still be there. If I don't want to have a mixture of old and new I will, do well to empty out the contents of X1, before I copy the new, new form of it back in. And so, I will use a new command called Empty X1. This doesn't destroy the file. It only erases any contents that it has. And now, this is a very important point. We don't like to destroy information unless we are sure that it is the right information to be destroyed. I'm being asked to confirm that it is X1 that I want to, to empty, in this case. I give okay, and that is a positive confirmation. An exclamation mark would do, or O period, K period will work. But anything else will not. So now, X1 is in fact, emptied. It is still there. If I wanted to completely get rid of the file, I would say Destroy, as I will after we Copy -J back into it. That is done. And now I would have a new copy if I had made modifications to -J. Now, I will say Destroy X1, it asks for confirmation. I will say, okay. And now, for instance if I say Get X1, well it says Ready, but as soon as I try to put something into it like that, it will report, there isn't any. As soon as it comes back, I will Sign Off from the computer. I, I will say Cancel in this case. There isn't any others that I'd like to do. All right. Now, I will sign off from the computer by issuing the command Sign Off. And now, I will get some information summarizing the session that I've just finished. The time of going off, the elapse time. We have used thirteen seconds in this case of computer time. And then there's various other information. The approximate cost of this particular run was $3.20. This presentation has been designed to make your work on the teletype terminals e asier. For a review of this material, you may wish to view this material again, or to actually try it out on the teletype, if you have a computing center number. If you have any questions, ask your instructor, or someone in the counseling room at the computing center. ยป Your attention please. Since this film was produced, some changes have been made in the MTS system. Three of which we now call to your attention. First, to backspace so as to delete a character. Instead of Ctrl + A, use Ctrl + H. Instead of Ctrl + A, use Ctrl + H. Second, while Ctrl + Q may still be used to signal the end of the input line, the Return key on the right side of the keyboard may also be used and it is usually more convenient. Use the Return key to end the line. Third, when dialing in, if nothing prints on the teletype, within a few seconds after the telephone connection has been made, type the word Go. Go. Followed by the Return key. The word go, and the return key. Thank you.