A Session with a CYBER 960

Michael A. Covington
Artificial Intelligence Center
The University of Georgia

Introduction

This document will step you through a sample session compiling and executing a FORTRAN program on the CYBER 960 at cray-cyber.org. See also their command summary and usage notes

I'll also show you how to access the easy-to-use BASIC system on the CYBER, which is very user-friendly and resembles other BASIC systems from Dartmouth to GW-BASIC.

Author's note: The very first computer I ever programmed was a Control Data 6400, in February, 1973. This CYBER 960 is its closest living relative. I stopped using CYBERs for productive work around 1986. The following notes were made on March 6th, 2004, with acute awareness that this will be one of my last-ever encounters with a CYBER.

File system

The CYBER file system is radically different from anything you've experienced under UNIX, DOS, or Windows. Specifically: The bizarre CPU architecture (designed for fast arithmetic and very little else) and the rest of the commands are documented elsewhere.

Entering and Compiling a FORTRAN Program

Here's how I actually entered, compiled, and saved a small FORTRAN program.

Logging in

WELCOME TO THE NOS SOFTWARE SYSTEM.
COPYRIGHT CONTROL DATA 1978, 1989.

94/03/06. 16.00.51. T020102
NETWORK OPERATING SYSTEM. 0.            NOS 2.8.1 803/803.
FAMILY:
USER NAME: guest15
PASSWORD:  your password
T020102 - APPLICATION: iaf

JSN: AAEU, NAMIAF
/
The / is the command prompt. What I typed is in lowercase, and most commands are echoed by the system in uppercase.

Editing a file

