Trailing-Edge
-
PDP-10 Archives
-
BB-D351C-SM_3-16-83
-
documentation/d60spd.mem
There are 6 other files named d60spd.mem in the archive. Click here to see a list.
CHAPTER 1
INTRODUCTION
D60SPD is a DECsystem-10 program to measure DN60
performance. The following functions are available:
1. Line width
2. Buffer size
3. Beginning address of the buffer in relation to a
page boundry
4. Number of bytes per buffer
5. Carriage control character
6. Character range when doing output using the
internal ripple pattern character generator
7. Use of internal character generator or a disk file
for output
8. Destination of the input data - whether to a device
or the bit bucket
CHAPTER 2
COMMANDS
D60SPD uses a verb type command decoder and dispatches to
the appropriate routine to perform the command. Parameters
which must be set before issuing commands to the DN60
include the DN60 number, (or DL10 port number), line number,
and the device number. Once any one of these is set it
remains set unless changed by a command, so therefore once
they are set it will not be necessary to include these in
any commands, unless a change is desired. The following is
a list of available commands:
ABORT abort input and/or output
AUTO execute D60SPD commands from a file
DDT enter DDT if it is loaded
EOF send a EOF if doing output
EXIT exit D60SPD
HELP type D60SPD.HLP
INPUT receive input from the DN60
NOTYPE ignore any typeahead during runtime
OUTPUT output to the DN60
PARAM print out the CAL11. parameter block
RESTART restart D60SPD
SET perform setup and issue commands
STATUS read DN60, line, and device status
TYPEAH allow typeahead during runtime
WHAT print port number, line number, and device
number
CHAPTER 3
SET COMMANDS
The SET command is used to issue commands to the DN60 and to
provide D60SPD with the Port, Line, and Device numbers. The
following SET commands are available:
1. SET PORT
2. SET LINE
3. SET DEVICE
4. SET SIMULATE
5. SET SUPPORT
3.1 SET PORT COMMAND
form SET PORT:o/LINE:d/DEVICE:d
The SET PORT command is used to tell D60SPD which DL10 port
or DTE number, line, and device it will be communicating
with. The switches, /LINE and /DEVICE are optional. The
range of port numbers are 0-7 for a DL10 and 10-13 for a
DTE20.
examples:
SET PORT:1
SET PORT:1/LINE:2
SET PORT:13/LINE:5
SET PORT:7/LINE:1/DEVICE:1
SET COMMANDS Page 3-2
3.2 SET LINE COMMAND
form SET LINE:d/CMD:d/optional CMD switches
The SET LINE command is used to tell D60SPD which line
number it will be communicating with and if the optional
switch /CMD:d is included, that command will be issued to
the DN60. The port number must be set prior to issuing this
command.
CMD 0 Illegal command
1* Enable the line
/TERMINAL:d 0 = unknown
1 = IBM 3780
2 = IBM 2780
3 = HASP multileaving
/FLAGS:d 1 = simulate
2 = primary
2 Set DTR
3 Abort all data transfers and hang up
4 Disable the line
5* Set clear to send delay
/CSD:d number of jiffies to delay
6* Set the number of bytes in the silo warning
area
/SILWAR:D number of bytes of silo warning
area
* indicates additional switches associated with
/CMD
examples:
SET LINE:1
SET LINE:1/CMD:2
SET LINE/CMD:2
SET LINE/CMD:1/TERMINAL:1/FLAGS:1
SET LINE/CMD:5/CSD:3
3.3 SET DEVICE COMMAND
form SET DEVICE:d/CMD:d/optional CMD switches
The SET DEVICE command is used to tell D60SPD which device
number it will be communicating with and if the optional
switch /CMD:d is included, that command will be issued to
the DN60. The port and line numbers must be set prior to
issuing this command.
CMD 0 Illegal command
1* Set characteristics
/DEVTYP:d 0 = unknown
SET COMMANDS Page 3-3
1 = console input
2 = console output
3 = card reader
4 = line printer
5 = card punch
2* Set number of records per transmission block
/RECORDS:d
3 Dump output buffers
4 Clear input permission was requested
5 Reserved
6 Set "interpret carriage control on input" (
be a printer )
7 Clear "interpret carriage control on input"
8 Set "interpret carriage control on output"
9 Clear "interpret carriage control on output"
10 Set "output transparent BSC"
11 Clear "output transparency"
12* Specify output component selection
/COMPCD:d 1 = printer
2 = punch
13 Don't do output component selection
14* Set printer line counter
/PLC:d
15 Disable printer line counter overflow
16* Set max transmission block size
/BUFSIZ:d
17 Do space compression on output
18 Don't do space compression on output
19 Use old protocol
20 Don't use old protocol
21 Request output permission
22 Grant input permission
23 Signal output EOF
24 Clear output EOF complete
25 Signal output abort
26 Clear output abort complete
27 Clear input EOF complete
28 Signal input abort
29 Clear input abort complete
* indicates additional switches associated with
/CMD
examples:
SET DEVICE:3
SET DEVICE:2/CMD:25
SET DEVICE/CMD:25
SET DEVICE:1/CMD:16/BUFSIZ:512
SET COMMANDS Page 3-4
3.4 SET SIMULATE COMMAND
form SET SIMULATE/PORT:o/LINE:d/DEVICE:d/2780 or /3780
The SET SIMULATE command is used to define a particular
port, line, and device to be a 2780 or 3780 in SIMULATE
mode. The default is 3780 if the /2780 or /3780 switch is
not included.
examples:
SET SIMULATE/PORT:1/LINE:2/DEVICE:1/3780
SET SIMULATE
SET SIMULATE/2780
3.5 SET SUPPORT COMMAND
form SET SUPPORT/PORT:o/LINE:d/DEVICE:d/2780 or /3780
The SET SUPPORT command is used to define a particular port,
line, and device to be a 2780 or 3780 in SUPPORT mode. The
default is 3780 if the /2780 or /3780 switch is not
included.
examples:
SET SUPPORT/PORT:1/LINE:2/DEVICE:1/3780
SET SUPPORT
SET SUPPORT/2780
CHAPTER 4
STATUS COMMANDS
The STATUS command is used to read DN60, line, or device
status. The following STATUS commands are available:
1. STATUS DN60 or PORT
2. STATUS LINE
3. STATUS DEVICE
4. STATUS ALL
4.1 STATUS DN60 OR PORT
form STATUS DN60:pn or PORT:pn
The STATUS DN60 or PORT command is used to read the DN60
status. The DN60 or port number must be set prior to
issuing this command or set by including the DN60 number.
examples:
STATUS DN60:1
STATUS DN60
STATUS PORT:11
STATUS PORT
4.2 STATUS LINE
form STATUS LINE:ln/PORT:pn
The STATUS LINE command is used to read the line status.
The port number must be set prior to issuing this command or
set by using the /PORT switch.
STATUS COMMANDS Page 4-2
examples:
STATUS LINE:1
STATUS LINE
STATUS LINE:2/PORT:1
4.3 STATUS DEVICE
form STATUS DEVICE:dn/LINE:ln/PORT:pn
The STATUS DEVICE command is used to read device status.
The port and line numbers must be set prior to issuing this
command or set by using the /LINE and/or /PORT switches.
examples:
STATUS DEVICE:1
STATUS DEVICE
STATUS DEVICE:1/LINE:2
STATUS DEVICE:2/LINE:1/PORT:7
4.4 STATUS ALL
form STATUS ALL/PORT:pn/LINE:ln/DEVICE:dn
The STATUS ALL command is used to read the DN60, line, and
device status. The port, line, and device numbers must be
set prior to issuing this command or set by using the /PORT,
/LINE, and/or /DEVICE switches.
examples:
STATUS ALL
STATUS ALL/PORT:1/LINE:2/DEVICE:1
CHAPTER 5
INPUT AND OUTPUT COMMANDS
The INPUT and OUTPUT commands are used to read and write
data, and to provide performance figures if such is desired.
Many options are available and can be specified in the form
of switches to the command as described below.
form INPUT DEV:FILENAME.EXT[p,pn]/switches
form OUTPUT DEV:FILENAME.EXT[p,pn]/switches
5.1 SWITCHES
/PORT:o Used to set the DL10 port number if not
previously set.
/LINE:d Used to set the line number if not previously
set.
/DEVICE:d Used to set the device number if not
previously set.
/BUFSIZ:d Size of the PDP-10 data buffer in words. The
default is determined by the number of bytes
(/NUMBYT)
/BYTPOS:d The position of the first byte in the data
buffer.
/BYTWRD:d The number of bytes per word in the data
buffer. The default is 5 which is 7 bit
bytes.
3 12 bit bytes
4 8 bit bytes
5 7 bit bytes
6 6 bit bytes
/CCC:o The carriage control character to be inserted
after the carriage return when using the
internal character generator. The default is
12 which is a line feed.
/DEVTYP:d 0 = unknown, 1 = printer, 2 = punch 3 =
reader. The default is 0.
/FCHAR:o The first character in the ripple pattern
when using the internal character generator
for output. The default is 40.
INPUT AND OUTPUT COMMANDS Page 5-2
/LCHAR:o The last character in the ripple pattern when
using the internal character generator for
output. The default is 176.
/NUMBYT:d The number of bytes to use in the buffer.
The default is 4000.
/NUMCHR:d The number of characters to transmit before
sending an EOF.
/OFFSET:d The word in the data buffer where data
transfers begin, or the word used when
calculating the the first byte position.
/TIME:d The time in seconds between statistic
reports. The default is 10 seconds. A time
of 0 specifies no statistic reports are to be
made.
/WIDTH:d The width of a line when using the internal
character generator. The default is 132.
5.2 FILE SPECIFICATION
On output if the file specification is not included the
output is generated using an internal character generator
that generates output in the form of a ripple pattern.
example:
ABCD
BCDE
CDAB
DABC
On input if the file specification is not included the input
is placed in a "bit-bucket".
If part of the file specification is missing it is given a
default as shown below:
INPUT OUTPUT
DEV: DSK DSK
FILENAME INPUT OUTPUT
EXTENSION IN JOB
P,PN OWN OWN
5.3 STATISTIC REPORTS
The following is a description of the statistic report that
is generated:
Time Time since last report
Lines/min Lines per minute
Chars/sec Characters per second
INPUT AND OUTPUT COMMANDS Page 5-3
Chars Characters input/output since the last report
Buftry Data buffers attempted
Bufdly Data buffers delayed
Bufcom Data buffers completed
C11E4 Number of CAL11. uuo error 4's (uuo in use)
5.4 EXAMPLES
INPUT
INPUT /PORT:2/LINE:1/DEVICE:1
INPUT DSKB:IN.FIL[226,1100]/TIME:59
OUTPUT /PORT:2/LINE:1/DEVICE:1
OUTPUT
OUTPUT DSKC:OUT.FIL/PORT:2/LINE:1/DEVICE:1
OUTPUT /FCHAR:101/LCHAR:105/WIDTH:5/NUMBYT:100
OUTPUT /NUMCHR:40000
CHAPTER 6
THE OTHER COMMANDS
6.1 ABORT COMMAND
form ABORT/PORT:pn/LINE:ln/DEVICE:dn/INPUT and/or
/OUTPUT/WAIT or /NOWAIT
The ABORT command is used to issue Input and/or Output abort
commands to the DN60, and optionally wait for the abort
sequence to complete by using the /WAIT switch. The port,
line, and device numbers must be set prior to issuing the
ABORT command or they can be set by using the /PORT, /LINE,
and /DEVICE switches. The default is both /INPUT and
/OUTPUT and /NOWAIT.
examples:
ABORT/INPUT/OUTPUT
ABORT/INPUT/OUTPUT/WAIT
ABORT/INPUT/OUTPUT/NOWAIT
ABORT/WAIT
ABORT/NOWAIT/PORT:2/LINE:3/DEVICE:1
6.2 AUTO COMMAND
The AUTO command is used to execute a sequence of D60SPD
commands contained in a DSK file. The default filename is
D60SPD.ATO.
examples:
AUTO
AUTO DSKE:CMD.FIL[123,456]
AUTO DSKZ:D60.ATO[234,5670,ONE,TWO,THREE,FOUR,FIVE]
THE OTHER COMMANDS Page 6-2
6.3 DDT COMMAND
The DDT command is used to enter DDT if DDT was loaded with
D60SPD. If this command is given and DDT was not loaded, a
warning message will be given. Once in DDT if GOBACK$G or
POPJ P,$X is given D60SPD will resume.
example:
DDT
6.4 EOF COMMAND
The EOF command is used to send an EOF while doing output.
If this command is given at another time it is ignored.
example:
EOF
6.5 NOTYPEAHEAD COMMAND
The NOTYPEAHEAD command is used to ignore commands given
during runtime. Once this command is given the only way to
reverse it is with the TYPEAHEAD command when in the idle
loop. If NOTYPEAHEAD is set it is advised to use the
/NUMCHR switch with the OUTPUT command as the EOF command
would be ignored and the only way to terminate output would
be to control-C D60SPD.
example:
NOTYPEAHEAD
6.6 EXIT COMMAND
The EXIT command is used to return to monitor mode from
D60SPD.
example:
EXIT
THE OTHER COMMANDS Page 6-3
6.7 PARAM COMMAND
The PARAM command is used to type out the contents of the
CAL11. UUO parameter block.
example:
PARAM
6.8 RESTART COMMAND
The RESTART command is used to restart D60SPD. This would
be the equivalent of doing:
^C
^C
START
example:
RESTART
6.9 TYPEAHEAD COMMAND
The TYPEAHEAD command is used to enable D60SPD to accept
typeahead during runtime. This command is the reverse of
the NOTYPEAHEAD command but once NOTYPEAHEAD is set D60SPD
must be in the idle loop before it will accept the TYPEAHEAD
command.
example:
TYPEAHEAD
6.10 WHAT COMMAND
The WHAT command is used to display the currently selected
PORT, LINE, and DEVICE numbers.
example:
WHAT
CHAPTER 7
INTERNAL PROGRAM OVERVIEW
D60SPD uses a verb type command decoder. The command is
read and checked for exactness and uniqueness and dispatches
to the appropriate routine to further process the command.
The SET and STATUS commands will further dispatch to another
routine based upon the function they are to perform. During
INPUT or OUTPUT, checks are made to see if a command may be
pending and if so it will be executed, and the INPUT or
OUTPUT operation will be continued, (unless or course the
command was ABORT, DDT, EXIT, or RESTART). This allows one
to examine status or issue commands while running without
the need for an additional job. A simple flow diagram is
shown below.
INTERNAL PROGRAM OVERVIEW Page 7-2
START -> OPER -> ABORT --- ABTCOM -------------------->!
^ DDT ----- DDTCOM -- ENTER DDT !
^ EOF ----- EOFCOM -------------------->!
^ EXIT ---- EXTCOM -------------------->!
^ HELP ---- HLPCOM -------------------->!
^ NOTYPE -- NOTCOM -------------------->!
^ PARAM --- PRMCOM -------------------->!
^ RESTART - RSTCOM -- GOTO START !
^ TYPEAH -- TYPCOM -------------------->!
^ WHAT ---- WHTCOM -------------------->!
^ STATUS -- STSCOM -- DN60 -- D60STS -->!
^ -- PORT -- D60STS -->!
^ -- LINE --- LINSTS ->!
^ -- DEVICE - DEVSTS ->!
^ SET ----- SETCOM -- LINE --- SETLIN ->!
^ -- DEVICE - SETDEV ->!
^ -- SIMULA - SETSIM ->!
^ -- SUPPOR - SETSUP ->!
^ INPUT --- INCOM --- IOCOM ----------->!
^ OUTPUT -- OUTCOM -- IOCOM ----------->!
^ !
^ AUTO ---- OPER ---- EXECUTE CMD -->! !
^ ! ^ ! !
^ ! ^ ! !
^ ! --------------------------------V !
^ ! !
^ V V
^<--------------------------------------------
CHAPTER 8
COMMAND AND SWITCH TABLES
All command and switch names are contained in tables with
the corresponding address table immediately following the
sixbit name table. These tables are all built by defining a
NAMES macro which contains the commands or switches, an
address and a value to indicate whether to dispatch or to
store a value from a switch. Calling the BUILD macro after
defining the NAMES macro will build the names table and the
address table.
8.1 NAMES MACRO
format:
DEFINE NAMES,<
SWT NAME,ADDRESS,CODE,DEFAULT VALUE
>
where:
SWT is the macro name used by the BUILD
macro
NAME is the switch or command name
ADDRESS is the address to dispatch to or store a
value in
CODE is a number that informs what action the
command decoder is to perform
0 check switch has a colon before
dispatching to ADDRESS
1 store SIXBIT arg in ADDRESS
2 store DECIMAL arg in ADDRESS
3 store OCTAL arg in ADDRESS
4 dispatch to ADDRESS without
checking for a colon
5 store SIXBIT arg in T1 and dispatch
to ADDRESS
6 store DECIMAL arg in T1 and
COMMAND AND SWITCH TABLES Page 8-2
dispatch to ADDRESS
7 store OCTAL arg in T1 and dispatch
to ADDRESS
1X print a CRLF when doing the auto
file and the value for X is 0-7 as
above
DEFVAL is the default value that will be filled
into ADDRESS if the CODE is 1-3. (This
is only used in the INPUT/OUTPUT
routine.
example:
Define NAMES,<
SWT HELP,HLP,4
SWT BUFSIZ,SIZE,2
>;End define NAMES
8.2 BUILD MACRO
The BUILD macro is called immediately following the
definition of the NAMES macro to build the sixbit table of
names, the address table, and the optional default value
table.
format:
BUILD (PREFIX,NAME,DISPATCH,DEFAULT)
where:
PREFIX is the prefix attached to:
TAB for the table of sixbit names
DSP for the address table
DEF for the default value table
and the suffix attached to .NM which will be the
symbol which represents the length of the table of
names.
NAME if non-blank will generate the table of names
DISPATCH if non-blank will generate the address
table
DEFAULT if non-blank will generate the default
value table
example:
COMMAND AND SWITCH TABLES Page 8-3
BUILD (CMD,NAM,DSP,DEF)