User Tools

Site Tools


cdc6500_survival_guide

CDC 6500 Survival Guide

The CDC 6000 series was a family of mainframe computers designed by Seymour Cray and James E. Thornton and manufactured by Control Data Corporation in the 1960s. The computers in the series were extremely fast for their time and considered to be the first supercomputers.

Living Computers has recently refurbished and put on-line a CDC 6500 supercomputer. The system was originally used at Purdue University from 1967 to 1989.

This document is a short guide for those interested in exploring the 6500's interactive command environment.

(Note: The author worked briefly with a CDC NOS computer 30 years ago, but all information below is based on study of the referenced manuals and experimentation on LC's 6500. The author apologizes for any inaccuracies and welcomes corrections and improvement suggestions.)

Connecting

  1. Start your Secure Shell (SSH) client and connect to cdc6500@tty.livingcomputers.org .
  2. After the USER NUMBER prompt enter your user name (your input will be concealed by the row of Xs). You may need to type more slowly than you are used to with other systems.
  3. After the PASSWORD prompt type your password (your input will be concealed by the row of Xs).
  4. After the RECOVER /SYSTEM: prompt enter a subsystem or other command. (Enter RECOVER to recover previously interrupted session.)
[CONNECTED TO MUX6676 LINE 1]


 16/08/24. 20.43.27.
 LIVING COMPUTER MUSEUM 6500.           NOS 1.3-485/11.
USER NUMBER
XXXXXXXXXXXXXXX                                                  ← 2.
PASSWORD
XXXXXXXX                                                         ← 3.
PORT    :      5, TTY
RECOVER /SYSTEM:

Subsystems

The 6500's Network Operating System (NOS) time-sharing system, the Interactive Facility (IAF), includes a number of subsystems, similar to applications on other computer systems, to provide various functions to the user. Subsystems can be selected explicitly by command (see below), or automatically when you select a primary file.

Although the Null subsystem provides a general-purpose environment with file and system utilities, in most cases you can move directly between subsystems as needed without going through the Null subsystem.

Subsystem Function
ACCESS Messaging with other users connected to the 6500.
BASIC Interactive BASIC language programming environment.
BATCH Create and run batch jobs for non-interactive programs.
EXECUTE Execute previously compiled programs.
FORTRAN Interactive Fortran language programming environment. Uses FORTRAN Version 5 compiler.
FTNTS Interactive Fortran language programming environment. Uses FORTRAN Extended Version 4 compiler.
NULL A general-purpose environment for working with files and system status and settings (although most general commands are available in other subsystems as well).

File System

A basic understanding of the 6500 file system is necessary to use most IAF comands.

Permanent files

Permanent files are preserved by the system from their creation until their deletion by user command. Each permanent file is owned by a single user and is normally accessible only by its owner, though it is possible to make files accessible by other users as well.

Two types of files are supported:

Direct access: Used for random access and database applications.

Indirect access: Common sequential access files, including program source files.

Temporary files

Whenever an indirect access file is accessed, or a new indirect access file created, the system first makes a temporary copy of the file, to which are directed all references and updates to the file. The temporary file must be saved in order for changes to be applied to the permanent file. Unsaved changes will be discarded at the end of the user's session.

A temporary file is not created when a direct access file is opened. Changes made to a direct access file are immediately applied to the permanent file.

Primary file

The primary file is the temporary file, usually a program source file, that a user is viewing, modifying, or executing at a given time. Although a user session may simultaneously open multiple temporary files, a given user may have only one primary file at a time.

The currently selected primary file automatically determines the user's active subsystem. When a new indirect access file is saved as a permanent file for the first time, the file system records the active subsystem at the time. Then when the file is selected as primary sometime later, the system automatically activates the original subsystem.

Local files

Local files are the set of temporary files and direct access files (permanent files) currently open by a particular job or user session.

File names my be up to seven alphanumeric (upper-case) characters and may not begin with a numeric character. The following file names are reserved by the system:

INPUT P8 SCR3
OUTPUT SCR SCR4
PUNCH SCR1 ZZZZZ*
PUNCHES SCR2

File Commands

CATLIST
CATLIST,LO=F
List your permanent files. The second form generates a detailed list.
ENQUIRE
ENQUIRE,F
Prints users terminal port number, current subsystem, primary file. The second form lists user's local files
NEW,file Create a new file with the current subsystem and select as your primary file.
OLD,file Select existing permanent file as primary. Change subsystems if file type is different from current primary file.
LIST
LNH
List primary file contents. The second form omits printing the system header.
GET,file
LIST,L=file
Use GET and LIST,L together to list the contents of a file other than primary file.
SAVE
SAVE,
old=new
Save contents of primary file as permanent file (creates permanent file). May need to use PACK first. Note: Use only the first time you create a file. The second form saves the primary file named old in a new permanent file named new.
REPLACE Replace permanent file with current contents of primary file. May need to use PACK first. Note: Use when modifying previously created permanent file.
PACK Compress multiple logical records in local file into single logical record.
PURGE,file Delete a permanent file
RENAME,oldname,newname Change the name of a permanent file

Programming Commands

The BASIC, FTNTS, and FORTRAN subsystems provide environments for interactively creating, modifying, debugging, and running programs:

BASIC Enter the BASIC subsystem. Uses the BASIC programming language interpreter.
FTNTS Enter the FTNTS subsystem. Uses the FORTRAN Extended Version 4 compiler.
FORTRAN Enter the FORTRAN subsystem. Uses the FORTRAN Version 5 compiler.

The tree subsystems provide a development environment similar to the original Dartmouth BASIC and versions of Microsoft BASIC for microcomputers and early PCs.

Program source files

For all subsystems, program source code is stored in indirect access files. The file's subsystem flag, set when first created, indicates the file's source programming language (and compiler version for Fortran source files).

Create new source files, list and select existing source files, view contents, and save changes to source files using the file commands documented above.

Each programming subsystem includes a simple editing function for entering and modifying program source code in the primary file as follows:

To add a source code line: Type a new line sequence number followed by a space and then a program statement. Source code lines will be stored and compiled/executed in the order of line sequence numbers, so lines can be entered in any order.

To modify a source code line: Type line sequence number of the program statement to be changed followed by a space and the modified program statement.

To delete a source code line: Type the line sequence number followed immediately by the Enter key.

  • In the BASIC subsystem, use line sequence numbers as the targets of GOTO and other statements.
  • In the Fortran language subsystems (FORTRAN and FTNTS), the line sequence numbers are not the same as the line label numbers used by Fortran PRINT/WRITE/FORMAT, GO TO, and other statements. Line label numbers should be inserted in necessary lines between the line sequence number and program statement.
  • In the Fortran language subsystems, program statement text Following the line sequence numbers may conform to or ignore standard Fortran column rules at the programmer's choice.
  • In the BASIC subsystem, program statement without a preceding line sequence number will be executed immediately and are not added to the primary file. This is useful for testing statements before modifying your program. Use PRINT statements to display results of calculations, etc.
AUTO Enter automatic line sequence number mode. Enter program source statements in sequence after the system-generated line numbers. Exit the mode by pressing Esc key followed by Enter key.
RESEQ Renumber the source code lines in the primary file, maintaining the original sequence. In BASIC subsystem, target line numbers of GOTO and other statements are adjusted appropriately.
RUN
RNH
RUN,MI=12625
For the BASIC subsystem, runs the primary file program. The second form omits printing of the system header. The third form is required to compile and run programs in the FTNTS subsystem. (The MI argument sets the compiler field length. As of this writing it is unknown if value 12625 is valid for all programs.) Note: As of this wiriting, the author has not yet succeeded in compiling nor running a program with the FORTRAN subsystem.

Text Editor

Although the programming subsystems include basic functionality for entering and modifying program source code in the primary file, the NOS Text Editor program (EDIT) provides both advanced editing functions and the ability to edit other local files besides the primary file.

EDIT
EDIT,
file
Edit the primary file with Text Editor. The second form is for editing other local files.
END Exit Text Editor

Messaging

Use the ACCESS subsystem to communicate with other users connected to the 6500.

ACCESS Enter the ACCESS subsystem
USER,userID Find connected user's terminal port number
DIAL,port,message Send message to user.

Other System Commands

DAYFILE List user's activity log.
PASSWOR,old,new Change user password from old to new

Disconnecting

BYE
GOODBYE
LOGOUT
End user session and disconnect
HELLO
LOGIN
End user session and return to log-in screen

File Sharing

Share permanent files with other 6500 users.

CHANGE,file/CT=PU,M=mode Give access mode mode to file to all 6500 users. Permission modes: A=append, E=execute, M=modify, N=remove perm., R=read, RA=read+append, RM=read+modify, W=write
PERMIT,file,user[=mode]… Give access mode mode to file to user. Default mode is read.
CATLIST,UN=user List permanent files in user's catalog for which you have been granted access permission.
OLD,file/UN=user Open permanent file file in user's catalog (must have been granted access permission).

File Transfer

In order to transfer data to or from the 6500, your best option is to copy and paste. If you're having trouble pasting in programs, you may want to try using TeraTerm after altering the line delay under Setup → Additonal settings → Copy and Paste → Paste delay per line to about 250ms.

References

  1. BASIC Language Version 2 Reference Manual (PDF). Control Data Corporation. Oct. 1974. Accessed Nov. 11, 2017.
  2. FORTRAN Extended Reference Manual Version 4 (PDF). Control Data Corporation. Oct. 22, 1971. Accessed Nov. 11, 2017.
  3. Interactive Facility Version 1 Reference Manual (PDF). Control Data Corporation. Aug. 10, 1979. Accessed Nov. 11, 2017.
  4. NOS Version 1 Reference Manual Volume 1 of 2 (PDF). Control Data Corporation. Dec. 3, 1976. Accessed Nov. 11, 2017.
  5. NOS Version 1 Text Editor Reference Manual (PDF). Control Data Corporation. Mar. 8, 1976. Accessed Nov. 11, 2017.

Future Improvements

The author would like to make the following improvements to this document:

  • Document compilation and execution of programs with FORTRAN subsystem.
  • Text Editor command guide.
  • Batch subsystem guide.
  • Execute subsystem guide.
cdc6500_survival_guide.txt · Last modified: 2017/11/08 23:05 by papa