/screen,vt100                (Tell the CYBER I'm using a VT-100 terminal.)
SCREEN,VT100.
/fse,myprogf                 (Full-screen-edit the file MYPROGF.)
I never entirely figured out the full-screen editor, but fortunately, it's not necessary to do so. The command area is at the upper left corner; just move the cursor there to type commands.

HELP will get you a guide to further editing commands.
QUIT will save your program to a local file and exit the editor.

Copying from the keyboard to a file

You may prefer to type directly onto a file from the keyboard (like cat >filename in UNIX). For instance, you may be pasting your file into your Telnet session from an editor on your PC. Here's how it's done:
/copycr,input,myfile
?       program foo(output)
?       print *,"hello"
?       end
?
 EOF. 1 FILE; 0 RECORDS; 3 LINES.
/rewind,myfile
REWIND,MYFILE.
Note that empty lines are end-of-record marks when the CYBER is reading from the keyboard in this way. Make sure your program does not contain any empty lines. In FORTRAN programs, the usual alternative is to use comment lines that contain only the letter C in column 1.

The rest of my session

After editing my file with FSE, here's what I did next:
/enquire,f                        (Look at a list of my local files)

 LOCAL FILE INFORMATION.

  FILENAME  LENGTH/PRUS  TYPE  STATUS    FS  LEVEL
   FSEHELP       101     PM.*  BOI                      (used by FSE)
   FSEPROC        17     LO.   BOI                      (used by FSE)
   INPUT                 TT.                            (terminal input)
   INPUT*          1     IN.*  EOR       NAD
   MYPROGF         1     LO.   BOI                      (the file I created)
   OUTPUT                TT.                            (terminal output)
   ZZZWORK       148     LO.   EOF       NAD            (who knows?)
   ZZZZTRM         4     LO.   EOR       NAD            (who knows?)

  TOTAL = 8

/copy,myprogf,output               (Copy my file to the terminal so I can see it)
C A SAMPLE FORTRAN PROGRAM FOR THE CYBER
      PROGRAM MYPROG(OUTPUT)
      PRINT *, "HELLO, WORLD!"
      STOP
      END
 EOI. 0 FILES; 1 RECORD; 16 WORDS.

/rewind,myprogf                    (Rewind it. IMPORTANT STEP!)
REWIND,MYPROGF.

/ftn,i=myprogf,b=myprog,l=0        (Compile MYPROGF, write binary onto MYPROG, no listing)
      .008 CP SECONDS COMPILATION TIME

/myprog                            (Load and execute MYPROG)
 HELLO, WORLD!
     0.006 CP SECONDS EXECUTION TIME.

/save,myprogf=hellowf              (Store MYPROGF as permanent file HELLOWF)

/catlist                           (Look at my permanent files)
 CATALOG OF  GUEST15          FM/CYBER   94/03/06. 16.08.27.
 INDIRECT ACCESS FILES
  HELLOWF
         1 INDIRECT ACCESS FILE ON DISK.   TOTAL PRUS =         1.

/dayfile                           (View the system log of my session)
 16.01.30.AAKY.
 16.01.30.USER,GUEST15,,CYBER.
 16.01.30.ABSC,  T.
 16.01.30.$RECOVER,OP=T.
 16.01.42.SCREEN,VT100.
 16.01.56.FSE,MYPROGF.
 16.05.55.ENQUIRE,F.
 16.06.19.COPY,MYPROGF,OUTPUT.
 16.06.19. EOI ENCOUNTERED.
 16.06.19. EOI. 0 FILES; 1 RECORD; 16 WORDS.
 16.06.27.REWIND,MYPROGF.
 16.07.50.FTN,I=MYPROGF,B=MYPROG,L=0.
 16.07.51.      .008 CP SECONDS COMPILATION TIME
 16.07.55.MYPROG.
 16.07.55.  CM LWA+1 =  7636B, LOADER USED  25000B
 16.07.55.    STOP
 16.07.55.    014000 MAXIMUM EXECUTION FL.
 16.07.55.     0.006 CP SECONDS EXECUTION TIME.
 16.08.23.SAVE,MYPROGF=HELLOWF.
 16.08.27.CATLIST.
 16.08.55.DAYFILE.
 USER DAYFILE PROCESSED.

/logout                            (Goodbye, CYBER, it was nice knowing you!)
UN=GUEST15  LOG OFF  16.09.20.
JSN=AAEU     SRU-S=      3.094
CHARACTERS=    5.949KCHS
IAF     CONNECT TIME 00.07.51.
LOGGED OUT.
Connection closed by foreign host.

BASIC mode

The CYBER also has a very user-friendly mode for writing and running programs in BASIC, using line numbers for editing in the traditional way. (Commands such as SAVE and CATLIST still work.) Here's a transcript of a short BASIC session. Here my typing is in lighter type, and the system's responses are in boldface.
/basic
 OLD, NEW, OR LIB FILE:new
 FILE NAME:mybas
 READY.
10 print "This is a BASIC program"
20 print "2 + 2 = ",2+2
30 end
list
10 PRINT "THIS IS A BASIC PROGRAM"
20 PRINT "2 + 2 = ",2+2
30 END

 READY.
run
THIS IS A BASIC PROGRAM
2 + 2 =         4

 RUN COMPLETE.
logout
UN=GUEST15  LOG OFF  17.04.02.
JSN=AAEY     SRU-S=      1.056
CHARACTERS=    0.370KCHS
IAF     CONNECT TIME 00.00.53.
LOGGED OUT.
Connection closed by foreign host.
The performance of the BASIC compiler should not be underestimated. It uses full 60-bit floating-point arithmetic just like FORTRAN. And it includes the Dartmouth MAT commands for matrix arithmetic.

The predecessor of this BASIC environment was, in fact, the first programming environment that I ever used, back on one chilly day in February 1973. Enjoy!


These sessions took place on March 6, 2004. The date on the CYBER set 10 years into the past because of Y2K noncompliance. The time of day on the CYBER is German time (GMT+1), 6 hours ahead of Eastern Standard Time.

The content and opinions expressed on this Web page do not necessarily reflect the views of,
nor are they endorsed by, the University of Georgia or the University System of Georgia.