User Tools

Site Tools


tss-8_user_tutorial

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
tss-8_user_tutorial [2020/09/13 22:10] smjtss-8_user_tutorial [2023/07/01 05:58] – [EDIT, the line editor] hc9
Line 1: Line 1:
-**TSS-8 User Tutorial** 
- 
-//TSS/8// is a timesharing system for the DEC PDP-8 originally designed by Adrian van de Goor, a grad student at CMU and later enhanced and sold as a complete system by DEC in 1968.  It originally required a PDP-8, 8I or 8E with an RF08 or DF32 attached to at least one RS08 or a DS32 drive for swapping and filesystem.  
- 
-Each user gets a virtual PDP-8 with 4KW of memory, and a directory on disk for file storage. 
- 
-**Logging in:** 
- 
-After connecting, you will be at the login "." prompt.  Type 
- 
-''LOGIN <PPN> <PASSWORD>'' 
- 
-Substituting your PPN and password.  **NONE OF THE ABOVE INPUT WILL ECHO** -- if it does it means you've connected to a session that was not properly logged out -- type "LOGOUT" to log out and then try logging in again. 
- 
-**Logging out:** 
- 
-The ''LOGOUT'' or ''KJOB'' command will log you out of the system.  ''K'' can be used as a shorthand for this.  It is important to log out before disconnecting as the system will not automatically log you out. 
- 
-If for some reason you seem to be stuck, try ''^BS'' or ''CTRL-B S'' Further details about what ''^B'' does can be found down below in the **Stopping a running program** section. 
- 
-**Running programs** 
- 
-Running a program from the system library or from your directory can be accomplished via the ''R'' command: 
- 
-''R CAT'' 
- 
-will run the CATALOG program, displaying the contents of your directory.  The currently available programs in the system library are: 
- 
-<code> 
-DISK FILES FOR USER  0, 2 ON 19-DEC-79 
- 
- 
-NAME      SIZE  PROT    DATE 
-PALD  .SAV  16   12  31-MAR-76      - PAL Assembler 
-LOADER.SAV     12  31-MAR-76      - Binary loader 
-FORT  .SAV     12  31-MAR-76      - FORTRAN II 
-FOSL  .SAV     12  31-MAR-76      - FORTRAN system 
-PIP   .SAV  10   12  31-MAR-76      - Peripheral Interchange Program 
-SYSTAT.SAV     12  31-MAR-76      - Displays system status 
-EDIT  .SAV     12  31-MAR-76      - Line-oriented text editor 
-FOCAL .SAV  16   12  31-MAR-76      - FOCAL language interpreter 
-BASIC .SAV  38   12  31-MAR-76      - BASIC language interpreter 
-CAT   .SAV     12  31-MAR-76      - Disk catalog 
-PUTR  .SAV  21   12   3-FEB-84      - File transfer utility 
-ODTHI .SAV     12  29-FEB-84      - ODT debugger 
-FLAP  .SAV     12   7-APR-84      - Absolute assembler 
-PTLOAD.SAV     12  29-APR-84      - Paper tape loader 
-CHESS .SAV  17   12  11-NOV-74      - CHEKMO II chess program 
-ALGOL .SAV  32   12  21-NOV-79      - TSS/8 ALGOL (DECUS 8-330) 
-ACTUNG.SAV     12  21-NOV-79      - Prints a cute message 
-LISP  .SAV  17   12  25-NOV-79      - LISP 1.5 interpreter (DECUS-8-102a) 
-</code> 
- 
-**Stopping a running program** 
- 
-''CTRL-B'' indicates to the system that you want send a command to the ''Monitor'' Once you hit Ctrl-B, the following input will be sent to the monitor and executed.  To stop any program while it is running, Type ''CTRL-B'' followed by ''S'' and Carriage return.  ''S'' is the monitor's STOP command, sending it will cause the currently executing program to stop.  The program can be restarted from the monitor with the ''START'' command. 
- 
-**Talking to other users** 
- 
-The ''TALK'' program can be used to send messages to other terminals.  Use ''SYSTAT'' to see what other users are logged onto the system, e.g.:  
- 
-<code> 
-.SYSTAT 
- 
-STATUS OF TSS/8.24 DEC PDP-8 #1 AT 12:47:30 ON 19 DEC 79 
- 
-UPTIME 19:06:31 
- 
-JOB      WHO     WHERE      WHAT       STATUS     RUNTIME 
- 
-     10, 0      K00      BASIC      KEY   ^Q    00:00:04 
-     10, 0      K01      SYSTAT     ^BS   ^Q    00:00:00 
-     10, 0      K04      HI         ^BS   ^Q    00:00:00 
-      0, 2      K06      CAT        ^BS   ^Q    00:00:00 
-      0, 1      K07      SYSTAT     RUN   ^Q    00:00:00 
- 
-AVAILABLE CORE  4K   FREE CORE=252 
- 
-BUSY DEVICES    NONE 
- 
-3269 FREE DISK SEGMENTS 
-</code> 
- 
-The "WHERE" column shows the console (K00 through K07) the user is logged into.  To send a message to a specific console, type: 
- 
-''TALK <CONSOLE #> <YOUR MESSAGE HERE>'' 
- 
-So for example,  
- 
-''TALK 2 HEY, CHECK OUT THIS COOL PROGRAM I WROTE'' 
- 
-Sends a friendly message to console K02. 
- 
- 
-**Documentation** 
- 
-The Edusystem-50 manual provides fairly accurate documentation for the version of TSS/8.24 running at LCM+L, and is available at [[http://bitsavers.org/pdf/dec/pdp8/tss8/DEC-08-E50UA-A-D_UG_Aug75.pdf]].  It covers user-related activities on the system and covers using the PAL-D assembler, BASIC, FOCAL and numerous utilities. 
- 
-Detailed documentation for BASIC is available at [[http://bitsavers.org/pdf/dec/pdp8/tss8/DEC-T8-KJZA-D-TSS-8_BASIC_8_Programming_Manual_Mar1969.pdf]]. 
- 
-ALGOL documentation can be found at [[http://svn.so-much-stuff.com/svn/trunk/pdp8/src/decus/8-213/decus-8-213.pdf ]] with [[http://www.bitsavers.org/pdf/dec/decus/pdp8/8-330_tss8_ALGOL.pdf ]] covering the TSS/8-specific changes. 
- 
-LISP is documented at [[http://svn.so-much-stuff.com/svn/trunk/pdp8/src/decus/8-102a/decus-8-102A.pdf]] 
- 
-Logging in 
-Login using the following command: 
- 
-LOGIN USERNAME PASSWORD     
-The login command does not display or echo. 
- 
-The list of accounts and passwords in this specific image: 
- 
- PPN  Password 
-[0,1]   VH3M 
-[0,2]   LXHE 
-[0,3]   SHUG 
-[77,77] 
-[1,10]  WBCN 
-[20,1]  DT 
-[20,2]  PT 
-[20,3]  TSS8 
-[20,4]  EDIT 
-[20,5]  4TH 
-[1,50]  JERK 
-We cover more on user management later on in the article, including how to create and modify users. 
- 
-To login as user 1, the system user enter this: 
- 
-LOGIN 1 VH3M 
-To login as user 1,10, (project 1, user 10) enter this: 
- 
-LOGIN 1,10 WBCN 
-You will receive the following prompt after logging in: 
- 
-. 
-TSS/8.24  JOB 01  [01,10]  K00    12:12:36 
- 
-SYSTEM IS DOWN, INC. 
-Primitive ls, CAT (catalog) 
-TSS/8 Monitor maintains a library of disk files for each user. The System Library Program CAT is used to obtain a catalog of the contents of this library. For each file, CAT types the size of the File in units of disk segments. The size of a disk segment may vary among installations. Generally, it is 256 (decimal) words of disk storage. The protection code for the file is also given. (See the section on the PROTECT Monitor command (Chapter 9 of the manual) for a precise explanation of protection codes.) If the program was created by any of the System Library Programs, it has a protection code of l2, meaning that other users can read the File, but only the owner can change it. 
- 
-When the CAT program is used by the SYSTEM ADMINISTRATOR (user 1), it prints out accounting information. This report consists out of the accumulated time (in hours, minutes and seconds) for central processor usage and connect time as well as the number of disk segments currently being used. 
- 
-To see the contents of a users library, run the .R CAT:L command. It will ask for an account number, after which it prints out the users directory. This way you can trace which user is using an abnormal amount of diskspace. 
- 
-If you login as the user 2, you can execute the following command to see the contents of the disk: 
- 
-.R CAT 
-Output: 
- 
-DISK FILES FOR USER  0, 2 ON  1-JAN-75 
- 
-NAME      SIZE  PROT    DATE 
-PALD  .SAV  16   12  31-MAR-76 
-LOADER.SAV     12  31-MAR-76 
-FORT  .SAV     12  31-MAR-76 
-FOSL  .SAV     12  31-MAR-76 
-PIP   .SAV  10   12  31-MAR-76 
-TSTLPT.SAV     12  31-MAR-76 
-LOGOUT.SAV     12  31-MAR-76 
-SYSTAT.SAV     12  31-MAR-76 
-EDIT  .SAV     12  31-MAR-76 
-FOCAL .SAV  16   12  31-MAR-76 
-BASIC .SAV  38   12  31-MAR-76 
-COPY  .SAV  10   12  31-MAR-76 
-CAT   .SAV     12  31-MAR-76 
-GRIPE .SAV     12  31-MAR-76 
-LOGID .SAV     12  31-MAR-76 
-PUTR  .SAV  21   12   3-FEB-84 
-ODTHI .SAV     12  29-FEB-84 
-FLAP  .SAV     12   7-APR-84 
-PTLOAD.SAV     12  29-APR-84 
-BLANK .SAV     12   9-JUN-84 
-DTTEST.SAV     12  26-JUN-84 
-INIT  .SAV  17   12  29-JUL-84 
-BAS000.TMP     17   1-JAN-84 
-BAS100.TMP     17   1-JAN-84 
-INTER .BAS     12   1-JAN-75 
-REMY  .ASC     12   1-JAN-75 
- 
- 
-TOTAL DISK SEGMENTS:  189    QUOTA: 1575 
-System Status 
-With the SYSTAT command you get a full printout of what the system is doing, who is logged in and more: 
- 
-SYSTAT 
- 
-STATUS OF TSS/8.24 DEC PDP-8 #1 AT 12:19:14 ON  1 JAN 75 
- 
-UPTIME 00:07:14 
- 
-JOB      WHO     WHERE      WHAT       STATUS     RUNTIME 
- 
-      0, 2      K00      FOCAL      ^BS   ^Q    00:00:01 
-      1,50      K01      SYSTAT     RUN   ^Q    00:00:00 
- 
-AVAILABLE CORE 16K   FREE CORE=312 
- 
-BUSY DEVICES    NONE 
- 
- 103 FREE DISK SEGMENTS 
-There are two users logged in, user 2 on teletype 0, user 50 on teletype 1. User 2 is was FOCAL but is now on the prompt (STATUS ^BS means monitor mode, that is the prompt), user 50 is executing the SYSTAT command. 
- 
-The manual has more information on SYSTAT, listed here for convinience. 
- 
-It is frequently useful to know the status of the system as a whole; how many users are online, where they are, what they are doing, etc. The SYSTAT program provides this capability. 
- 
-SYSTAT responds by printing on the first line: the version of the TSS/8 Monitor being run, the time, and the date. SYSTAT reports the uptime which is the length of time in hours, minutes, and seconds since the system was last put online. 
- 
-SYSTAT lists all online users. Each user is identified by his account number. The job number assigned to him and the number of the console he is using are indicated, as is the particular System Program he is running. The exact running state of each user, whether he is actually running (RUN), typing in (KEY) or out (TTY), doing input/output on another system device (IO or FIP), or not running (iB), is indicated. 
- 
-The amount of computer time used by each user since he logged in is given. 
- 
-It more users are online than the system has core Fields to hold them, the Fact that the system is swapping is reported. The number of Free core blocks used internally by TSS/8 Monitor for Teletype buffering and various other purposes is typed out. 
- 
-Then SYSTAT reports any unavailable devices, i.e. , devices which are assigned to individual users. The job to which they are attached and their status (AS if they are assigned but not active, AS+INIT if they are assigned and active) is also indicated. 
- 
-Finally, the number of available segments of disk storage is reported. 
- 
-To see the time that you have been logged in: 
- 
-.TIME 
-00:00:20 
-To see the system time: 
- 
-.TIME 0 
-12:20:44 
-FOCAL69 
-You can start up the FOCAL69 programming environment with the R FOCAL command, output below: 
- 
-.R FOCAL 
- 
-SHALL I RETAIN LOG, EXP, ATN ?:NO 
- 
-SHALL I RETAIN SINE, COSINE ?:NO 
- 
-PROCEED. 
- 
-*_TYPE "HELLO WORLD" 
-HELLO WORLD* 
-To exit FOCAL, press CTRL+B followed by the S. Your prompt will be back to a dot (.): 
- 
-*^BS 
-. 
-Chatting 
-You can use the TALK command to talk to other users logged in. Fire up TELNET on port 4000 on a terminal or two and login with the users 2, and 1,50 (password JERK). On the 1,50 terminal, enter the following command to talk to the system administrator (on teletype 0): 
- 
-.TALK 0 PLEASE HELP 
-On the 2 telnet session you will see this: 
- 
-** K01  [01,50] ** 
- PLEASE HELP 
-You can talk back: 
- 
-.TALK 1 WHATS UP DOG 
-Telnet 1,50 will see this: 
- 
-** K00  [00,02] ** 
- WHATS UP DOG 
-As the system administror (user 1) you can also send a message to all users at one with the BROADCAST command. The following command: 
- 
-.BROADCAST THE SYSTEM WILL SHTUDOWN IN 5 MINUTES 
-Will result in the following messages on all terminals (they are interupted): 
- 
-*** THE SYSTEM WILL SHTUDOWN IN 5 MINUTES 
-BASIC-8 
-TSS/8 has a BASIC programming environment. Start it up with the R BASIC command. It will ask you if you want to create a NEW file or load an OLD one. 
- 
-Here's an example program, from the TSS/8 manual, to calculate loan interest. We first enter a line number, then the instruction. Afterwards we save the file as INTER.BAS with the SAVE command. We then run the script with the RUN command. 
- 
-.R BASIC 
-NEW OR OLD--NEW 
-NEW PROGRAM NAME--INTER 
- 
-READY 
- 
- 
-10 REM - PROGRAM TO COMPUTE INTEREST ON A LOAD 
-20 PRINT "INTEREST IN PERCENT"; 
-30 INPUT J 
-40 LET J=J/100 
-50 PRINT "AMOUNT OF LOAN"; 
-60 INPUT A 
-70 PRINT "NUMBER OF YEARS"; 
-80 INPUT N 
-90 print "NUMBER OF PAYMENTS PER YEAR"; 
-100 INPUT M 
-110 LET N=N*M 
-120 LET I=J/M 
-130 LET B=1+I 
-140 LET R = A*I/(1-1/B^N) 
-150 PRINT "MONTHLY PAYMENT ="R 
-160 PRINT "TOTAL INTEREST ="R*N-A 
-170 END 
- 
-SAVE INTER 
- 
-RUN 
-Output: 
- 
-INTEREST IN PERCENT? 8 
-AMOUNT OF LOAN? 25000 
-NUMBER OF YEARS? 20 
-NUMBER OF PAYMENTS PER YEAR? 12 
-MONTHLY PAYMENT = 209.1103 
-TOTAL INTEREST = 25186.46 
- 
- 
-READY 
-Exit BASIC with the BYE command. 
- 
-EDIT, the line editor 
-TSS/8 Editor provides the user with a powerful tool for creating and modifying source files on-line. EDIT allows the user to insert, change and append lines of text; and then obtain a clean listing of the updated file. EDIT also contains commands for searching the file for a given character. 
- 
-Page 56, 6-1, DEC TSS/8 User guide 
-EDIT considers a file to be divided into logical units, called pages. A page of text is geranlly 50-60 lines long, and hence corresponds to a physical page of program listing. A FORTRAN-D program is generally 1-3 pages in length; a program prepared for PAL-D (the assembler) may be several pages in length. EDIT operates on one page of text at a time, allowing the user to relate his editing to the physical pages of his listing. EDIT reads a page of text from the input file into its internal buffer where the page becomes available for editing. When a page has been completely updated, it is written onto the output file and the next page of input is made available. EDIT provides several powerful commands for "paging" through the source file quickly and conveniently. 
- 
-The end of a page of text is marked by a form feed (CTRL+L) character. Form feed is ignored by all TSS/8 language processors. 
- 
-Here is the EDIT Command summary table from the manual. 
- 
-Command | Format(s) | Meaning 
----|---|--- 
-READ | R | Read text from the input file and append to buffer until a formfeed is encountered. 
-APPEND | A | Append incoming text from keyboard to any already in buffer untila form feed is encountered. 
-LIST | L 
-nL 
-m,nL | List the entire buffer. 
-List line n. 
-List lines m through n inclusive. 
-PROCEED | P 
-nP 
-n,mP | Output the contents of the buffer to the output file, followed by a form feed. 
-Output line n, followed by a form feed. 
-Output lines m through n inclusive followed by a form feed. 
-TERMINATE | T | Close out the output file and return to TSS/8 Monitor. 
-NEXT | N 
-nN | Output the entire buffer and a form feed, kill the buffer and read the next page. 
-Repeat the above sequence n times. 
-KILL | nD 
-n,mD | Delete line n of the text. 
-Delete lines m through n inclusive. 
-INSERT | I 
-nI | Insert before line 1 all the text from the keyboarduntil a form feed is entered. 
-Insert before line n until a form feed is entered. 
-CHANGE | nC 
-m,nC | Delete line n, replace it with any number of lines from the keyboard until a form feed is entered. 
-Delete lines m through n, replace from keyboard as above until form feed is entered. 
-MOVE | m,n$kM | Move lines m through n inclusive to before line k. 
-GET | G | Get and list the next line beginning with a tag. 
-SEARCH | S 
- 
-nS 
-m,nS | Search the entire buffer for the character specified (but not echoed) after the carriage return. Allow modification when found. TSS/8Editor outputs a slash (/) before beginning a SEARCH. 
- 
-Search line n, as above, allow modification. 
-Search lines m through n inclusive, allow modification. 
-END | E | Output the contents of the buffer. Read in any pages remaining in the input file, outputting them to the output file. When everythingin the input file has been moved to the output file, close it out and retum to the TSS/8 Monitor. E is equivalent to a sufficient number of N's followed by a T command. 
-^C | CTRL+C | Stop listing and return to Command Mode. 
- 
-You can download the two pages from the manual PDF as well from here. 
- 
-Using the I command you can enter text, with a CTRL+L you exit insert mode. Save your file with E. 
- 
  
tss-8_user_tutorial.txt · Last modified: 2023/07/01 06:01 by hc9