Daniel Sears
Marcia Allen
Robin Bristow
Diane Wilford
Drawings:
Annette Whelan
Copyright 1984, Silicon Graphics, Inc.
This document contains proprietary information of
Silicon Graphics, Inc., and is protected by Federal
copyright law. The information may not be
disclosed to third parties or copied or duplicated in
any form, in whole or in part, without prior written
consent of Silicon Graphics, Inc.
5001-020-001-3
Page 3
1. Introduction 1
2. Unpacking the IRIS Terminal Components 3
3. IRIS Terminal specifications 5
3.1 Hardware Components 5
3.2 Ethernet Equipment 5
3.3 Cables 7
3.4 Monitor 7
IRIS Control Panel 7
Monitor Control Panel 7
Monitor Back Panel 9
3.5 Cabinet 9
Power Switch 9
Cabinet I/O Panel 11
Cabinet Power Panel 13
Power Switch 13
3.6 Software specification 13
3.7 Documentation 16
4. Hardware Installation 17
4.1 Keyboard to Monitor Connection 17
4.2 Mouse to Monitor Connection 17
4.3 Monitor to Cabinet Video Connections 17
4.4 Monitor to Cabinet Control Cable Connection 19
4.5 Monitor to Cabinet AC Power Cable Connection 19
4.6 IRIS Terminal to Host Serial Line Connection 19
4.7 IRIS Terminal to Ethernet Connection 21
4.8 Cabinet to Floppy Disk Connection (IRIS 1000) 21
4.9 Cabinet AC Power Connection 21
5. Software Installation 23
6. Operation 25
6.1 Ethernet 25
6.2 Serial Line 26
6.3 PROM Monitor 27
6.4 Floppy Disk 27
6.5 IP/TCP 29
6.6 Monitor Adjustment 29
6.7 UNIX Demonstration Programs 30
Serial Line 31
Ethernet 32
Floppy Disk (optional) 32
This document explains how to install and operate an IRIS Terminal. It
contains step-by-step procedures for installing the components that make up
an IRIS Terminal system. Read this document carefully before installing an
IRIS Terminal.
The IRIS Terminal can be installed in different host operating system
environments. The supported environments include the UNIXl and the
VAX/VMS2 operating systems. Instructions for installing the host-resident
software in a UNIX environment are in Section 5. Instructions for installing
this software in a VAX/VMS environment are in Appendix D. Section 6
contains operation procedures (e.g. boot, Monitor adjustment, shutdown and
diagnostics) that are host-independent. UNIX-specific instructions for
compiling and running demonstration programs are in Section 6.7. VAX/VMS specific instructions are in Appendix D. The IRIS User's Guide documents the
host-resident software that allows a programmer to write application programs
with the IRIS Terminal.
The IRIS Terminal components are delivered assembled and ready for
connection with cables provided in the delivery cartons. In addition, a
magnetic tape is included with host software that resides on the host computer
and terminal software that is downloaded into the IRIS Terminal each time it is
booted.
Silicon Graphics provides a comprehensive product support and maintenance
program for the IRIS Terminal. For further information, the toll-free numbers
for Silicon Graphics Customer Service are:
Silicon Graphics Customer Service
(800) 252-0222North America (except California)
(800) 345-0222California
1. UNIX is a trademark of Bell Telephone Laboratories.
2. VAX/VMS is a trademark of Digital Equipment Corporation.
Version 1.3
Page 6
Page 7
2. Unpacking the IRIS Terminal Components
The IRIS Terminal system is shipped in two reinforced cardboard cartons. One
contains the Electronics Cabinet and the other contains the Monitor and other
components. Each component is delivered assembled and ready for connection
with the cables provided in the IRIS Terminal delivery cartons. If additional
equipment or spare parts are ordered, they will be shipped in additional
cartons.
Before installation, the delivery cartons should be inspected for damage. If any
of the cartons or their contents appear damaged, contact the carrier and Silicon
Graphics Customer Service (see Section 1). After inspection, move the cartons
to the installation site. See Table 2-1 for a list of guidelines for site selection.
Although site selection is the customer's responsibility, Silicon Graphics
representatives will provide consulting services upon request.
1. Inspect the delivery cartons for damage.
WARNING: The delivery cartons should be moved on a pallet jack
or cart capable of supporting 200 lbs. If they must be lifted, two
strong people are needed.
WARNING: Do not turn the delivery cartons on edge.
2. Move the cartons to the installation site.
3. Cut the plastic straps on the brown carton.
4. Cut the tape that seals the top of the carton, open the carton and
remove the tray containing the Keyboard, Mouse, cables and other
equipment.
5. Remove the foam spacers covering the Monitor.
6. Remove the carton by lifting it up and off the base pallet.
7. The Monitor is shipped inside a large plastic bag. Remove the
Monitor from the bag and place it on the surface where it will be
used.
WARNING: Do not attempt to pick up the Monitor by the white
Each IRIS Terminal system has four hardware components (see Figure 3-1).
•The Electronics Cabinet is a floor-standing unit with a 10-slot (IRIS
1000) or 20-slot (IRIS 1200) backplane and a power supply. The
Cabinet uses forced air cooling and is mounted on casters.
•TheMonitor is a high-resolution 19-inch color monitor.
•TheKeyboard is an 83-key up-down encoded keyboard.
•TheMouse is a 3-button mouse.
Two hardware component options are the Dial Box and Switch Box.
•TheDial Box (optional) has 8 independently programmable valuators
for sending analog information to an application program for the
IRIS Terminal.
•The Switch Box (optional) has 32 independently programmable
switches and 32 independently programmable LED indicator lights.
An 8 character LED display gives status information for the Dial Box
and the Switch Box.
21.0"
29.0"
18.0"
1.5"
1.0"
2.0"
10.0"
18.0"
20.0"
19.0"
2.0"
7.0"
27.0"
27.0"
21.0"
8.5"
3.0"
4.0"
100.0 lbs
200.0 lbs
97.0 lbs
3.0 lbs
0.5 lbs
0.8 lbs
3.2 Ethernet Equipment
The IRIS Terminal can be connected to an Ethernet local area network with an
Ethernet transceiver and drop cable.
Version 1.3
Page 10
6 IRIS TERMINAL GUIDE
IRIS Terminal Specications
Figure 3-1: IRIS Terminal System
Version 1.3
Page 11
IRIS TERMINAL GUIDE 7 IRIS Terminal Specications
•The Ethernet Transceiver routes messages between the IRIS Terminal
The Monitor has two control panels, the IRIS Control Panel on the front left
and the Monitor Control Panel on the front right. On the back of the Monitor
are several ports for receiving video signals, a power socket and a control cable
port.
IRIS Control Panel
The IRIS Control Panel has two ports for connecting the Keyboard and Mouse
to the Monitor, a
•1DINsocketlabeled
to the Monitor.
•1 slide-lockingDsocketlabeled
Mouse to the Monitor.
•1LEDlabeled
on.
•1LEDlabeled
Version 1.3
Reset
button and two indicator lights (see Figure 3-2).
Keyboard
Power
indicates that power for the Cabinet is switched
Halt
indicates that the processor is stopped.
is a port for connecting the Keyboard
Mouse
is a port for connecting the
Page 12
8 IRIS TERMINAL GUIDE
IRIS Terminal Specications
Figure 3-2: IRIS Control Panel and Monitor Control Panel
Version 1.3
Page 13
IRIS TERMINAL GUIDE 9 IRIS Terminal Specications
•1buttonlabeled
must be rebooted each time the
Reset
resets the IRIS Terminal. The IRIS Terminal
Reset
button is pushed.
Monitor Control Panel
The Monitor Control Panel has several features for adjusting the Monitor (see
Section 6.6) and a
Power
switch for controlling power for the Monitor (see
Figure 3-2).
•1knoblabeled
Brightness
adjusts the white and black levels equally.
Turning this knob clockwise increases the Monitor's brightness.
•1knoblabeled
Contrast
adjusts the white levels. Turning this knob
clockwise increases the Monitor's contrast.
•1buttonlabeled
•1 light labeled
Degauss
Health
demagnetizes the Monitor screen.
indicates that power for the Monitor is
switched on and most of the Monitor is operating properly.
•1switchlabeled
Power
controls power for the Monitor.
Monitor Back Panel
The Monitor Back Panel has several ports that connect the Monitor to the
Cabinet (see Figure 3-3).
•2 BNC sockets labeled
Ext Sync
are used for the video sync
connection from the Cabinet.
•2BNCsocketslabeled
V D
are not used.
•2 BNC sockets labeledR receive the red video signal from the
Cabinet.
•2 BNCsocketslabeledG receive the green video signal from the
Cabinet.
•2 BNC sockets labeledB receive the blue video signal from the
There are two control panels on the back of the IRIS 1000 and IRIS 1200: an I/O
Panel and a Power Panel. A
system.
Power Switch
The Power switch is located differently on the IRIS 1000 Terminal and the IRIS
1200 Terminal.
•The
Power
switch for the IRIS 1000 Terminal is located on the front
lower-left corner of the Cabinet.
•The
Power
floppy disk drive slot on the front upper-left corner of the Cabinet.
Cabinet I/O Panel
The Cabinet I/O Panel has ports for connecting the Cabinet to the Monitor and
a host computer (see Figures 3-4a and 3-4b) and several control and indicator
features.
Port 1
•
is the receptacle for the control cable that is connected
between the Monitor Back Panel and the Cabinet I/O Panel.
Port 2
•
is the receptacle for the RS-232 or RS-423 serial line to a host
computer.
Port 3
•
and
•115-pinDsocketlabeled
Ethernet drop cable.
•1flatcableconnectorlabeled
the IRIS 1000.
NOTE: the IRIS 1200 Terminal may have a
boot floppy drive installed inside the Cabinet
near the power switch.
•1 BNCsocketlabeled
from the Cabinet to the Monitor through a coaxial cable.
•1 BNC socketlabeled
signal from the Cabinet to the Monitor through a coaxial cable.
•1BNCsocketlabeled
signal from the Cabinet to the Monitor through a coaxial cable.
•1BNCsocketlabeled
signal from the Cabinet to the Monitor through a coaxial cable.
Power
switch controls power for the IRIS Terminal
switch for the IRIS 1200 Terminal is located inside the
button is located on the Cabinet I/O Panel. Pressing this
button resets the processor and this in turn resets the rest of the
system. After the
must be rebooted. This button and the
Reset
button and
Reset
button has been pressed, the IRIS Terminal
Halt
light correspond to the
Halt
light on the IRIS Control Panel on the
Monitor. Either button may be used to halt the system.
Halt
•1
•1alphanumericdiagnosticLEDlabeled
LED indicates that the processor is stopped.
Status
on the Cabinet I/O
Panel indicates system status and displays the results of startup
diagnostics (see Section 6.9 and Appendix A).
•AseriesofnineDIPswitcheslabeled
Configuration
is located on the
Cabinet I/O Panel. These switches control the IRIS Terminal's serial
line baud rate, startup diagnostics and boot environment (see
Appendix A).
Cabinet Power Panel
The Cabinet Power Panel has two power outlets and a power plug (see Figure
3-4a and 3-4b).
switch located on the front of the Cabinet controls power for the
Cabinet and the Monitor. It does not control the power for any auxiliary
equipment connected to the Cabinet through the convenience outlet.
3.6 Software Specication
The UNIX distribution tape contains host software that resides on the host
computer and terminal software that is downloaded into the IRIS Terminal
each time it is booted. See Appendix D for a description of the VAX/VMS
software distribution tape.
The software on the distribution tape is divided into four directories: boot, c, f77
and man.
boot •iris is a binary file containing software that is downloaded into the
IRIS Terminal during the boot procedure.
•Several files with .dsk suffixes are binary files containing various
demonstration programs. These files can be downloaded into the
IRIS Terminal (see Section 6.7).
c •Makele is a make description file for compiling the C version of the
Remote Graphics Library (libgl.a), the serial download program
(dliris) and some demonstration programs.
•termcap is a file containing a TERMCAP description tor the IRIS
Terminal.
•device.h is a C include file with symbolic name definitions for
devices, e.g. mouse and keyboard buttons. Inclusion of this file in
programs intended for the IRIS Terminal is optional.
•get.h is a C include file with definitions for values returned by the
Graphics Library get commands. Inclusion of this file in programs
intended for the IRIS Terminal is optional.
•gl.h is a C include file with default values for colors, screen
boundaries, etc. for the Graphics Library. This file should be
included with every program intended for the IRIS Terminal.
•boot is a Bourne Shell script that is used by the Makele to identify
the default directory for the IRIS Terminal boot programs.
•dliris.c, irisboot.h and remprom.h are source and include files for dliris,
the program used to serially download software into the IRIS
Terminal.
•io.c, lib.c, rpc.h and Xnsioctl.h are source and include files for generating
the C version of libgl.a, the Remote Graphics Library.
•sqiral.c is a C program that draws a square spiral (see Section 6.7).
•track.c is a C program that displays a box which can be moved by the
mouse (see Section 6.7).
f77 •Makele is a make description file for compiling the FORTRAN
version of the Remote Graphics Library (libgl.a), the serial download
program (dliris) and some demonstration programs.
•device.h is a FORTRAN include file with symbolic name definitions
for devices, e.g. mouse and keyboard buttons. Inclusion of this file
in programs intended for the IRIS Terminal is optional.
Version 1.3
Page 20
16 IRIS TERMINAL GUIDE
•get.h is a FORTRAN include tile with definitions for values returned
by the Graphics Library get commands. Inclusion of this file in
programs intended for the IRIS Terminal is optional.
•gl.h is a FORTRAN include tile with default values for colors, screen
boundaries, etc. for the Graphics Library. It should be included with
every program intended for the IRIS Terminal
•io.c, lib.f, rpc.h and Xnsioctl.h are source and include files for generating
the FORTRAN version of libgl.a, the Remote Graphics Library.
•curve.f is a FORTRAN program that draws curves.
•oat.f is a FORTRAN program that fills the IRIS Terminal screen with
randomly colored pixels.
•planets.f is a FORTRAN program that models a solar system.
•planets.doc is a document describing the planets program.
•sqiral.f is a FORTRAN rogram that draws a square spiral (see Section
6.7).
•star.f is a FORTRAN program that displays a star.
•track.f is a FORTRAN program that displays a box that can be moved
around the screen with the mouse (see Section 6.7).
man •man1 is a directory that contains a manual entry for dliris.
•man3 is a directory that contains manual entries for the commands
in the Graphics Library.
IRIS Terminal Specications
3.7 Documentation
The IRIS Terminal is delivered with a complete set of documentation.
•The IRIS Terminal Guide (this booklet) explains how to install and
test an IRIS Terminal
•The IRIS User's Guide describes the IRIS Graphics Library and how to
write application programs for the IRIS Terminal. It is divided into
three parts. The System Overview is a general introduction to the
IRIS Terminal's architecture and terminal software. The IRIS Graphics Library describes how to write graphics applications
programs for the IRIS Terminal. The Reference Manual describes each
command in the IRIS Graphics Library.
•TheCandFORTRANeditionsoftheIRIS Graphics Library are quick
reference cards with overviews of each command in the Graphics
Library.
Version 1.3
Page 21
4. Hardware Installation
This section describes how to install and connect the components that make up
an IRIS Terminal system (see Figures 4-1a and 4-1b). Prior to installation, each
component should be unpacked and placed near its final location. Since the
IRIS Terminal components are delivered assembled, they only need to be
connected with the cables provided in the delivery cartons.
WARNING: Do not connect the IRIS Terminal to an
external power source until each cable has been
connected and checked.
4.1 Keyboard to Monitor Connection
The Keyboard cable is connected to the IRIS Control Panel located on the lower
left front of the Monitor (see Figure 3-2).
1. Connect the DIN plug on the Keyboard cable to the DIN socket
labeled
4.2 Mouse to Monitor Connection
The Mouse cable is connected to the IRIS Control Panel located on the lower
left front of the Monitor (see Figure 3-2).
1. Connect the slide-locking D socket on the Mouse cable to the D plug
labeled
Keyboard
Monitor
on the IRIS Control Panel.
on the IRIS Control Panel.
4.3 Monitor to Cabinet Video Connections
The color-coded bundle of coaxial video cables is connected between the
Cabinet I/O Panel and the Monitor Back Panel (see Figures 3-3, 3-4a, 3-4b, 4-1a
and 4-1b).
1. For single Monitor operation, set all of the input impedance switches
75 Ω
to the
If several Monitors are connected in a series (daisy chain), set the
input impedance switches to the
Monitor, which should be set to the
Version 1.3
position.
High
position for all but the last
75 Ω
position.
Page 22
18 IRIS TERMINAL GUIDE
Hardware Installation
Figure 4-1a: IRIS 1000 Monitor to Cabinet Connections
Version 1.3
Page 23
IRIS TERMINAL GUIDE 19 Hardware Installation
2. Connect each cable end to an input socket on the Monitor Back
Panel. Since they are identical, either socket can be used.
3. Push each cable into its connector and rotate its lock into place.
4. Connect the other end of each color-coded cable to the
corresponding color output socket on the Cabinet I/O Panel.
5. Push the cable into the connector and rotate the lock into place.
4.4 Monitor to Cabinet Control Cable Connection
The Control Cable connects the Cabinet and the Monitor.
1. Connect the female end of the Control Cable to the 25-pin socket on
the Monitor Back Panel.
2. Connect the male end of the Control Cable to
I/O Panel.
3. Fix the Control Cable into place by tightening the captive screws on
each side of both plugs.
Port 1
on the Cabinet
4.5 Monitor to Cabinet AC Power Cable Connection
The Monitor power outlet is located on the Cabinet Power Panel (see Figures
3-4a and 3-4b). This switched AC outlet is controlled by the Cabinet
switch.
1. Connect the female end of the AC power cable to the
socket on the Monitor Back Panel.
2. Connect the male end of the Monitor power cable to the AC outlet
labeled
Monitor
on the Cabinet Power Panel.
Input
Power
power
4.6 IRIS Terminal to Host Serial Line Connection
The IRIS Terminal can be connected to a host computer through a serial line
(see Appendix E for a specification of the IRIS Terminal RS-232 interface).
1. Connect an RS-232 or RS-423 cable from the host computer to
on the Cabinet I/O Panel.
2. Fix the cable into place with the captive screws at each end.
3. Set the
3) on the Cabinet I/O Panel to an appropriate baud rate (see Section
6.2 and Appendix A). The serial line speed affects the time required
to download the terminal software. At least 9600 baud is
recommended.
Version 1.3
Serial Line Baud Rate
configuration switches (switches 2 and
Port 2
Page 24
20 IRIS TERMINAL GUIDE
Hardware Installation
Figure 4-1b: IRIS 1200 Monitor to Cabinet Connections
Version 1.3
Page 25
IRIS TERMINAL GUIDE 21 Hardware Installation
4.7 IRIS Terminal to Ethernet Connection
The IRIS Terminal can communicate through an Ethernet local area network.
The IRIS Terminal can be connected to an Ethernet local area network while
the network is operating.
1. Select an appropriate tap point on the Ethernet coaxial cable.
NOTE: Approved Ethernet coaxial cable is marked with rings at 8.2
foot intervals. Transceivers should be placed at these rings to
minimize the chance of transceiver reflections with phase angles that
add and cause transmission errors.
2. Tap into the Ethernet cable (instructions are included with each
transceiver).
3. Connect the transceiver to the Ethernet cable.
4. Connect the male end of the drop cable to the Ethernet port on the
Cabinet I/O Panel.
5. Connect the female end of the drop cable to the transceiver.
4.8 Cabinet to Floppy Disk Connection (IRIS 1000)
On the IRIS 1000 Terminal, a floppy disk drive can be connected to the Cabinet
with a 34-pin communications cable and a power cable.
1. Unpack the floppy disk unit.
2. Plug the floppy disk power cable into the
on the Cabinet Power Panel. (See Figure 3-4b.)
3. Plug the 34-pin blue ribbon communications cable from the floppy
disk drive into the 34-pin socket on the Cabinet I/O Panel.
3A Max
convenience outlet
4.9 Cabinet AC Power Connection
The Cabinet power socket is located on the Cabinet Power Panel.
CAUTION: Do not connect the IRIS Terminal to a
switched power outlet.
1. Connect the female end of the AC power cable to the power socket
on the Cabinet Power Panel (see Figure 3-4a and 3-4b).
2. Connect the male end of the Cabinet power cable to an appropriate
outlet. See Table 2-1 for a specification of the power requirements of
the IRIS Terminal.
Version 1.3
Page 26
22 IRIS TERMINAL GUIDE
Hardware Installation
4.10 Cabinet to Dial and Switch Box Connection (optional)
The IRIS Terminal can be connected to an optional Dial and Switch Box for
sending information to an application program for the IRIS Terminal.
1. Connect the 37-pin flat cable from the port on the Dial Box to the
bottom left port on the Switch Box.
2. Connect the 9-pin cable from the top left port on the Switch Box to
Port 2
on the Cabinet I/O Panel.
3. Plug the 3-wire AC power cable on the Switch Box into the
convenience outlet on the Cabinet Power Panel (See Figure 3-4b).
3A Max
Version 1.3
Page 27
5. Software Installation
This section contains instructions for installing host-resident software in a
UNIX environment. Instructions for installing host software in a VAX/VMS
environment are in Appendix D.
The distribution software for the IRIS Terminal is delivered on a 1600 bpi
magnetic tape in either tar or cpio format.1 This tape includes host software
that resides on the host computer and terminal software that must be
downloaded from the host computer into the IRIS Terminal each time the IRIS
Terminal is booted (see Section 3.6 for a description of the software on the
distribution tape).
In preparation for the IRIS Terminal installation, the following manuals are
useful.
[1] UNIX Programmer's Manual (4.2BSD)
University of California, Berkeley;
August 1983.
[2] Make - A Program for Maintaining Computer Programs
S. I. Feldman,
Bell Laboratories;
August 1978.
The distribution software can be stored anywhere on the host file system. For
purposes of explanation, the examples below assume that the distribution
software will be installed in a directory called /usr/iris.
1. Login to UNIX.
2. Create a directory to hold the distribution software.
$ mkdir /usr/iris
3. Change directories to the new directory /usr/iris.
$ cd /usr/iris
1. See Volume 1 of the UNIX Programmer's Manual.
Version 1.3
Page 28
24 IRIS TERMINAL GUIDE
Software Installation
4. Load the distribution tape onto a tape drive and read the
distribution software into the new directory.
$ tar x or $ cpio -i < /dev/rmt1
A label indicates the format of the software on the distribution tape.
5. Change directories to /usr/iris/c.
$ cd /usr/iris/c
6. Add the TERMCAP entry in c/termcap for the IRIS Terminal to the
terminal description data base in /etc/termcap.
7. Define the Shell variable IRISBOOT to be the directory that contains
the IRIS terminal program iris.
$ IRISBOOT=/usr/iris/boot
$ export IRISBOOT
8. Compile the Remote Graphics Library (libgl.a), the serial download
program (dliris) and some demonstration programs.
$ make all
The procedure for compiling the FORTRAN versions of these files is similar to
the procedure above. The relevant files are in /usr/iris/f77.
Version 1.3
Page 29
6. Operation
This section contains instructions for operating the IRIS Terminal. Most of
these procedures are host-independent. Section 6.2 describes how to boot the
IRIS Terminal over a serial line in a UNIX environment. Appendix D has a
similar procedure for a VAX/VMS environment. Section 6.8 has information on
compiling and running demonstration programs in a UNIX environment. For a
VAX/VMS environment, see Appendix D.
After connecting the IRIS Terminal components and installing the distribution
software on the host system, the IRIS Terminal can be booted. This involves
setting some configuration switches, turning on the power and (in some cases)
explicitly downloading the terminal software. The following four sections are
mutually exclusive.
6.1 Ethernet
Boot Environment
If the
Terminal will boot automatically over the Ethernet.
1. Connect the Ethernet drop cable to the Ethernet port on the Cabinet
I/O Panel (see Section 4.7).
2. Set the
9) to "00100" where "0" means
Appendix A).
3. Set the Monitor
to the On position.
4. Set the Cabinet
the On position.
5. The IRIS Terminal initially displays a series of dots to indicate that
downloading is underway. After about fifteen seconds, the IRIS
Terminal screen clears and a rectangle in the bottom of the screen
changes colors. This is the window for the VT-52 terminal emulator.
The IRIS Terminal will prompt for the name of the host computer.
Reply with the name of the host computer (i.e. /bin/hostname).
configuration switches are set to "00100", then the IRIS
Boot Environment
Power
Power
Connect to what host?
configuration switches (switches 5 through
Closed
and "1" means
switch located on the Monitor Control Panel
switch located on the front of the Cabinet to
Open
(see
Version 1.3
Page 30
26 IRIS TERMINAL GUIDE
Operation
6. A login prompt will appear in the upper left-hand corner of this
window.
login:
To use the IRIS Terminal, login to an account.
To reboot the IRIS Terminal, press the
Reset
button on the IRIS Control Panel
and follow the boot procedures outlined above.
6.2 Serial Line
Boot Environment
If the
Terminal will emulate a simple ASCII terminal interfaced to the host computer.
The user must then login and download the terminal software.
1. Connect a serial line from the host computer to
Cabinet I/O Panel (see Section 4.6).
2. Set the
9) to "01100" where "0" means
Appendix A).
3. Set the
and 3) to a suitable baud rate (see Section 4.6 and Appendix A). For
example, to set the baud rate to 9600 baud, set these switches to "11"
where "0" means
4. Set the Monitor
to the On position.
5. Set the Cabinet
the On position.
6. The IRIS Terminal will provide a simple ASCII terminal interface to
the host computer and display a login prompt. Login to an account
with permission to use the IRIS Terminal.
7. The command dliris downloads files into the IRIS Terminal. By
default it downloads the terminal software (iris). Section 6.7 has
other examples of downloading files with dliris.
The IRIS Terminal initially displays a series of dots to show that
downloading is underway. The time necessary for downloading the
terminal software is dependent on the baud rate of the serial line
to the host computer and the load on the host computer. For a 9600
baud connection (recommended), this time is about 5 minutes.
8. After downloading is complete, the IRIS Terminal screen will clear
and a rectangle in the bottom of the screen will change colors. This
configuration switches are set to '01100', then the IRIS
Port 2
Boot Environment
Serial Line Baud Rate
Power
Power
login:
$ /usr/iris/c/dliris iris
configuration switches (switches 5 through
Closed
and "1" means
configuration switches (switches 2
Closed
and "1" means
Open
.
switch located on the Monitor Control Panel
switch located on the front of the Cabinet to
on the
Open
(see
Version 1.3
Page 31
IRIS TERMINAL GUIDE 27 Operation
is the window for the VT-52 terminal emulator. fhe IRIS Terminal
will prompt for the name of the host computer.
Connect to what host?
Reply with serial. The window will be redrawn and a prompt will
appear in the upper left-hand corner.
To reboot the IRIS Terminal, press the
Reset
button on the IRIS Control Panel
and repeat the boot procedures outlined above.
6.3 PROM Monitor
Boot Environment
If the
will be under the control of the PROM Monitor when the power is turned on.
The PROM Monitor is a simple command interpreter through which all startup
options can be invoked.
1. Connect a serial line or Ethernet drop cable to the appropriate port
on the Cabinet I/O Panel (see Figure 3-4a and 3-4b).
2. Set the
9) to "01000" where "0" means
Appendix A).
3. Set the Monitor
to the On position.
4. Set the Cabinet
the On position.
The IRIS Terminal will initially display a PROM Monitor prompt.
iris>
See Table 6-1 for a list of the commands available through the PROM Monitor.
If the PROM Monitor gets stuck, press the
To reboot the IRIS Terminal, press the
and repeat the boot procedures outlined above.
configuration switch is set to "01000", the IRIS Terminal
Boot Environment
Power
Power
configuration switches (switches 5 through
Closed
and "1" means
switch located on the Monitor Control Panel
switch located on the front of the Cabinet to
Reset
button.
Reset
button on the IRIS Control Panel
Open
(see
6.4 Floppy Disk
Boot Environment
If the
Terminal will attempt to read a boot file called defaultboot from a floppy disk
drive. On the IRIS 1000 Terminal, the floppy disk drive must be connected
externally on top of the Cabinet (see Section 4.8). On the IRIS 1200 Terminal,
the floppy disk drive is an option that sits inside the Cabinet.
The IRIS Terminal is booted automatically from the floppy disk drive after the
IRIS Terminal is turned on. A variation of this boot procedure can be used
explicitly through the PROM Monitor (see Section 6.3).
Version 1.3
configuration switches are set to "00000", then the IRIS
Page 32
28 IRIS TERMINAL GUIDE
Operation
CommandDescription
dboot
Download a file called defaultboot from a floppy disk.
Identical to the "Floppy Disk" boot procedure (see
Section 6.4).
dboot [le]Download a file called le from a floppy disk.
dboot *
List files on a floppy disk. Press the Reset button to
return to the PROM Monitor.
help
nboot
Display a list of PROM Monitor commands.
Download a file called defaultboot over the Ethernet.
Identical to the "Ethernet" boot procedure (see Section
6.1 and 6.7).
nboot [host]:[le]Download a file called le from host over the Ethernet.
restart
termulate
Restart the PROM Monitor.
Start a simple ASCII interface to the host computer for
serial line. Identical to the "Serial Line" boot procedure
(see Section 6.2 and 6.7).
Table 6-1: PROM Monitor Commands
1. Set the
9) to "00000" where "0" means
Boot Environment
configuration switches (switches 5 through
Closed
and "1" means
Open
(see
Appendix A).
2. Remove the paper insert from the floppy disk drive before inserting
a diskette. Be sure to replace it when the disk drive is not in use.
3. Insert a diskette into the floppy disk drive.
4. (IRIS 1000) Toggle the
Power
switch on the back of the floppy disk
drive to the On position.
5. Set the
Power
switch on the Monitor Control Panel to the On
position.
6. Set the
Power
switch on the front of the Cabinet to the On position.
After the IRIS Terminal is turned on, the floppy disk drive will read
a file named defaultboot from the floppy diskette and the IRIS
Terminal will be booted automatically.
7. After downloading is complete, the IRIS Terminal screen will clear
and a rectangle in the bottom of the screen will change colors. This
is the window for the VT-52 terminal emulator. The IRIS Terminal
will prompt for the name of the host computer.
Connect to what host?
Version 1.3
Page 33
IRIS TERMINAL GUIDE 29 Operation
Reply with serial. The window will be redrawn and a prompt will
appear in the upper left-hand corner.
To reboot the IRIS Terminal, press the
Reset
button on the IRIS Control Panel
and repeat the boot procedures outlined above.
6.5 IP/TCP
The IRIS Terminal can be connected to an Ethernet local area network with the
IP/TCP protocols.
1. Connect the Ethernet drop cable to the Ethernet port on the Cabinet
I/O Panel (see Section 4.7).
2. Set the Monitor
to the On position.
3. Set the Cabinet
the On position.
4. Boot the IRIS terminal program (iris) with either the serial download
utility (dliris; see Section 6.2) or a floppy disk (see Section 6.4).
5. The IRIS terminal program will prompt to find the IRIS Terminal's
internet address: The syntax is x.x.x.x, i.e. four numbers separated
by periods. If the representation of a host name in the 4.2BSD
/etc/hosts table is 42.3, then the address given is "42.0.0.3".
6. If the network has a gateway address, it should be entered to inform
the IRIS terminal program.
7. Enter the network address of the host that the IRIS Terminal will be
connected to.
8. A login prompt will appear in the upper left-hand corner of this
window.
To use the IRIS Terminal, login to an account.
To reboot the IRIS Terminal, press the
and follow the boot procedures outlined above.
Power
switch located on the Monitor Control Panel
Power
switch located on the front of the Cabinet to
Enter local host's IP address: 42.0.0.3
Enter the local gateway's network hardware address: 0.0.0.0
Enter host name: 42.0.0.2
login:
Reset
button on the IRIS Control Panel
6.6 Monitor Adjustment
The Monitor Control Panel on the right side of the Monitor has several knobs
for adjusting the brightness and contrast of the Monitor.
Version 1.3
Page 34
30 IRIS TERMINAL GUIDE
Operation
NOTE: Color rendering and stability may drift for the
first 45 minutes after startup.
1. After the Monitor has warmed up, adjust the
Brightness
control
knob until the gray raster is barely brighter than the black areas on
the edge of the screen. Lighter brightness settings will impair image
sharpness and color fidelity.
2. Turn the
Contrast
control knob to the maximum (clockwise) setting
for optimum clarity.
3. If the color purity or convergence appear to be out of adjustment,
hold down the
Degauss
button on the Monitor Control Panel for
about 10 seconds and then release it. The image should improve
noticeably.
6.7 UNIX Demonstration Programs
After the IRIS Terminal has been booted, it can be tested by running the
demonstration programs included on the distribution tape. For C and FORTRAN
there are source files for sqiral and track in /usr/iris/c and /usr/iris/f77.
•sqiral draws a square spiral. The spiral is constructed with line
drawing commands from the IRIS Graphics Library. After the spiral
is finished, the terminal emulator window is redrawn.
•track displays a box that can be moved around the screen with the
mouse. It is a simple application of the IRIS Graphics Library object
creation and editing commands with double buffer mode. To quit
track, press all three mouse buttons simultaneously.
For FORTRAN there are also source files for curve, oats, planets and star in /usr/iris/f77.
•curve initially displays a red arrow on the screen. The mouse
controls the arrow's movement. Pushing the left mouse button
creates a small square on the screen. Lines are drawn between
squares with each additional key click.
•oats randomly fills the screen with different colored pixels. oats
also tests floating point numbers.
•star draws a series of stars. First, star initializes the color map with
247 shades of red. star then draws a star in the upper right corner
of the screen with the lightest shade. The star is redrawn with a
slight offset with each brighter shade of red. After all the stars are
drawn, star exits and the terminal emulator window is redrawn.
•planets models a solar system. See the documentation in planets.doc
in /usr/iris/f77.
Version 1.3
Page 35
IRIS TERMINAL GUIDE 31 Operation
For a more complete explanation of the IRIS Graphics Library commands used
in these programs, see the IRIS User's Guide. These programs are compiled with
the terminal software (see Section 5). To explicitly compile a C program,
Any of these demonstration programs can be terminated by pressing the
key and then a
BREAK
character (usually
CONTROL
-c).
ESCAPE
In addition to these simple demonstration programs, there are a few programs
that can be downloaded into the IRIS Terminal. These demonstration
programs are located in the directory /usr/iris/boot. Each program is named with
a .dsk suffix. The procedures for downloading these programs are outlined
below. They differ depending on whether the IRIS Terminal is connected to
the host computer with a serial line or an Ethernet connection.
Serial Line
If the IRIS Terminal is connected to the host computer via a serial line, then a
demonstration program can be downloaded in the same way as the terminal
software (see Section 6.2).
1. Set the
Boot Environment
configuration switches (switches 5 through
9) for a normal serial line boot. They should be set to "01100"
where "0" means
Closed
and "1" means
Open
(see Appendix A).
2. Login to the host computer.
login:
3. Download the demonstration programs.
$ /usr/iris/c/dliris thedemo1.dsk
The IRIS Terminal initially displays a series of dots to indicate that downloading
is underway. The introduction to the demonstration program will appear after
a few minutes. To choose a demonstration program, hold down the right mouse
button, move the cursor over a menu entry and release the button.
Version 1.3
Page 36
32 IRIS TERMINAL GUIDE
Operation
Ethernet
If the IRIS Terminal is connected to the host computer via an Ethernet local
area network, then the procedure for downloading the demonstration
programs in boot requires using the PROM Monitor (see Section 6.3).
1. Set the
Boot Environment
configuration switches (switches:; through
9) for the PROM Monitor. Thev should be set to "01000" where "0"
means
Closed
and "1" means
Open
(see Appendix A).
2. Download the demonstration program.
iris> nboot thedemo1.dsk
The IRIS Terminal initially displays a series of dots to indicate that
downloading is underway. The introduction to the demonstration program
then appears after a few seconds. To choose a demonstration program, hold
down the right mouse button, move the cursor over a menu entry and release
the button.
Floppy Disk (optional)
Some demonstration programs can be downloaded into the IRIS Terminal.
These are stored on floppy diskettes.
1. Set the
9) to "01000" where "0" means
Boot Environment
configuration switches (switches 5 through
Closed
and "1" means
Open
(see
Appendix A).
2. Remove the paper insert from the floppy disk drive before inserting
a diskette. Be sure to replace it when the disk drive is not in use.
3. Insert a diskette into the floppy disk drive.
4. (IRIS 1000) toggle the
Power
switch on the back of the floppy disk
drive to the On position.
5. Set the
Power
switch on the Monitor Control Panel to the On
position.
6. Set the
Power
switch on the front of the Cabinet to the On position.
7. Determine what files are on the diskette.
iris> d *
flight.dsk
Dboot:
To escape this "disk boot mode" press the
8. Enter a file name and press
iris> d flight.dsk
RETURN
.
Reset
button.
The IRIS Terminal initially displays a series of dots to indicate that
downloading is underway. The introduction to the demonstration programs
Version 1.3
Page 37
IRIS TERMINAL GUIDE 33 Operation
will appear after a few seconds. To choose a demonstration program, hold
down the right mouse button, move the cursor over a menu entry and release
the button.
6.8 IRIS Terminal Shutdown
The IRIS Terminal should not be left on indefinitely. However, since the
Monitor has a long warmup period, the IRIS Terminal should be left on
continuously during work hours. The IRIS Terminal can be shut down by
turning off the
Power
switch on the Cabinet. The Monitor
left on since power tor the Monitor is controlled by the Cabinet
1. Set the
Power
switch on the front of the Cabinet to the
Power
switch may be
Power
Off
switch.
position.
6.9 Diagnostics
There are two kinds of diagnostics for the IRIS Terminal.
The IRIS Terminal executes a series of processor-specific diagnostics during the
normal startup sequence. If an error is detected, an alternating status code is
displayed on the
Status
diagnostic display on the Cabinet I/O Panel. See Table
6-2 for a list of startup diagnostics. If any of these error codes are displayed,
contact Silicon Graphics Customer Service (see Section 1).
The hex code shown on the
Status
diagnostic display will change as the
startup sequence progresses. This is helpful in netermining the progress of the
startup sequence.
Checkout
Optional Startup Diagnostic
Checkout
If the
Open
position, the IRIS Terminal will write and read each processor memory
configuration switch (switch 4; see Appendix A) is set to the
location with two different values. This diagnostic should be run when the
IRIS Terminal is booted for the first time or when a problem is suspected.
Version 1.3
Page 38
34 IRIS TERMINAL GUIDE
TestError CodeDescription
Unexpected exception0,BBe prepared to catch certain
exceptions on exit of boot state.
Local memory0,CTest the minimum processor memory
size needed to operate (first 128K).
Random value write/verify test.
Refresh timer too
short
Refresh timer too long0,EThis is the other extreme of the
Context register0,6Write and read all possible values
Segment map0,7Write and read random values to all
Page map0,8Write and read random values to all
0,DTest timing and exception handling
for the memory refresh timer (arm
timer, buzz loop and check count).
refresh timer test. An exception
doesn't happen or it doesn't happen
soon enough.
(16).
segment map registers.
page map registers.
Table 6-2: Startup Diagnostics
Operation
Version 1.3
Page 39
Appendix A: Conguration Switches
SwitchNamePositionMeaning
1Reserved1
2, 3Serial line00
4Checkout0
5 - 9Boot Environment00000
Table A-1: IRIS Terminal Configuration Switches
1
01
10
11
1
00100
01000
01100
00110
all others
Leave in the
Open
position.
300 baud
19,200 baud
1200 baud
9600 baud
No additional testing.
Additional testing (time-consuming).
Floppy disk boot (see Section 6.4).
Network boot (see Section 6.1).
PROM Monitor (see Section 6.3).
Serial line boot (see Section 6.2).
IEEE-488 boot.
Undefined.
1. 1 means
Version 1.3
Open
and 0 means
Closed
.
Page 40
Page 41
Appendix B: VAX-11 Ethernet Software Installation
IRIS Terminals and Workstations can communicate through an Ethernet local
area network with the Xerox Network System1 (XNS) protocols. IRIS systems
are preconfigured to support Ethernet communication before they are shipped.
IRIS Terminals can be booted from IRIS Workstations, IRIS Workstations can
transfer files across the network, .md IRIS Terminals and Workstations can
remotely login into IRIS Workstations.
In addition, Digital Equipment Corporation VAX-112 minicomputers running
4.2BSD UNIX can communicate on the same network with IRIS Terminals and
Workstations. There are two procedures for installing network support on
VAX-11 minicomputers: installing the Ethernet software and installing an
Ethernet Controller. NOTE: If possible, an IRIS Terminal should be tested
over a serial line before connecting it to the Ethernet.
There are five steps to installing the Ethernet software.
•Installnetworkutilities.
•Bootgenerickernel.
•Testnetworkutilities.
•Installdriverandprotocolcode.
•Testnetworkutilities.
The Ethernet software must be installed by someone with systems
programming experience. This person will install a device driver for the
Ethernet Controller. These instructions assume the reader is familiar with the
following documents:
[1] Installing and Operating 4.2BSD on the VAX
S. J. Leffler and W. N. Joy,
University of California, Berkeley;
July 1983.
1. Xerox Network System is a trademark ot Xerox Corporation.
2. VAX-11 is a trademark of Digital Equipment Corporation.
Version 1.3
Page 42
38 IRIS TERMINAL GUIDE
[2] Building 4.2BSD UNIX Systems with Cong
S. J. Leffler,
University of California, Berkeley;
July 1983.
[3] 4.2BSD System Manual
W. N. Joy, et al.,
University of California, Berkeley;
July 1983.
Appendix B
B.1 Ethernet Software
The distribution tape contains all the software necessary for a VAX-11
minicomputer to communicate through an Ethernet local area network. This
software includes a device driver for the Ethernet Controller, the XNS
protocols, network server daemons and application programs. In addition, a
version of the 4.2BSD UNIX kernel is supplied with the Ethernet driver already
installed. This kernel can be booted and run on any system where a generic
4.2BSD UNIX kernel will run. It is then possible to test host Ethernet
capability without first going through the kernel installation procedure.
The files and directories mentioned below are included on a seperate
distribution tape. They can be copied anywhere on the host file system. For
purposes of explanation, they are assumed to be installed in /usr/iris/net.
There are three distribution levels: binary, driver source and protocol source.
In the software specification that follows, some files are followed with a .[co]
suffix to indicate that they are dependent on the distribution level.
boot •MAKENETDEV is a Shell script that creates the network special files
and adds appropriate lines to /etc/ttys and /etc/ttytype. MAKENETDEV takes two arguments: the major device number of
the network driver, and the number of minor devices.
•Makele is a make description file for compiling sgbounce and sgboot.
•/etc/rc.local contains commands for starting the network daemons.
•/etc/ttys is an example of the /etc/ttys file that MAKENETDEV
generates.
•sgboot.c contains source code for sgboot, the network bootserver.
•sgbounce.c contains source code for sgbounce, the network
nameserver.
cmd •Makele is a make description file for compiling the XNS network
utilities.
•xcp.c contains source code for xcp, the remote file copy utility.
Version 1.3
Page 43
IRIS TERMINAL GUIDE 39 Appendix B
•xlogin.c contains source code for xlogin, the remote login utility.
•xnsd.c contains source code for xnsd, the network utility daemon.
•xx.c contains source code for xx, the remote shell utility.
kernel •SGENERIC is a bootable 4.2BSD UNIX kernel. It differs trom the
standard distribution kernel in that an Ethernet driver and protocol
code have alreadv been installed.
•SYSCONF is an example of how the Ethernet device and XNS protocol
code is added to the system configuration file in /sys/conf.
•Xns.h contains network structure definitions tor XNS protocols.
•Xnsconn.h contains the system-specific representation for a network
connection.
•Xnsioctl.h defines the ioctl codes used by the Ethernet Controller
device driver.
•Xnstrace.h is an include file for the protocol debug/trace module.
•conf.c contains device definitions. It is a copy of the 4.2BSD file
/sys/vax/conf.c with an Ethernet character device added as major
device 40.
•les is a list of files read by /etc/cong when a new kernel Makele is
constructed. It is a copy of the 4.2BSD file /sys/conf/les with three
type codes added.
•if_il.[co] is the device driver for the Ethernet Controller. It contains
the 4.2BSD UNIX driver with a character device interface added and
some changes to call the XNS protocol routines.
•if_xns.h is an include file shared by the device driver and protocol
modules.
•mbuf.h is a copy of the 4.2BSD file /sys/h/mbuf.h with three type codes
•xns_tty.[co] provides the interface between XNS and the operating
system.
•xns_uba.[co] provides the interface between the VAX I/O hardware
and the operating system.
lib •Makele is a make description file for compiling the XNS network
library (libxns.a).
Version 1.3
Page 44
40 IRIS TERMINAL GUIDE
Appendix B
•conserr.c contains routines used by xnsd to print error routines on the
system console.
•mpr.c contains debug print routines.
•trdwri.c contains routines that provide timed system calls.
•ttymodes.c contains functions for setting terminal modes.
•utmp.c contains utility routines for manipulating the /etc/utmp file.
•xcmd.c contains functions for running a command on another host.
•xconnect.c contains functions for making connections with another
host.
•xnsle.c contains routines that find an available network special file.
•xnswrite.c contains functions for sending typed packets.
man •net.doc contains troff source for Appendix B (this document) of the
IRIS Terminal Guide.
•sgboot.1m is a manual entry for sgboot, the network bootserver.
•sgbounce.1m is a manual entry for sgbounce, the network nameserver.
•xcp.1 is a manual entry for xcp, the remote file copy utility.
•xlogin.1 is a manual entry for xlogin, the remote login utility.
•xx.1 is a manual entry for xx, the remote shell utility.
B.2 Application Software Installation
The distribution software for the VAX-11 Ethernet Software is delivered on a
1600 bpi magnetic tape in either tar or cpio format.3 The distribution software
can be stored anywhere on the host file system. For purposes of explanation,
the examples below assume that the distribution software will be installed in
a directory called /usr/iris/net.
1. Login to UNIX.
2. Create a directory to hold the distribution software.
$ mkdir /usr/iris/net
3. Change the current directory to the new directory /usr/iris/net.
$ cd /usr/iris/net
3. See Volume 1 of the UNIX Programmer's Manual.
Version 1.3
Page 45
IRIS TERMINAL GUIDE 41 Appendix B
4. Load the distribution tape onto a tape drive and read the distribution
software into the new directory.
$ tar xor $ cpio -i < /dev/rmt1
A label indicates the format of the software on the distribution
tape.
The sections that follow have instructions for installing the network include
files and installing the network library, daemons and utilities.
Network Include Files
The network include files are in net/kernel. These files must be installed before the
network library or any of the network utilities or daemons may be compiled.
1. Make a directory for the network include files.
$ mkdir /usr/include/xns
2. Copy the network include files into the new directory.
The source files for the network library (libxns.a) are in net/lib. This library must
be compiled before any of the other application software can be compiled.
1. Compile the network library.
$ cd /usr/iris/net/lib
$ make all
Network Daemons
The source files for the network daemons (sgboot and sgbounce) are in net/boot.
1. Compile the network daemons.
$ cd /usr/iris/net/boot
$ make all
2. Install the network daemons.
$ cp sgboot /etc
$ cp sgbounce /etc
Version 1.3
Page 46
42 IRIS TERMINAL GUIDE
Appendix B
Network Utilities
The source files for the network utilities (xcp, xlogin, xx and xnsd) are in net/cmd.
SGENERIC is a bootable 4.2BSD UNIX kernel. The procedures below require
the host operating system to be in single-user mode. They will verify that the
hardware on the host and the IRIS Terminal are working correctly.
1. Backup the "root" file system onto tape.
2. Install the file SGENERIC in the root directory of the host computer's
file system (or the directory where vmunix is loaded).
3. Boot SGENERIC before altering the VAX hardware.
4. After SGENERIC has been booted and UNIX is in single-user mode,
bring the system back down.
5. Install the Ethernet Controller Board (see Appendix C).
6. Boot SGENERIC again. The kernel should find the Ethernet Controller
and print its Ethernet address, UNIBUS address, and interrupt
vector during auto configuration.
B.4 Conguration and Special Files
There are several system configuration files that must be edited to allow IRIS
Terminals and Workstations to login over the network.
1. Run the MAKENETDEV Shell script. This will create network special
files and add appropriate lines to /etc/ttys. etc.ttys is an example of
the /etc/ttys file that MAKENETDEV generates. MAKENETDEV takes
two arguments: the major device number of the network driver, and
the number of minor devices. The correct use of MAKENETDEV with SGENERIC is:
Version 1.3
Page 47
IRIS TERMINAL GUIDE 43 Appendix B
# MAKENETDEV 40 32
This specifies that there are 32 special files for major device 40. The
command will create minor devices 0 through 31 and enable logins
on minor devices 1 through 15. Note that device 0 must not be used
for logins or other I/O.
2. Edit /etc/ttytype to include special device types for the IRIS Terminal.
3. Make /etc/init read /etc/ttys and start getty's for the new devices.
These daemons will allow an IRIS Terminal to download a boot file
from a VAX host and then login to that host.
6. Start the daemon for the network utilities.
# /etc/xnsd &
This daemon starts remote processes for the network utilities.
7. Test the network by copying files across the network.
# xcp foo `/bin/hostname`:/tmp/foo
# xx `/bin/hostname`:date
8. Test the IRIS Terminal by following the boot procedures in Section
6.1 and running some of the demonstration programs in Section 6.7.
This will verify that the Ethernet hardware is working correctly. If
SGENERIC works correctly, then the rest of the Ethernet software
can be installed as outlined below.
9. If the network server daemons work correctly, then append the file
net/boot/etc.rc.local to /etc/rc.local.
# cat etc.rc.local >> /etc/rc.local
The commands in this file will start the network daemons when the
system begins multi-user mode.
B.5 Kernel Installation
The distribution files in net/kernel are 4.2BSD UNIX files with only Ethernet-
specific code added. Before installing these files, check for differences (i.e. use
/bin/diff between the file on the host system and the distribution file.
Version 1.3
Page 48
44 IRIS TERMINAL GUIDE
1. The Ethernet device and XNS protocol code must be added to the
system configuration file in /sys/conf. net/kernel/SYSCONF is an example
of how this is done. The device entry for il0 is for the hardware
interface. The XNS pseudo-device selects the protocol code.
2. Check for differences between /sys/conf/les and /net/kernel/les.
3. Add the XNS-specific lines at the end of /net/kernel/les to /sys/conf/les.
4. Run /etc/cong to generate a system configuration.
# /etc/config /sys/conf [HOST NAME]
5. Check for differences between /net/kernel/mbuf.h and /sys/h/mbuf.h.
6. Add the XNS-specific lines in /net/kernel/mbuf.h to /sys/h/mbuf.h.
7. A source file for the Ethernet device driver must be put in sys/vaxif.
For a binary distribution tape, an empty source file can be created.
# touch /sys/vaxif/if_il.c
For a source distribution tape, the source file should be copied into
the appropriate directory.
# cp if_il.c /sys/vaxif
8. Install the object code for the Ethernet device driver in the kernel
configuration directory in /sys. For a source distribution tape, this
step can be skipped since the driver will be installed by the make
procedure. For a binary distribution tape, it is critical that the date
last edited for this file be more recent than the corresponding empty
source file.
# cd /usr/iris/net/kernel
# cp if_il.o /sys/[HOST NAME]
9. Create a symbolic link between the directories /usr/include/xns and
/sys/xns.
# ln -s /usr/include/xns /sys
10. Source files for the XNS protocol code xns.c, xns_subs.c, xns_tty.c and
xns_uba.c must be put in /sys/xns. For a binary distribution tape, an
11. Install the object code for the XNS protocols in the kernel
configuration directory in /sys. For a source distribution tape, this
step can be skipped since the driver will be installed by the make
procedure. For a binary distribution tape, it is critical that the date
last edited for these files be more recent than the corresponding
empty source file.
12. Check for differences between net/kernel/conf.c and /sys/vax/conf.c.
The prototype device switch is in /net/kernel/conf.c. The new character
device must appear in the data structure cdevsw in the file conf.c.
Major devices are defined in the 4.2BSD UNIX distribution as items
0 through 32. The device number for the network is 40 so that
SGENERIC can work on a system with local device drivers.
13. Add the Ethernet driver-specific lines in /net/kernel/conf.c to /sys/vax/conf.c.
14. Change the current directory to the kernel configuration directory in /sys.
# cd /sys/[HOST NAME]
15. Check the dependencies for the Makele generated by /etc/cong.
# make depend
16. Make a new kernel.
# make
17. Boot the newly created kernel and start multi-user mode.
18. Test the network by copying files across the network.
$ xcp foo `/bin/hostname`:/tmp/foo
$ xx `/bin/hostname`:date
19. Test the IRIS Terminal by following the procedures in Section 6.1.
Version 1.3
Page 50
SGBOOT(1M) Silicon Graphics SGBOOT(1M)
NAME
sgboot – provide network boot service
SYNOPSIS
sgboot [system name] [boot directory]
DESCRIPTION
sgboot is a daemon that, provide XNS boot service to IRIS Terminals on an
Ethernet local area network. This service is provided on the socket BOOT - SOCKET defined in /usr/include/xns/Xns.h. After the client obtains a connection, sgboot expects the client to supply the name of the boot file to send.
sgboot then transmits the file and closes the connection. The pathname of
the boot file may be absolute or relative to the boot directory specified on the
command line.
The system name on the command line should be identical to the kernel's
idea of the host name (i.e. /bin/hostname). This daemon is normally run in
the background. For example,
# sgboot `/bin/hostname` /usr/iris/boot &
sgboot can be started by hand, as shown above, but should normally be
started in the file /etc/rc.local.
NOTE
Multiple copies of sgboot may be running at a given time. The total number
of instances of sgboot equals the number of IRIS Terminals that may be
booted in parallel.
SEE ALSO
Silicon Graphics, Inc., IRIS Terminal Guide, Appendix B
Version 1.0 - 1 - October 1984
Page 51
SGBOUNCE(1M) Silicon Graphics SGBOUNCE(1M)
NAME
sgbounce – provide network name service
SYNOPSIS
sgbounce [system name] [boot directory]
DESCRIPTION
sgbounce is a daemon that provides name service to IRIS Terminals on an
Ethernet local area network. The system name on the command line should
be identical to the kernel's idea of the host name (i.e. /bin/hostname). sgbounce
is normally run in the background. For example,
# sgbounce `/bin/hostname` /usr/iris/boot &
sgbounce can be started by hand, as shown above, but should normally be
started in the file /etc/rc.local.
NOTE
Only one copy of sgbounce may be running at one time.
SEE ALSO
Silicon Graphics, Inc., IRIS Terminal Guide, Appendix B
sgboot(1M)
October 1984 - 1 - Version 1.0
Page 52
XCP(1) Silicon Graphics XCP(1)
NAME
xcp – remote file copy
SYNOPSIS
xcp file1 file2
xcp [ –r ] file... directory
DESCRIPTION
xcp copies files between machines. file1 is copied to file2 or file is copied to
directory/file.
Each file or directory argument is either a remote file name of the form
rhost:path, or a local file name (with a '/' inserted before any ':'s). The login
name of the user sending a file over the network must be recognized by the
remote machine or rhost may take the form rhost.rname to use rname rather
than the current login name on the remote host. xcp does not prompt for
passwords; your current local login name must exist on rhost and allow
remote command execution via xlogin(l). If path is not a full path name, it is
interpreted relative to your login directory on rhost. A path on a remote host
may be quoted (using \, ", or ') so that the metacharacters are interpreted
remotely. xcp handles third party copies, where neither source nor target
files are on the current machine.
If the argument –r is specified and any of the source files are directories, xcp
copies each subtree rooted at that name; in this case the destination must be
a directory.
SEE ALSO
xlogin(1), xx(1)
BUGS
Doesn't detect all cases where the target of a copy might be a file in cases
where only a directory should be legal.
Is confused by any output generated by commands in a .login, .profile, or
.cshrc file on the remote host.
Version 1.0 - 1 - October 1984
Page 53
XLOGIN(1) Silicon Graphics XLOGIN(1)
NAME
xlogin – remote login
SYNOPSIS
xlogin rhost
DESCRIPTION
xlogin connects your terminal on the current local host system to the remote
host system rhost.
All echoing takes place at the remote site, so that (except for delays) xlogin is
transparent. Flow control via ^S and ^Q and flushing of input and output on
interrupts are handled properly. A line of the form "~." disconnects from
the remote host.
xlogin times out after 60 seconds if no login is attempted.
SEE ALSO
xcp(1), xx(1)
BUGS
More terminal characteristics should be propagated.
October 1984 - 1 - Version 1.0
Page 54
XX(1) Silicon Graphics XX(1)
NAME
xx - remote shell
SYNOPSIS
xx host command
DESCRIPTION
xx connects to the specified host and executes the specified command. xx
copies its standard input to the remote command, the standard output of the
remote command to its standard output, and the standard error of the
remote command to its standard error. Interrupt, quit and terminate signals
are propagated to the remote command; xx normally terminates when the
remote command does.
The remote login name must be equivalent (in the sense of sh(1)) to the originating account; no provision is made for specifying a password with a
command.
If you omit comand, then instead of executing a single command, you will be
logged in on the remote host using xx(1).
Shell metacharacters which are not quoted are interpreted on the local
machine, while quoted metacharacters are interpreted on the remote
machine. Thus the command
$ xx otherhost cat remotefile > > localfile
appends the remote file remotefile to the local file localfile, while
$ xx otherhost cat remotefile "> >" otherremotefile
appends remotefile to otherremotefile.
SEE ALSO
xlogin(1), xcp(1)
BUGS
If you are using csh(1) and put an xx(1) in the background without redirecting its input away from the terminal, it will block even if no reads are posted
by the remote command.
You cannot run an interactive command (like vi(1)); use xlogin(1).
Stop signals stop the local xx process only; this is arguably wrong, but
currently hard to fix tor reasons too complicated to explain here.
Version 1.0 - 1 - October 1984
Page 55
Appendix C: Ethernet Hardware Installation
C.1 Ethernet Hardware
There are six components necessary to connect a VAX 11/780 or 11/750 to an
Ethernet local area network.
•The Ethernet Controller is a UNIBUS1-hex board for interfacing a
VAX-11/780 or VAX-l1/750 to an Ethernet local area network.
•1Ethernet Transciever taps the Ethernet coaxial cable for a connection
to a network node.
The Ethernet Controller is a UNIBUS-hex board that contains all of the data
communications controller logic necessary to interface a VAX-11/780 or VAX11/750 minicomputer to an Ethernet local area network. It is installed in the
UNIBUS subsystem on the host computer. The UNIBUS subsystem connects
peripheral devices to a VAX-11 family of minicomputers. The procedures for
installing the Ethernet Controller in the UNIBUS subsystem differ slightly
between the VAX-11/780 and the VAX-11/750.
1. Inspect the Ethernet Controller for damage.
2. Check that the switches on the Ethernet Controller are set to:
1. UNIBUS is a trademark of Digital Equipment Corporation.
Version 1.3
Page 56
52 IRIS TERMINAL GUIDE
SwitchSetting
v2301011110
v2201011111
Table C-1: Ethernet Controller Switch Settings
3. Shut down UNIX (i.e. run /etc/shutdown).
4. Prepare the UNIBUS subsystem.
VAX-11/780 a. Turn off the power on the UNIBUS subsystem
using the switch on the rear of the box.
b. Carefully slide the UNIBUS subsystem out of
the cabinet.
c. Remove the top and bottom covers of the
UNIBUS subsystem.
VAX-11/750 a. Turn off the power for the CPU.
b. Set the front panel switch to
Halt
c. Open the front -and back ends of the processor
cabinet, exposing the UNIBUS subsystem.
5. Determine an appropriate slot in the UNIBUS for the Ethernet
Controller. The Ethernet Controller will fit into one SPC slot.
6. Remove the DMA jumper (ca1 to cb1) from the selected slot.
7. Install the Ethernet Controller in the selected slot.
8. Lock down the Ethernet Controller.
9. Connect the 16-pin Ethernet cable to the Ethernet Controller.
VAX-11/780 a. Route the flat cable from the Ethernet Controller
to the back of the UNIBUS subsystem.
b. Install the flat cable from the Ethernet Controller
to the back of the UNIBUS subsystem.
c. Connect the 15-pin connector on the flat cable
to the 15-pin connector on the transceiver.
VAX-11/750 a. Install the mounting plate with the connector
to an available port slot on the rear of the
cabinet.
b. Route the flat cable from the back of the
UNIBUS subsystem to the Ethernet Controller.
Appendix C
.
Version 1.3
Page 57
IRIS TERMINAL GUIDE 53 Appendix C
c. Connect the 15-pin connector on the transceiver
to the new port.
10. Attach the transceiver to the Ethernet coaxial cable.
11. Connect the drop cable to the transceiver.
12. Restore the UNIBUS subsystem.
VAX-11/780 a. Replace the top and bottom covcrs on the
UNIBUS subsystem.
b. Slide the UNIBUS subsystem back in place.
c. Turn on the power on the UNIBUS subsystem
using the switch on the rear of the box.
VAX-11/750 a. Close the front and back ends of the processor
cabinet.
b. Set the front panel switch to
Boot
.
c. Restart the host computer.
13. Boot UNIX.
14. If UNIX operates correctly with the new interface installed, shut
down the system again and boot SGENERIC (see Section B.2).
15. If there are no problems after restarting the host computer, the
Ethernet software can be installed (see Appendix B).
Version 1.3
Page 58
Page 59
Appendix D: VAX/VMS Software Installation
D.1 VMS Software Specication
The VAX/VMS distribution tape contains software that resides on the host
computer. The procedures that follow assume that the IRIS Terminal has
already been unpacked and attached to a host computer with a serial line. See
Section 4 for instructions on how to install the IRIS Terminal hardware.
•CURVE.FOR is a demonstration program that initially displays a red
arrow on the screen. The mouse controls the arrow's movement.
Pushing the left mouse button creates a small square on the screen.
Lines are drawn between squares with each additional key click.
•DEVICE.H is an include file with device definitions, e.g. mouse
buttons. IRIS Terminal users will probably want to include this file
in an application program.
•DLIRIS.MAR serially downloads the IRIS terminal program (IRIS.)
into the IRIS Terminal.
•FLOATS.FOR is a demonstration program that randomly fills the
screen with different colored pixels. FLOATS also tests floating
point numbers.
•FRTINSTAL.COM is a command file that assembles and links the
serial download program (DLIRIS), creates the IRIS Graphics Library
(SGILIB.OLB) and compiles and links the demonstration programs
with SGILIB.OLB.
•FRTINSTAL.TXT is a text file with update notes to this appendix.
•GET.H is an include file with definitions for values returned by
the IRIS Graphics Library get commands. IRIS Terminal users will
probably want to include this file with their application programs.
•GL.H is an include file with definitions for default color map values,
screen boundaries, and function declarations. IRIS Terminal users
will probably want to include this file with their application
program.
Version 1.3
Page 60
56 IRIS TERMINAL GUIDE
Appendix D
•IO.MAR contains a set of routines that send and receive information
to and from the IRIS Terminal.
•IRIS. is the binary terminal program used with DLIRIS.
•PLANETS.DOC describes the PLANETS demonstration program.
•PLANETS.FOR models a solar system. See the file PLANETS.DOC.
•SQIRAL.FOR is a demonstration program that draws a square spiral.
The spiral is constructed with line drawing commands from the IRIS
Graphics Library. After the spiral is finished, the terminal emulator
window is redrawn.
•STAR.FOR is a demonstration program that draws a series of stars.
STAR initializes the color map with 247 shades of red. It then draws
a star in the upper right corner of the screen with the lightest shade.
The star is redrawn with a slight offset with each brighter shade of
red. After all the stars are drawn, STAR exits and the terminal
emulator window is redrawn.
•TRACK.FOR is a demonstration program that displays a blue box
that can be moved around the screen with the mouse. It is a simple
application of the IRIS Graphics Library object creation and editing
commands with double buffer mode. To quit TRACK press all three
mouse buttons simultaneously.
D.2 VMS Software Installation
The VMS distribution tape is a standard 1600 bpi BACKUP tape. The tape may
contain two BACKUP files. Only the file FORTR1C.BCK is of interest for this
distribution. This tape includes host software that resides on the host computer
and terminal software that must be downloaded from the host computer into
the IRIS Terminal each time it is booted.
The VMS distribution software should be installed on a device that is accessible
to the people who will be using the IRIS Terminal.
1. Login as the system manager.
2. Create a directory on the user disk.
$ ASSIGN (user disk name): IRIS$DISK
$ CREATE/DIRECTORY IRIS$DISK:[IRIS]
$ CREATE/DIRECTORY IRIS$DISK:[IRIS.FORTR1C]
$ SET DEFAULT IRIS$DISK:[IRIS.FORTR1C]
$ SET PROTECTION=(G:R,W:R)/DEFAULT
3. Mount the installation tape on the tape drive, with the write ring
removed and the density set at 1600 BPI.
See Section D.4 for instructions on running these demonstration programs.
D.3 VMS Boot Procedures
The procedures for booting an IRIS Terminal are host-independent for both the
Ethernet boot (see Section 6.1) and the floppy disk boot (see Section 6.4). The
serial line boot procedure is different since the download command must be
explicitly run on the VMS host. The steps that follow describe the serial line
boot procedure for VMS.
Boot Environment
If the
Terminal will emulate a simple ASCII terminal interfaced to the host computer.
The user must then login and download the terminal software.
1. Connect a serial line from the host computer to
I/O Panel (see Section 4.6).
2. Set the
9) to "01100" where "0" means
Appendix A).
3. Set the
3) to a suitable baud rate (see Section 4.6 and Appendix A). For
example, to set the baud rate to 9600 baud, set these switches to "11"
("0" means
4. Set the Monitor
to the On position.
5. Set the Cabinet
the On position.
6. The IRIS Terminal will provide a simple ASCII terminal interface to
the host computer and display a login prompt. Login to an account
with permission to use the IRIS Terminal.
Version 1.3
configuration switches are set to "01100", then the IRIS
Port 2
on the Cabinet
Boot Environment
Serial Line Baud Rate
Closed
Power
Power
configuration switches (switches 5 through
Closed
and "1" means
configuration switches (switches 2 and
and "1" means
Open
.
switch located on the Monitor Control Panel
switch located on the front of the Cabinet to
Open
(see
Page 62
58 IRIS TERMINAL GUIDE
USERNAME: IRIS
PASSWORD:
7. Set the default directory to the directory containing the IRIS Terminal
software.
$ SET DEFAULT IRIS$DISK:[IRIS.FORTR1C]
8. Define the symbol IRIS$INPUT to be IRIS, the binary terminal
program.
$ DEFINE IRIS$INPUT IRIS.
9. Set the terminal characteristics to emulate a VT-52 terminal.
$ SET TERM/VT52
10. Run the DLIRIS program to serially download the binary terminal
program into the IRIS Terminal.
$ RUN DLIRIS
The IRIS Terminal initially displays a series of dots to show that
downloading is underway. The time necessary for downloading the
terminal software is dependent on the baud rate of the serial line
to the host computer and the load on the host computer. For a 9600
baud connection (recommended), this time is about 5 minutes.
11. After downloading is complete, the IRIS Terminal screen will clear
and a rectangle in the bottom of the screen will change colors. This
is the window for the VT-52 terminal emulator. The IRIS Terminal
will prompt for the name of the host computer.
Connect to what host?
Reply with serial. The window will be redrawn and a prompt will
appear in the upper left-hand corner.
To reboot the IRIS Terminal, press the
Reset
button on the IRIS Control Panel
and repeat the boot procedures outlined above.
Appendix D
D.4 VMS Demonstration Programs
After the IRIS Terminal has been booted, it can be tested by compiling and
running the demonstration programs included on the distribution tape. For
a more complete explanation of the IRIS Graphics Library commands used in
these programs, see the IRIS User's Guide.
•CURVE initially displays a red arrow on the screen. The mouse
controls the arrow’s movement. Pushing the left mouse button
creates a small square on the screen. Lines are drawn between
squares with each additional key click. To exit CURVE, press all
three mouse buttons.
Version 1.3
Page 63
IRIS TERMINAL GUIDE 59 Appendix D
•FLOATS randomly fills the screen with different colored pixels.
FLOATS also tests floating point numbers.
•PLANETS models a solar svstem.
•SQIRAL draws a square spiral. The spiral is constructed with line
drawing commands from the IRIS Graphics Library. After the spiral
is finished, the terminal emulator window is redrawn.
•STAR draws a series of stars. First, STAR initializes the color map
with 247 shades of red. STAR then draws a star in the upper right
comer of the screen with the lightest shade. The star is redrawn
with a slight offset with each brighter shade of red. After all the
stars are drawn, STAR exits and the terminal emulator window is
redrawn.
•TRACK displays a box that can be moved around the screen with the
mouse. It is a simple application of the IRIS Graphics Library object
creation and editing commands with double buffer mode. To quit
TRACK, press all three mouse buttons simultaneously.
These demonstration programs serve as tests of the IRIS Terminal and the IRIS
Graphics Library. They are compiled and linked with the IRIS Graphics
Library (SGILIB.OLB) by the command script FRTINSTAL.COM. The
demonstration programs can be run with a single command. For example,
$ RUN SQIRAL
The source files for each demonstration program are included on the distribution
tape. Here is an example of how to compile and link a demonstration program
with the IRIS Graphics Library.
1. Compile a demonstration program. For example,
$ FORTRAN/F77/NOSTANDARD/I4/0PTIMIZE SQIRAL
2. Link the object module with the IRIS Graphics Library. For
example,
$ LINK SQIRAL,SGILIB/LIB
3. Run the executable module. For example,
$ RUN SQIRAL
Any of these demonstration program can be terminated by pressing
the
ESCAPE
key and then a
BREAK
character (usually
CONTROL
-c).
In addition to these simple demonstration programs, there are demonstration
programs that can be downloaded into the IRIS Terminal over a serial line with
DLIRIS or from a floppy disk.
Version 1.3
Page 64
60 IRIS TERMINAL GUIDE
Appendix D
Serial Line
If the IRIS Terminal is connected to the host computer via a serial line, then a
demonstration program can, be downloaded in the same way as the terminal,
software (see Section D.3).
1. Set the
Boot Environment
configuration switches (switches 5 through
9) for a normal serial line boot. They should be set to "01100"
where "0" means
Closed
and "1" means
Open
(see Appendix A).
2. Login to the host computer.
USERNAME: IRIS
PASSWORD:
3. Set the default directory to the directory containing the IRIS Terminal
software.
$ SET DEFAULT IRIS$DISK:[IRIS.FORTR1C]
4. Define the symbol IRIS$INPUT to be the name of the demonstration
program.
$ DEFINE IRIS$INPUT FLIGHT.
5. Download the demonstration programs.
$ RUN DLIRIS
The IRIS Terminal initially displays a series of dots to indicate that downloading
is underway. The introduction to the demonstration program will appear after
a few minutes. To choose a demonstration program, hold down the right mouse
button, move the cursor over a menu entry and release the button.
Floppy Disk
Some demonstration programs can be downloaded into the IRIS Terminal.
These are stored on floppy diskettes.
1. Set the
9) to "01000" where "0" means
Boot Environment
configuration switches (switches 5 through
Closed
and "1" means
Open
(see
Appendix A).
2. Remove the paper insert from the floppy disk drive before inserting
a diskette. Be sure to replace it when the disk drive is not in use.
3. Insert a diskette into the floppy disk drive.
4. (IRIS 1000) toggle the
Power
switch on the back of the floppy disk
drive to the On position.
5. Set the
Power
switch on the Monitor Control Panel to the On
position.
Version 1.3
Page 65
IRIS TERMINAL GUIDE 61 Appendix D
6. Set the
Power
switch on the front of the Cabinet to the On position.
7. Determine what files are on the diskette.
iris> d *
flight.dsk
Dboot:
To escape this "disk boot mode" press the
8. Enter a file name and press
iris> d flight.dsk
RETURN
.
Reset
button.
The IRIS Terminal initially displays a series of dots to indicate that downloading
is underway. The introduction to the demonstration progams will appear after
a few seconds. To choose a demonstration program, hold down the right mouse
button, move the cursor over a menu entry and release the button.
Version 1.3
Page 66
Page 67
Appendix E: IRIS Terminal-Host RS-232 Interface
E.1 Hardware Interface Assumptions
An IRIS Terminal can be serially connected to a host computer through
on the Cabinet I/O Panel. This port is a Data Terminal Equipment (DTE) type
RS-232 port. A "null modem" cable is required to connect an IRIS Terminal to
most hosts. A "straight over" cable may be used to connect the IRIS Terminal
to a modem, with the exception that the IRIS Terminal does not provide
Request to Send (RTS) or Clear to Send (CTS) support.
The IRIS Terminal asserts the Data Terminal Ready (DTR) signal on pin 20. This
is provided for hosts that expect to see Data Carrier Detect (DCD) on pin 8
and/or Data Set Ready (DSR) on pin 6. The IRIS Terminal does not require the
DCD or DSR signals for a serial line connection. It will operate with a threewire connection (Transmit Data on pin 2, Receive Data on pin 3 and Signal Ground on pin 7). Typically, to connect a modem to the IRIS Terminal, a cable
is required with pins 4 and 5 connected on the modem end.
E.2 Software Interface Assumptions
If the host has sustained output, the IRIS Terminal will attempt to perform
how control on data sent to it from the host. The IRIS Terminal sends the
ASCII characters XOFF (Control-S) and XON (Control-Q) to the host to signal Stop Data Transmission and Resume Data Transmission respectively.
Data sent from the IRIS Terminal to the host is regulated in a software
handshake between the Host Graphics Library routine and the IRIS Terminal.
This handshake is based on a series of block transfers of data, each preceded
by an acknowledge from the Host Graphics Library routine receiving the data.
That is, if a Graphics Library routine causes the IRIS Terminal to return a large
block of data, the Host Graphics Library routine allows a small block of data at
a time to be sent to it from the IRIS Terminal, and allows the next block to be
sent by sending an ACK character to the IRIS Terminal. Graphics Library
routines like readpixels perform this kind of flow control. The IRIS Terminal
assumes that 50 characters may be sent to the host at a time. This limitation is
transparent to the user in an application program, since the Graphics Library
routine does the work.
Port 2
Version 1.3
Page 68
64 IRIS TERMINAL GUIDE
Given the above system level assumptions, the host must have an ASCII
terminal driver which suspends and resumes data transmission when
XON/XOFF are sent, and which is capable of buffering at least 50 characters
from the terminal when the user's application program is swapped out.
Appendix E
Version 1.3
Page 69
Appendix F: IRIS Serial Protocol Description
F.1 Overview
This document describes the set of routines that must be implemented on each
host/operating system combination to communicate with the IRIS.
The IRIS distribution tape contains a file (io.c) with the source code for such an
implementation of these communication routines in C for UNIX. The protocol
documented here is subject to change without notice.
The IRIS serial protocol is basically the same whether it is run on a serial line or
over an Ethernet. We assume that the communications medium is error-free.
This is achieved on the Ethernet using the XNS or IP/TCP protocols to support
an error-free byte stream, and is usually true of RS-232 direct connections to a
host.
The protocol is designed so that if no special escape characters are sent, the
IRIS will behave like a standard terminal connected to the host running full duplex to a serial or network port. Characters typed on the IRIS keyboard are
transmitted directly to the host, and characters received from the host are
interpreted in the same way as they would by a DEC VT52 terminal. Thus,
when the IRIS terminal program is loaded, the IRIS can be used as a standard
terminal.
All graphical communication is initiated by the host. In the vast majority of
cases, the host will send a graphics escape character (Control-P = DLE = 0x10)
to the IRIS, followed by a graphical command, and after processing the
command, the IRIS reverts immediately to its state as a standard terminal. In
the discussion that follows, we call these two modes graphics mode and
terminal mode. The IRIS is in graphics mode only between the time it receives
the graphics escape character and the time that the graphical interaction is
complete.
More complicated graphical transactions are possible — the graphics command
may require the IRIS to return some information to the host while in graphics
mode (the viewing matrix, some feedback information, etc.), and in this case,
the IRIS remains in graphics mode until the entire transaction is complete. The
IRIS never initiates a graphical transaction.
Version 1.3
Page 70
66 IRIS TERMINAL GUIDE
With one exception, while the IRIS is in graphics mode, no characters typed by
the user are sent to the host. (The characters may be queued up by the
Remote Graphics Library and sent to the host when a request arrives for them,
but they are not sent as soon as they are typed.) If the user wishes to send a
character to the host (for example to interrupt some run-away process), an
escape character is typed (currently ESCAPE = ASCII 0x1B), and the next
character typed is transmitted.
Appendix F
F.2 The Remote Graphics Library
The Host Graphics Library has three parts—the graphics stubs, the
communication routines, and the system interface routines. The graphics stubs
are quite simple (in fact, they are generated automatically in different
languages from a description of their parameters). For example, the move(x,
y, z) command simply makes calls on the communication routines to send the
graphics escape character, the move token, and then three floating-point
numbers. The getmatrix(&matrix) command calls communication routines to
send the escape character, the getmatrix token, and then to receive an array of
floating point numbers. Other graphics commands may have slightly more
complicated interactions, but all of them do their real work by calling on the
communications primitives.
The communications library includes routines to send and receive bytes and
arrays of bytes, short's and arrays of short's, oat's and arrays of oat's, and so
on. Another routine sends the graphics escape character and a graphics
command code. Finally, five routines in the IRIS Graphics Library must be
handled in a special way (see Section F.4).
The system interface routines include a pair of functions to convert from the
host's noating point format to IEEE and the reverse, one to nush the graphics
stream (assuming it is buffered), routines to initialize the network, and others
to change the communication mode (from 6 bit to 8 bit—described later).
Most of the rest of the document is a detailed description of the actions of the
communication routines.
F.3 Slow and Fast Communication
In order to be compatible with as many host/operating system combinations
as possible, the IRIS Graphics Library makes the assumption that it may be
possible to send only 6 bits of information per character. The host may require
parity, and it may not be possible to send certain of the other 7 bit
combinations. When communications start up, they do so in this mode.
If the host can be configured to send binary data, the command setfastcom()
should be written to put the communication line in binary mode. In the
example at the end of this document, the routine is quite simple, since UNIX is
automatically in this mode. On other operating systems, this might involve a
Version 1.3
Page 71
IRIS TERMINAL GUIDE 67 Appendix F
system call. setslowcom() has the opposite effect.
Both of these routines (and others) call the routine netinit() that sends 50
nulls to the terminal. 50 nulls is longer than any possible graphical transaction,
so no matter what state the terminal was in, this will make sure that it is put in
terminal mode. (If it was in graphics mode, half-finished with an array
transmission, this will cause an error and force the IRIS into terminal mode.)
putgchar() is the routine that is called to send a character to the IRIS. In the
attached example, it implements a simple buffer that guarantees that any
graphics command will not be broken across a buffer boundary. Thus, at the
end of each buffer transmission, the IRIS will be in terminal mode. flushg()
is an internal routine to flush the host buffers out to the IRIS.
F.4 Special IRIS Graphics Library Commands
The five routines ginit(), gexit(), greset(), gfinish(), and gflush() should
be implemented as shown in the included example. The automatically
generated graphics stubs include calls to xginit() and xgreset().
F.5 Echo Control
The routines echoff() and echon() should make the operating system
dependent calls to turn off or on local echoing so that when the IRIS is sending
information back to the host, the host will not try to echo it. This may not be
necessary for operating systems that provide a non-echoing read.
F.6 Floating Point Number Conversion
The routines IEEE2F() and F2IEEE() convert from the IEEE floating point
format to the host's internal floating point format, and vice-versa.
F.7 Data Transmission Routines
The remainder of the communications routines simply transmit and receive
data. In order to accommodate different hosts, all data is assumed to be sent
in the IRIS format. The IRIS has a 68000 or 68010 with its own peculiar byte
orderings.
F.8 IRIS Memory Organization
Suppose that the four hexadecimal values 0x00, 0x01, 0x02, and 0x03 are stored
in the IRIS in such a way that 0x00 is stored in byte 0, 0x01 in byte 1, and so
on. If we read address 0 as a word (16 bits), the IRIS will see the value 0x0001.
The word at address 2 is 0x0203. The long word (32 bits) at address 0 is
0x00010203. (On a DEC-11 machine, for example, the words at 0 and 2 would
be 0x0100 and 0x0302, and the long at address 0 would be 0x03020100.)
Version 1.3
Page 72
68 IRIS TERMINAL GUIDE
Appendix F
F.9 Six-bit and Eight-bit Transmission
The six-bit values are guaranteed to be standard ASCII printing values between
space (0x20) and '_' (0x60). To send a six-bit value, add 0x20 to it. To interpret
a received character as a six-bit value, subtract 0x20, and mask off all but the 6
low-order bits. Eight-bit values are simply transmitted as is. In six-bit mode,
all data items are transmitted 6 bits at a time, beginning with the 6 low-order
bits. For example, the word 0x1234 is sent as the following sequence of bytes:
0x54 = 'T', 0x28 = '(', and finally 0x21 = '!'. In binary, 0x1234 =
0001001000110100. The 6 bit chunks (from right to left) are: 110100, 001000 and
000001 (the last is padded with 2 zeroes). We then add 0x20 to each, giving:
0x54, 0x28 and 0x21.
Eight-bit values are sent beginning with the high-order bytes so that the IRIS
can simply slap them into memory in the order that they arrive.
F.10 Protocols
gcmd() sends an eight-bit graphics code, preceded by the graphics escape
character (0x10).
sendo() and sendb() send a boolean and a character (byte), respectively. The
IRIS considers a boolean to be exactly the same as a character. where 0x00 is
false, and 0x01 is true. Thus the two routines in the example are identical.
sends(), sendl, and sendf send a short (16 bits), a long (32 bits), and a float
(32 bits, IEEE format), respectively.
The corresponding routines to receive a boolean, a byte, a short, a long, and a
float are recO, recB, recS, recL, and recF, respectively. All are implemented
in a straightforward manner.
The most complicated protocols are those associated with the sending and
receiving arrays. Consider first the routines that send arrays to the IRIS. The
routines are sendos(), sendbs(), sendqs(), sends(), sendls(), and sendfs().
These routines send, respectively, an array of boolean's, byte's, Fontchar's, and
arrays of short's, long's and float's.
All of the commands take the array as the first argument and the number of
items of the appropriate type to send as the second argument. The IRIS has a
single receive array routine, and it expects an array of longs. Thus, the host
routine has the responsibility for arranging the information into longs so that
when placed in the IRIS, it will be interpreted correctly. The only tricky one is
sendqs()—the routine that sends an array of Fontchars. Each of the routines
that sends arrays figures out the minimal number of longs that must be sent to
transmit all of the information, and sends them using the sendl() primitive
described above. Every 8 longs, a '.' is sent for synchronization. Thus a long
array transmission consists of groups of 48 bytes of information (in the six-bit
case), followed by a synchronization character. (This is why 50 nulls are sent
during initialization.)
Version 1.3
Page 73
IRIS TERMINAL GUIDE 69 Appendix F
sendc() sends a character string. On the IRIS, character strings are just null-
terminated arrays of characters, so the example code simply sends it exactly as
if it were an array of bytes. Other languages and operating systems may have
to massage strings a bit more before sending them.
The routines to receive arrays include recOs(), recBs(), resSs(), recLs(), and
recFs() to receive arrays of boolean's, byte's, short's, long's, and float's,
respectively. Each takes as a parameter an array for the results. The first thing
each routine does is to receive a long telling the number of items of that type
will be sent. Next comes the graphics escape character, followed by enough
longs (all sent 6 bits at a time) to get the entire array. Every eighth item
(beginning with the first) is followed by a carriage-return (0x0d). After
receiving the carriage-return, the host replies with a '.' for synchronization.
This continues to the end of the array, and the host must be responsible for
writing the exact number of items into memory (for example, if only one byte is
sent, the IRIS will send it as the first of a long, and the host must write exactly
one byte into the user's array).
F.11 Examples
This section includes a number of examples against which the routines above
can be checked.
IEEE Format
Following are a number of floating point numbers expressed in IEEE floating
point format.
1
1. "A Proposed Standard for Binary Floating Point Arithmetic", Computer, March, 1981.
What follows are a number of small programs that call a variety of routines in
the Remote Graphics Library. As a result of these calls, a certain sequence of
bytes should be put out on the serial line or network.
The programs below are written in C, but it should be simple to transliterate
them to another language. Similarly, the files io.c and lib.c will be io.f and lib.f
in FORTRAN, etc. In most cases, the programs do not do anything sensible
graphically; they merely illustrate the graphics protocol in as many situations
as possible.
Example 1
main()
{
ginit();
color(RED);
clear();
gexit();
}
The program above causes the following bytes to be sent out:
Version 1.3
Page 75
IRIS TERMINAL GUIDE 71 Appendix F
123456789 1011 1213 141516
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
020
\0
\0
\0
\0
\0
8
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
\0
020
020
3
!
020
end
ginit() (in the file io.c) calls netinit() which first sends out 50 nulls, and
B
\0
!
\0
\0
\0
then makes a call to setslowcom(). setslowcom() calls gcmd(0). Then ginit() calls
xginit() which calls gcmd(83). gcmd() puts a 12 bit number out on the serial
line 6 bits at a time, preceded by the graphics escape character which is ASCII
^P = DLE = 16 (decimal) = 020 (octal). Each six-bit pattern has 040 (octal)
added to it so that it is in the range of printable characters.
In the example above, the nulls are represented by \0, the DLEs by 020, and
every other character by itself. The blanks in the table are ASCII spaces (040
octal). The string "end" marks the end of the table. In the case above it is
obviously necessary, since the final character sent is a space. Future examples
will omit the first three lines of nulls, since ginit() will always be called first,
so every example will begin with 2 nulls. Finally, note that there are exactly 16
entries in each line - this is important if the lines happen to end with spaces.
In this example only we shall explain one command in some detail; almost all
of the others can be worked out in the same way from the files lib.c and io.c.
Consider the command color(RED). RED is the constant 1, so this is
equivalent to the call color(1). In lib.c, the color routine looks something like
this:
color(arg1)
short arg1;
{
gcmd(34);
sends(arg1);
}
gcmd() sends a DLE (= 020), followed by 34 (= 100010 binary) sent in two six -
bit chunks. First the low-order 6 bits are sent after adding on 100000 (binary)
giving 1000010 (binary) = 0102 (octal) = ASCII 'B'. The six high-order bits are
all zero, so adding 100000 (binary) to it gives an ASCII' '(space). gcmd() thus
sends DLE, then 'B', then a space.
sends() sends a 1 as 2 six-bit chunks followed bv a two-bit chunk (low-order
bits first). The chunks are treated exactly the same way as the gcmd() does,
and the net result is a '!' followed by two spaces.
gexit() sends nothing—it just causes any host-buffered characters to be
The generic IRIS Terminal distribution tape contains example files for
implementing the IRIS Graphics Library on unsupported operating systems. In
addition, a serial download program like dliris may also be needed. See the
source file for dliris.c on the standard distribution tape or dliris.f on the generic
distribution tape.
Tape Format
1600 bpi
9 track
ASCII format
1 tape mark between files
Table G-1: Generic Distribution Tape Format
C Include Files
•device.h contains symbolic name definitions for devices, e.g. mouse
and keyboard buttons.
•get.h contains definitions for values returned by the Graphics Library
get commands.
•gl.h contains default values for colors, screen boundaries, etc. for the
Graphics Library.
C Demonstration Programs
•sqiral.c draws a square spiral.
•track.c displays a box which can be moved by the mouse.
UNIX/C Graphics Library Source Files
•io.c is a UNIX/C implementation of the routines that communicate
between the IRIS Terminal and the host. See Appendix F.
•lib.c contains function definitions for the Graphics Library.
•rpc.h contains remote procedure call command definitions for io.c.
See Appendix F.
33 files
No tabs
Unlabeled
BLKSIZE = LRECL = 80
Version 1.3
Page 86
82 IRIS TERMINAL GUIDE
FORTRAN Include Files
•device.h contains symbolic name definitions for devices, e.g. mouse
and keyboard buttons.
•get.f contains definitions for values returned by the Graphics Library
get commands.
•gl.f contains default values for colors, screen boundaries, etc. for the
Graphics Library.
FORTRAN Demonstration Programs
•planets.f models a solar system. See the file planets.doc.
•sqiral.f draws a square spiral.
•track.f displays a box which can be moved by the mouse.
•star.f displays a series of stars.
•curve.f draws curves.
•oats.f fills the IRIS Terminal screen with randomly colored pixels.
UNIX/FORTRAN Graphics Library source Files
•fsys.c contains system-dependent I/O routines.
•io.h contains system-dependent I/O definitions.
•io.f is a UNIX/FORTRAN implementation of the routines that
communicate between the IRIS Terminal and the host. See
Appendix F.
•lib.f contains function definitions for the Graphics Library.
•rpc.h contains remote procedure call command definitions for fsys.c.
See Appendix F.
Generic Include Files
•device.prim contains device definitions to generate an include file like
device.h for different languages.
•get.prim contains get command definitions to generate an include file
like get.h for different languages.
•gl.prim contains Graphics Library definitions to generate an include
file like gl.h for different languages.
Generic Graphics Library Source Files
•lib.prim contains language-independent descriptions of what data is
transferred to and from the IRIS Terminal when each graphics
primitive is executed by a program running on the host. It is used
to generate lib.c and lib.f.
Appendix G
Version 1.3
Page 87
•remprom.prim contains PROM communication detinitions to generate
•rpc.prim contains remote procequre call command definitions to
Miscellaneous
•escape.doc contains a list of the Graphics Library functions and their
•planets.doc describes the planets demonstration program.
•protocol is a document that describes the implementation of the
•Generic.source is for internal identification purposes.
•Generic.tbl contains a description of the files on the distribution tape.
•Tape.list is for internal identification purposes.
•Tape.source is for internal identification purposes.
IRIS TERMINAL GUIDE 83 Appendix G
an include file like remprom.h for different languages. These
definitions are used to create a serial download program like dliris.
generate an include file like rpc.h for different languages. Thhese
definitions are used in the I/O routines that must be implemented
for each host operating system. See Appendix F.
associated escape sequences. See Appendix F.
routines that communicate between the IRIS Terminal and the host.
See Appendix F.
Version 1.3
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.