DECUS PDP-1 Program Library Catalog
June, 1968
DECUS NO.
---------
1 Character-Display
2 Type, Punch and Display Decimal
3 Display Line
4 MAC - A Master Subroutine Control System
5 MACRO
6 DDT
7A Modified Expensive Typewriter
8 Multiply Subroutine
9 Divide
10 Single Precision Floating Point Routines
11 Tone Generation Routine
12 Bit Manipulation Package
13 Critical Path Analysis
14 Decimal Input-Output Package
15A FLINT-36 A3D
16 Check Parity
17 Get Number of Permutations
18 Random Walk Number
19 Floating Reciprocal
20 Millisecond Clock
21 Clear Block
22 Second Delay
23 Millisecond Delay
24 Move A Program
25 Get Number of Combinations
26 Floating Nth Integer Power
27 Obsolete - Replaced by DECUS No. 39
28 SCOPETRACE
29 TED: A Tape Editor
30 DX-1 Library Tapemaker
31 Expensive Desk Calculator
32 Gaussian Random Number Generator
33 Scatter-Gather Mag Tape Routine
34 Fast Bivariate Generator
35 RATBIN (read and type a binary paper tape)
36 CHKSYM (check a symbolic tape)
37 dbn (decimal to binary mixed number),
dbi (decimal to binary integer) and
dbf (decimal to binary fraction)
38 bdn (binary to decimal mixed number),
bdi (binary to decimal integer) and
bdf (binary to decimal fraction)
39 DECAL-BBN
40 Linking Loader for DECAL-BBN
41 Libtapemaker for DECAL-BBN
42 PDP-1 Two Memory Checkerboard Program
43 Compare Program
44 Tape Duplicating and Verifying Program
45 Start-Stop Reader Test
46 Obsolete - Replaced by DECUS No. 39
47 Modifications to 18-18 Floating Point Arithmetic Package
(To be distributed with DECUS No. 10)
48 No longer available
49 Double Precision Fixed Point Routines
50 Banner
51 DSL Matrix Routines
52 Matrix Operations Program of the Experimental Dynamic
Processor
53 No longer available
54 No longer available
55 Tape Editor
56 The KALAH Game Program
57 Input-Output Routines
58 Unary Manipulation Routines
59 TITLE
60 SFLAG, RFLAG
61 TLU - Table Look-up
62 DSL Block Manipulation Routines
63 Floating Point Interpreter (For use with DECUS No. 10)
64 Random Number Generators: Random, Ranmodn, Coin
65 Digital Function Generate and Display
66 Short, Read Magnetic Tape Routines
67 "SIN-COS": Floating-Point Sine-Cosine Routines
68 "SQRT": Floating-Point Square Root Routine
69 SATED: Scope Aided Tape Editor (ESD)
70 OLD DECUS LIBRARY I
ADA-1 Analyzer
ADA-2 Frapcorrector
ADA-3 PRIM: Punch Read-In-Mode Tape
ADA-5 AID: Adams Associates Intercom & Debug Program
71 OLD DECUS LIBRARY II
BBN- 1 FRAP
BBN- 2 Typewriter Control (TYC)
BBN- 6 Colossal Typewriter Program (CT)
BBN-12 Decimal to Binary Conversion
BBN-13 Binary to Decimal Conversion
BBN-21 TRANCE
BBN-25 Rotate Test
BBN-27 Master Duplicator
BBN-32 Tem-Stor Push Down
BBN-33 Pen Tracker Routines
BBN-45 Grid Plotting Program (Plotgrid)
BBN-54 Compare
BBN-67 Debug (DB)
72 OLD DECUS LIBRARY III
BBN- 3 Binary Punch and Load Package
BBN-46 Binary Punchoff
73 MADCAP: MAmmoth DeCimal Arithmetic Program for the
PDP-1 Computer
74 Tapelibrary Program
75 SEETAPE - A Magnetic Tape Dump Program
76 A 28-Bit Floating Point Package for the PDP-1
77 DSL Sort Routines - Sort 2, Sort 3
78 TAPE 52 Magnetic Tape Control Subroutines
79 Extended Memory Punch and Loader Routines
(EXPCH1 and EXPCH0)
80 DEXTER: A Magnetic Tape Executive Routine
81 Calcomp Plotter Software
82.3 FORTRAN for the PDP-1 (Version 3)
83 340 Assembly Language and 340 DDT
84 M.I.T. Floating Point Arithmetic Package
85 LISP for the PDP-1
86 Precision Hypotenuse/Square Root Subroutine
87 Buffered DECtape Read and Write Routines
88 Typewriter Time Test
89 Cube Display
89a Matchbox Display
90 Color Debugger
91 DECtape Duplicate/Verify
92 EMP: Extended Math Package
PROGRAM ABSTRACTS
-----------------
DECUS No. 1
-----------
Character Display
Ben Gurley and Weldon Clark
This subroutine effects the display of alphabetic, numeric,
and special characters on the scope. The program is devised
to make the scope react like a typewriter. Storage used:
466(8) registers. (FRAP Subroutine)
DECUS No. 2
-----------
Type, Punch and Display Decimal
Mimi Wasser
This subroutine is used to convert octal numbers to decimal
and to type, punch, and display the results. Occupies 131(8)
registers. However, when one calls display-decimal, the
character display subroutine is required using 465(8) registers.
(FRAP Subroutine)
DECUS No. 3
-----------
Display Line
William Fletcher, Bolt, Beranek & Newman, Incorporated
The purpose of this routine is to display a line of dots on the
CRT between two specified points X0, Y0 and X1 Y1.
Storage-used: 165(8). (FRAP Subroutine)
DECUS No. 4
-----------
MAC-A Master Subroutine Control System
Richard Bennett
The program is a subroutine control system for the PDP-1.
MAC simplifies writing of subroutines, reduces the number
of registers required to write closed subroutines, and allows
subroutines using this system to call themselves or other
subroutines. MAC requires 174(8) registers, and 24(8) registers
of storage. In addition, storage is required for subroutine
returns and subroutines used repeatedly.
DECUS No. 5
-----------
MACRO
Digital Equipment Corporation, Maynard, Massachusetts
MACRO is an assembly program for the PDP-1. MACRO
uses two passes to assemble a source program, and allows the
use of the user's own definition as well as its own. It auto-
matically stores constants and variables in adequate blocks
of storage, allows the use of address tags and prints out errors
in the source program during assembly.
DECUS No. 6
-----------
DDT
Alan Kotok, Digital Equipment Corporation, Maynard,
Massachusetts
DDT is a symbolic debugging program for the PDP-1. It
occupies upper memory, starting at 600, and builds down
into lower memory. Control is by the typwriter. DDT, by
means of its "breakpoint" allows the user to program via the
typewriter, edit, and examine any program location. In-
structions can also be inserted by DDT. (MACRO)
DECUS No. 7A
------------
Modified Expensive Typewriter
Steve Piner and Peter Samson (Modified by S.B.Michaels
and J.L.Ramsey)
Facilitates the editing of symbolic tapes both off-line and
on-line.
DECUS No. 8
-----------
Multiply Subroutine
Alan Tritter
This subroutine is used on machines which have no high-
speed multiply option. It will form the signed product of
two signed 17-bit numbers. It requires 70(8) registers. The
subroutine returns to main program when completed. (DECAL)
DECUS No. 9
-----------
Divide
Alan Tritter
A subroutine for PDP-1's lacking automatic multiply &
divide. It may be called for a fractional divider of a signed
34-bit number by a signed 17-bit number or for an integer
divide (i-dvd) of a signed 17-bit number by a 17-bit number.
In either case a signed quotient returns in the AC and a re-
mainder with the same as the dividend returns in the I/O.
Occupies 75(8) registers. (DECAL)
DECUS No. 10
------------
Single-DEC-Single Precision Floating Point Routine
R. J. McQuillin (Roland Silver)
These routines allow the use of the floating point mode, and
include input, output, interpreter, arithmetic, exponential,
square root, sine-cosine, natural log and arc tangent.
Modified by DECUS No. 47. (DECAL)
DECUS No. 11
------------
Tone Generation Routine
William Fletcher, Bolt, Beranek & Newman, Incorporated
This routine, which is controlled by the typewriter, can
produce tones for which amplitude, frequency, and length
can be controlled. Frequencies from 168 down to and in-
cluding 100 are possible.
DECUS No. 12
------------
Bit Manipulation Package
C. Fletcher
The program provides a convenient means for processing
variable length contiguous groups of bits (referred to as
items) without regard to word boundaries. Items of 1 to 16
bits can either by read from meory or stored in memory at
an address relative to a pointer. Items from one to n bits
may be moved forward or backward any amount and com-
pared using routines in the package. The read and store routine
is a general packing and unpacking program, and is intended
to provide a standard, simple means of expressing and using
an item's bit address and length to obtain the item.
The pointer referred to is a word containing the addres of
some particular bit in memory, that is, holds both a word
address and the addres of a bit in that word. Storage used:
1-466(8).
DECUS No. 13
------------
Critical Path Analysis
T. Shapin
Critical Path Analysis is a method of coordinating the efforts
of many diverse activities toward a common goal. This pro-
gram will handle 400 activities and 266 events (nodes).
Careful preparation is needed to insure accurate output.
The first input should be as "educated" estimates as possible.
The order of events must be carefully organized by flow
charts described in the "write-up". Upon completion, the
program types out (after error print-outs have been corrected)
a solution to the problem. Storage Used: 5113(8) (DECAL)
DECUS No. 14
------------
Decimal Input-Output Package
William Fletcher, Bolt, Beranek & Newman, Incorportated
This package is a set of subroutines to allow decimal-to-
binary and binary-to-decimal conversion of integers, frac-
tions, and mixed numbers. The output format can be precisely
controlled by a subroutine included in the package.
The routines use the typewriter as input and output, and
subroutines are provided to allow use of paper tape reader
and punch, or CRT for this purpose also. In addition, the
package can be set up to use any arbitrary input and output.
DECUS No. 15A
-------------
FLINT-36 A3D
J. M. Baker and D. J. Isenberg, Charles W. Adams
Associates, Incorporated
FLINT is an interpretive routine that permits the PDP-1 to
perform double-precision floating-point arithmetic, input,
output, and elementary function evaluation. Originally
written in FRAP for use in lens design work (though nonethe-
less a general-purpose program), FLINT has now been
translated into DECAL to be compatible with other programs
in this language. Arithmetic and function evaluation are
performed interpretively, input and output are handled by
closed subroutines addressed directly by the user's programs,
and overall format control is left to the user's routines. FRAP
symbolic tape is also available.
DECUS No. 16
------------
Check Parity
R. S. Nickerson
The purpose of this routine is to check and/or add parity.
Storage used: 33(8) (DECAL)
DECUS No. 17
------------
Get Number of Permutaions
R. S. Nickerson
This program is used to compute n(n-1)...n(n-4 1).
(i.e., the number of permutaions of n things taken r at a
time.) This program requires DECUS No. 25. Storage used:
70(8) (DECAL)
DECUS No. 18
------------
Random Walk Number
R. S. Nickerson
This program is used to do one of three things with equal
probability:
1. add increment to number
2. subtract increment from number
3. leave number as is
Storage used: 20(8) (DECAL)
DECUS No. 19
------------
Floating Reciprocal
R. S. Nickerson
This program is used to get the reciprocal of a floating point
number. Storage used: 16(8) (DECAL)
DECUS No. 20
------------
Millisecond Clock
R. S. Nickerson
Purpose is to count the milliseconds from time msc is called
until a typewriter key is struck. Storae used: 24(8) (DECAL)
DECUS No. 21
------------
Clearblock
J. R. Hayes
Purpose is to clear a block of registers. Storage used:
11(8) (DECAL)
DECUS No. 22
------------
Second Delay
R. S. Nickerson
The purpose of this program is to delay a running program for
a specified number of seconds. Storage used: 13(8) (DECAL)
Uses DECUS No. 23.
DECUS No. 23
------------
Millisecond Delay
R. S. Nickerson
Purpose is to delay a running program for a specified number
of milliseconds. Storage used: 21(8) (DECAL)
DECUS No. 24
------------
Move a Program
D. M. Forsyth
To move a program from one memory location to another,
changing effective addresses when appropriate. Storage
used: 106(8) (DECAL)
DECUS No. 25
------------
Get Number of Combinations
R. S. Nickerson
n
Purpose is to compute (r ) = n! / (r! (n-r)! )
i.e., the number of combinations of n things taken r at a
time. Storage used: 22(8) (DECAL)
DECUS No. 26
------------
Floating point Nth Integer Power
R. S. Nickerson
Purpose is to raise a floating point number, x, to nth integer
power. Sorage used: 56(8) (DECAL) Uses DECUS No. 19.
DECUS No. 27
------------
Obsolete - Replaced by DECUS No. 39.
DECUS No. 28
------------
SCOPETRACE
John R. Hayes, Decision Sciences Laboratory, Hanscom Air
Force Base, Bedford, Massachusetts
The program is designed to facilitate the debugging of object
programs by providing a geometrical representation of the
operation of the object program. There is a Hiscopetrace
(5700(8) to 5777(8) registers) and Loscopetrace
(1(8) to 1000(8) registers).
DECUS No. 29
------------
TED: A Tape Editor
C. R. Brown and D. W. Connolly, Operational Applications
Laboratory, Hanscom Air Force Base, Bedford, Massachusetts
The program is an aid in the editing or modification of alpha-
numerical text in that the operator may communicate with the
computer in the very alphanumerics of the text itself. All
typing involved in preparing and editing tapes may be done
at an off-line typewriter punch.
DECUS No. 30
------------
DX-1 Library Tapemaker
Ted Strollo, Air Force Cambridge Research Laboratories,
Bedford, Massachusetts
DX-1 Library Tapemaker will load in any given number of
LL tapes of subroutines, and punch these out as a single
library tape. It may also be used to add new subroutines to
an existing library tape. (DECAL)
DECUS No. 31
Expensive Desk Calculator
Robert A. Wagner, Massachusetts Institute of Technology,
Cambridge, Massachusetts
EDC provides for performing arithmetic operations on numbers
typed either on- or off-line, and printing results. Decimal
numbers (integers, decimal fractions or integer fraction com-
binations) are acceptable; all indicated by ordinary decimal
point conventions. EDC allows the internal storage of
"variable" registers. The names of such registers, when used
in the same contexts as typed numbers, automatically cause
their current contents to be used in the calculation, as if
contents had just been typed in. EDC stores arbitrary char-
acter strings for laster use as input to EDC and for testing
the sign of partial results. (MACRO)
DECUS No. 32
------------
Gaussian Random Number Generator
Roland Silver
Ran-gauss, as it is called, is a subroutine which computes a
random number of approximately gaussian distribution, of
zero mean and specifiable variance. It requires the dvd,
mpy and random subroutines and, in itself, occupies 35(8)
registers and is exeucted in 157 cycles (average). (FRAP)
DECUS No. 33
------------
Scatter-Gather Magnetic Tape Routine
William Fletcher, Bolt, Beranek and Newman, Incoporated
This routine is used to control up to three Type 50 Magnetic
Tape Units connected to the PDP-1 computer through a
Type 51 Tape Control Unit. Blocks of information on mag-
netic tape in standard IBM low density (200 bit) format may
be written or read. A scatter feature allows information in
one contiguous block in the computer memory. The converse
operation allows several smaller blocks in memory to be
gathered together and written as just one block on the
magnetic tape. Information read from magnetic tape may
be compared with the contents of memory rather than stored.
When read, sections of the blocks on the magnetic tape may
be by-passed altogether. The IBM end-of-file may be written
and it is automatically sensed by the read routine. All read
operations function either forward or reverse. Write
operations operate forward only. Storage Required: 732(8).
(DECAL)
DECUS No. 34
------------
Fast Bivariate Generator
G. A. Paquette, United Aircraft Corporation
The program computes z as a function of x and y by cross-
linear interpolation within the table of Z's. Fixed-point
scaling used is under control of data provided at assembly
or by user's program. Storage Used: 47(8) (FRAP)
DECUS No. 35
------------
RATBIN (read and type a binary paper tape)
Gerald Clawson, The Geotechnical Corporation, Dallas,
Texas
The purpose is to read a machine language or data tape and
list it on the typewriter. Storage used: Program, 300-3104,
Data 3105-3363. (FRAP)
DECUS No. 36
------------
CHKSYM (check a symbolic tape)
Gerald Clawson, The Geotechnical Corporation, Dallas,
Texas
The purpose is to check symbolic paper tape against a copy
of it. Storage used: Program, 0010-0530, Data 0531-7777.
(FRAP)
DECUS No. 37
------------
dbn (decimal to binary mixed number),
dbi (decimal to binary integer) and
dbf (decimal to binary fraction)
Gerald Clawson, The Geotechnical Corporation, Dallas,
Texas
The purpose is to make decimal to binary conversions.
Storage used: 3620-3770 (FRAP)
DECUS No. 38
------------
bdn (binary to decimal mixed number),
bdi (binary to decimal integer) and
bdf (binary to decimal fraction)
Gerald Clawson, The Geotechnical Corporation, Dallas,
Texas
The purpose is to make binary to decimal conversions.
Storage used: 4000-4167. (FRAP)
DECUS No. 39, 40 and 41
-----------------------
DECAL-BBN
Richard J. McQuillin, Bolt, Beranek, and Newman,
Incorporated
DECAL-BBN is an assembler-compiler designed to process
two broad classes of statements: Instruction Word Statements
and Algebraic Statements. DECAL is available for both
1-core and 2-core machines. Programming and Technical
Manuals available.
DECUS No. 42
------------
Two Memory Checkerboard Program
J. C. Murphy, Jet Propulsion Laboratory
The program operates exactly as the MAINDEC 2 checker-
board program with the following exception: Upon comple-
tion of a selected pattern cycle in meory "0" the program
will enter the extend mode, then jump to memory "1" and
perform the same pattern cycle. Upon completion of this
cycle the program will reenter memory "0" and select the
next pattern. The program continues to alternate between
memories until an error, or normal halt is incurred. An
error in memory "1" is examined in the same manner as an
error in memory "0" (barring extend mode or defer cycle
logic failures). (DECAL)
DECUS No. 43
------------
Compare Program
J. F. Fitzgerald, Itek Corporation
Enables one to punch a tape which will typeout on the off-
line Flexowriter the registers that have been changed in the
operation of a given program and their contents.
DECUS No. 44
------------
Tape Duplicating and Verifying Program
C. E. Hurlburt
The purpose is to reproduce any paper tape and to verify
the reproduction via the checksum method and by comparing
line counts.
DECUS No. 45
------------
Start-Stop Reader Test
T. Shapin, Beckman Instruments, Incorporated
This program is used to test the braking action of the PDP-1
paper tape reader.
DECUS No. 46
------------
Obsolete-Replaced by DECUS No. 39.
DECUS No. 47
------------
Modifications to 18-18 Floating Point Arithmetic Package
(To be used with DECUS No. 10)
John B. Goodenough
These modifications of DECUS No. 10 round the results of
floating point additions, subtractions, multiplications, divisions
and shifts (R. & L.) for single and multicore use. Storage
used: 532(8).
DECUS No. 48
------------
No longer available.
DECUS No. 49
------------
Double Precision Fixed Point Routine
Terry Kleffman, Minneapolis-Honeywell Company
The double precision add, subtract, multipy, and divide
subroutines and the 12 double precision MACRO instructions
in this package provide the programmer with all the basic
tools necessary for fixed point double precision programming.
These subroutines were written specifically for maximum
speed of execution and, therefore, little or no considera-
tion was given to the amount of memory space it would
occupy. This approach was taken in an effort to provide
double precision accuracy for real-time, analog-to-digital
simulations. However, the amount of memory space re-
quired to store the double precision subroutines is not
restrictive for most applications. These routines require
1262(8)=754(10) meory locations which in a 10,000(8)=4096(10)
word memory still leave 6416(8)=3342(10) locations for addi-
tional programs. (MACRO)
DECUS No. 50
------------
BANNER
Robert F. Stover, Minneapolis-Honeywell Company
Banner is a demonstration program for the PDP-1, and uses
the Character Display Program - DECUS No. 1. It accepts
a message typed in from the console typewriter and displays
the message on the 16" display as letters moving from right
to left. The message will be repeated indefinitely. The
appearance is the same as the Times Square News Sign.
DECUS No. 51
------------
DSL Matrix Routines
J. B. Goodenough, Decision Sciences Laboratory, Hanscom
Air Force Base, Bedford, Massachusetts
This Matrix Package consists of programs to perform the
following functions in either fixed or single precision
floating point:
Add columns to store matrix.
Add or subtract two matrices.
Multiply a matrix by a constant.
Multiply a row by a constant.
Punch an intermediate matrix on paper tape.
Read intermediate matrix tape.
Calculate the row sum.
DECUS No. 52
------------
Matrix Operations Program for the Experimental Dynamic
Processor
C. Caso, J. Seltzer and J. Sexton, Wolf Research and
Development Corporation, West Concord, Massachusetts
This Matrix Package is a system of computer programs to
perform general matrix operations. The matrix operations
that can be performed are solved eigenvalues and eigenvec-
tors, add, inversion, multiplication, subtraction, and trans-
position. A set of input/output routines and an executive
routine are included in this package. The executive routine
is designed to allow effective usage of the package by people
with minimal programming experience. This package has
been coded for the experimental Dynamic Processor, DX-1.
The system uses single-precision floating-point arithmetic.
DECUS No. 53
------------
No Longer Available
DECUS No. 54
------------
No Longer Available
DECUS No. 55
------------
Tape Editor (BBN)
Harry Rudloe
This program edits symbolic paper tapes making use of the
scope and on-line typewriter. Occupies registers 2450-
7500. This version requires a full 16-channel sequence
break machine. However, it can be modified to run on
a machine with a different configuration.
DECUS No. 56
------------
The KALAH Game Program
Roland Silver
The computer plays kalah with you communicating through
the typewriter as input and the scope as output media. (FRAP)
DECUS No. 57
------------
Input-Output Routines
R. S. Nickerson and J. B. Goodenough, D.S.L., Hanscom
Air Force Base, Bedford, Masachusetts
These routines are designed to supplement the DEC In-Out
Package. They consist of the following DSL programs:
Get Octal Number; Type Octal Numbers; Get and Read
Alphanumeric Strings; Add Character, Delete Character,
and Initialize String; String Decimal Numbers; and Space
Decimal Output. (DECAL)
DECUS No. 58
------------
Unary Manipulation Routines
R. S. Nickerson, D.S.L., Hanscom Air Force Base, Bedford,
Massachusetts
Routines to: Count the number of ones in a block.
Count the number of ones in a word. (DECAL)
DECUS No. 59
------------
TITLE
C. V. Gaylord, D.S.L., Hanscom Air Force Base, Bedford,
Massachusetts
Routine to punch out in readable form a typed title for
binary tapes. (DECAL)
DECUS No. 60
------------
SFLAG RFLAG
J. B. Goodenough, D.S.L., Hanscom Air Force Base,
Bedford, Massachusetts
This routine is used to save and restore condtion of flags.
(DECAL)
DECUS No. 61
------------
TLU - Table Look-up
J. B. Goodenough, D.S.L., Hanscom Air Force Base,
Bedford, Massachusetts
This routine looks up an argument in a tape and returns with
address of the first table entry greater than or equal to argument.
(DECAL)
DECUS No. 62
------------
DSL Block Manipulation Routines
J. B. Goodenough and R. S. Nickerson, D.S.L., Hanscom
Air Force Base, Bedford, Massachusetts
Consists of the following routines: Exchange Blocks; Move a
Block; Compare Blocks, Get Standard Deviation; Push Block
up N Registers; Larger, Equal, Smaller Algebraic or Absolute
Magnitude; Order Block or Fixed Point Numbers Algebraic-
ally or According to Absolute Magnitude; DZM Block, Search,
Compare Strings; Get Median; Select with/without Replace-
ment; Rotate Block Right, Left; Inclusive or Blocks; Sort a
Block or Items; Sort a Block of Alphabetic Items Using Sort
1. (DECAL)
DECUS No. 63
------------
Floating Point Interpreter (Modified for DECAL-BBN)
R. J. McQuillin, Bolt, Beranek, and Newman, Incorporated
Routines to interpret fixed point coding as floating point
when running a program. (DECAL) To be used in place of
corresponding routine in DECUS No. 10.
DECUS No. 64
------------
Random Number Generators: Random, Ranmodn, Coin
William Fletcher
Random, when called, will return with a pseudo random
number in the accumulator. The routine is initialized by
depositing a known number in two preassigned registers.
The routine occupies 12(8) registers.
Ranmodn, if called with a mod number in the accumulator,
will return with a random number in the accumulator in
in-out register which is between zero and the mod number
minus one. It uses random and idvd.
Coin, when called, has a number in the accumulator which
will be considered by the routine as a binary fraction with
the radix at zero. If, at call time, Coin is at L then the
routine will return to L+1 with a probability of N and
L+2 with a probability of 1-N. It occupies 12(8)
registers and uses Random.
DECUS No. 65
------------
Digital Fuction Generate and Display
S. Jackson and G. Paquette, United Aircraft Corporation
Scope display for univariant or bivariant functions stored
in "DECUS No. 34-Fast Bivariate Generator" format.
DECUS No. 66
------------
Short, Read Magnetic Tape Routines
William A. Fahle, Systems Research Laboratory, Incorporated,
Dayton, Ohio
The purpose of the program is to read a record of standard
low density IBM format tape into a block of core. The
entire record on tape must be transferred into core, thus
allowing records of a non-predetermied length to be
transferred. An entry is available for skipping records. The
routine has an end-of-file return and a missed character
indication. Storage used: 86(10 or 126(8).
DECUS No. 67
------------
"SIN-COS": Floating-Point Sine-Cosine Routines
Richard Zacher, Princeton University, Princeton, New
Jersey
These routines compute the sine or the cosine of the number
in the floating accumulator and leaves the result in the
floating accumulator. The routines use 73(8) registers.
DECUS No. 68
------------
"SQRT": Floating-Point Square Root Routine
Richard Zacher, Princeton University, Princeton, New
Jersey
This routine computes the square root of the floating point
number in the floating accumulator and leaves the result in
the floating accumulator. The routine uses 56(8) registers.
DECUS No. 69
------------
SATED: Scope-Aided Tape Editor
Paul Weene, D.S.L., Hanscom Air Force Base, Bedford,
Massachusetts
SATED is DSL program for preparing and editing symbolic
tapes. The program requires a two core PDP-1, Type 30 CRT
with character generator and light pen. Type 20 Sequence
Break System and Automatic Multiply. (DECAL)
DECUS No. 70
------------
OLD DECUS LIBRARY I
Charles W. Adams Associates, Incorporated
1. Analyzer
Provides a program listing as a debugging aid. (FRAP)
2. Frapcorrector
Provides a convenient means of making changes to a FRAP
Lanuage source tape. (FRAP)
3. Punch Rim Tape
Provides a means of punching out information from sections
of core memory. The console typewriter is used to provide
the control information (FRAP)
4. Adams Associates Intercom and Debug Program
Purpose:
To examine and modify individual memory locations via
the console typewriter.
To obtain printouts of memory area via the on-line
console typewriter or on paper tape for off-line
printing on a Flexowriter.
To obtain up-dated binary read-in-mode format paper
tape copies of programs which has been corrected
from the console.
To obtain a "what has changed" print-out (on-line or
off-line) of a program which has operated incorrectly.
To trap a program being debugged and obtain inter-
mediate results by using the four functions above.
Function 2 may be under program control as well as
under manual control and thereby allows the program
to continue automatically. A printout trace of JMP
transfers is also available.
To make the AID printout routines available to other
programs as subroutines.
Number of storage locations: 776(8), 510(10).
DECUS No. 71
------------
OLD DECUS LIBRARY II
Bolt, Beranek and Newman, Incorporated
1. FRAP Assembly Program
Edward Fredkin
FRAP is designed to operate on a PDP-1 computer with at
least 1024 words of memory and the minimum set of in-out
equipment. The assembly language will accept, as input, a
paper tape produced by a flexowriter. The tape is an iso-
morphic representation of the information contained in a
typewritten program.
2. Typewriter Control
John McCarthy
Helps in debugging other programs and allows the control of
other programs from the on-line typewriter. It can be com-
manded from the typewriter to do the following: type-out
the contents of selected registers, change the contents of
selected registers, execute instructions (including JMP in-
structions which give control to other routines), list those
registers having given contents in a given field and define
new typewriter control commands (FRAP and DECAL)
3. Colossal Typewriter Program
J. McCarthy and R. Silver (W. Fletcher)
May be used for tape preparation and tape editing. It uses
the reader, punch and typewriter under typewriter control.
4. Decimal to Binary Conversion
William Fletcher
This routine will convert a concise-coded decimal number
between + 000000(8) and + 377777(8) to a binary number.
(FRAP and DECAL)
5. Binary to Decimal Printout and Punchout
William Fletcher
This routine is used to print or punch out a binary number
between -377777(8) and 377777(8).
6. TRACE
R. Silver and W. Fletcher
The TRACE Program is used to simulate the execution of a
subject program one instruction at a time. After each
instruction has been performed, the user's test routine is
called to permit examination of the status of the machine,
the pseudo-accumulator and the pseudo-program counter.
(FRAP and DECAL)
7. Rotate Test
William Fletcher
Rotate Test verifies that all the rotate instructions are
operating correctly. (FRAP)
8. Master Duplicator
William Fletcher
Master Duplicator routine allows the user to copy a tape
from the reader to either or both punches and/or either or
both typewriters. (FRAP)
9. Tem-Stor Push Down
J.C.R. Licklider
The purpose of this package is to provide, in convenient
form, a system for saving and restoring
a system that can be incorporated into any FRAP program.
(FRAP)
10. Tracker Routines
Roland Silver
The Purpose of these routines is to track the light-pen over
the face of the scope. (FRAP)
11. Grid Plotting Program (plotgrid)
J.C.R. Licklider
The plotgrid subroutine is used to plot, on the computer CRT
display, a rectangular grid of the type used in graphs. The
grid plotted by the program has eight parameters. These
parameters are defined within the subroutine for external
reference. It is assumed that they will be set (that their
values will be filled in) by the subroutine that calls plot-
grid. One calling of plotgrid plots the grid once.
12. Compare
Edward Fredkin
This routine will do a true 18-bit comparison for algebraic
(signed) nubmers (gela?) or for 18-bit magnitudes (glem?).
This result is communicated by a return to one of three loca-
tions in the calling sequence. The numbers that are compared
are masked prior to comparision. (DECAL and FRAP)
13. Debug
R. Silver and H. Rudloe
Debug is intended to help the programmer debug a program
at the console.
DECUS No. 72
------------
OLD DECUS LIBRARY III
William Fletcher, Bolt, Beranek and Newman, Incorporated
Binary Punch and Load Package
This routine allows the user to punch out any area of memory
in the binary format, specifying the desired area with typed
commands. (FRAP)
Binary Punchoff
This routine punches a tape which, when reloaded will
reproduce the memory at time of punch-off. (FRAP)
DECUS No. 73
------------
MADCAP; MAmmoth DeCimal Arithmetic Program
E. Myrvaagnes, Parke Mathematical Laboratories,
Incorporated
A multiple-precision floating-point arithmetic program. The
number of significant digits maintained during calculations
can be varied easily to suit user's requirements of speed vs.
accuracy. Programming in MADCAP's own source language
is extremely simple.
DECUS No. 74
------------
Tapelibrary Program
Daniel Forsyth, Information International Incorporated,
Cambridge, Massachusetts
Tapelibrary Program stores the image of punched paper tapes
on magnetic tape and reproduces them on command. Read
checking is performed for paper-mag and mag-paper conver-
sion. Records may be added to mag tape at any time, but
not rewritten. Initial typed instructions are shortened when
an operation is repeated. The program occupies 0-3117
registers.
DECUS No. 75
------------
SEETAPE - A Magnetic Tape Dump Program
John B. Goodenough, D.S.L., Hanscom Air Force Base,
Bedford, Massachusetts
SEETAPE is a program for dumping magnetic tape information
on the scope. The user may specify the structure of the tape
blocks to be dumped, space forward and backward any number
of blocks, and rewind the tape. Binary verions are avail-
able for Type 51 Control and Type 52 Control.
Equipment Required:
1. At least two cores
2. Type 30 Scope with Type 33 Character Generator
3. Standard Typewriter
4. Type 51 or Type 52 Tape Control
DECUS No. 76
------------
A 28-Bit Floating Point Package
Lt. Richard D. Smallwood, Air Force Cambridge Research
Laboratories, Bedford, Massachusetts
The purpose is to provide a 28-bit mantissa and 8-bit expo-
nent floating point numbers for more accuracy than the
standard 18-18 package. Performs floating point arithmetic,
conversion, input, and output. Storage used varies.
Special Hardware Required: Automatic multiply and divide.
DECUS No. 77
------------
Sort Routines - Sort 2, Sort 3
John B. Goodenough, D.S.L., Hanscom Air Force Base,
Bedford, Massachusetts
Order (ascending) a two-dimensional array. These routines
will work in either single core or multi-core machines. In
multi-core machines, the program must be called in extend
mode with the operands referencing the proper core.
DECUS No. 78
------------
TAPE 52 Magnetic Tape Control Subroutines
John B. Goodenough, D.S.L., Hanscom Air Force Base,
Bedford, Massachusetts
A set of subroutines which exist on a library tape for using
the tape transports connected to the Type 52 Control Unit.
The routines allow the user to read or write, in even or odd
parity, a block of consecutive words in core as one tape
block; write and detect an IBM end-of-file mark; space
forward and backward; rewind; maintain a block count, and
automatically take corrective action when errors are detected
during read or write operations. All routines may be used in
extend mode and called from any core.
DECUS No. 79
------------
Extended Memory Punch and Loader Routines
William E. Fletcher, Bolt, Beranek & Newman, Incorporated
Facilitates punching and loading binary information from any
memory bank in the PDP-1 (DECAL)
DECUS No. 80
------------
DEXTER, A Magnetic Tape Executive Routine
R. D. Keim, Wolf Research & Development Corporation
DEXTER is an executive routine designed to facilitate the
operation of a PDP-1 data processing system during experi-
mental runs. It provides an efficient method of loading
programs from magnetic tape under on-line operator control.
DEXTER requires an 8K PDP-1 with a Type 52 Magnetic Tape
Control. The software consists of an executive routine and a
maintenance routine. Other programs are written in a
DEXTER COMPATIBLE FORMAT and stored on the execu-
tive magnetic tape. (AMP Language but can be converted
to DECAL or MACRO easily.)
DECUS No. 81
------------
Calcomp Plotter Software
Charles W. Adams Associates, Incorporated
Routines:
PLOTS 1 GRAPH
PICTUR SYMBL5
PLOT 1 NUMBR 1
DXDY 1 MINMAX
SCALE 1 WHERE
AXIS 1 FACTOR
SCLGPH Expensive Tape-Calcomp Plotter
DECUS No. 82
------------
FORTRAN for the PDP-1 - Version 3
The FORTRAN Compiler for the PDP-1 is not intended to be
a replacement language for the other compiler and assembly
languages already in use on the PDP-1; however, it is useful
for short programs which may easily be coded in FORTRAN.
Version 3 is for machines with multi-div hardware.
DECUS No. 83
------------
340 Assembly Language and 340 DDT
John B. Goodenough, D.S.L., Hanscom Air Force Base,
Bedford, Massachusetts
This program resembles ordinary DDT in that it allows the
bit patterns of the 340 Scope instructions to be inspected
and changed, on-line, in a symbolic language. The symbols
used are identical to the symbols when compiling pro-
grams for the scope.
In addition registers may be inspected and changed using
ordinary machine language.
The action operator tape, which defines 340 Assembly
Language, can be compiled only with the 2-core DECAL of
November 1964 (or with versions of DECAL derived from the
Skeletal DECAL of November 1964). After compilation,
DECAL can be punched off to obtain a permanent copy of
DECAL with 340 definitions.
Following the action operators is a test program which can
be compiled and loaded to check that the compiler is using
the definitions correctly. The pattern produced by the test
program is described in the 340 DDT write-up.
DECUS No. 84
------------
M.I.T. Floating Point Arithmetic Package
Bill Gasper and Tom Eggers, M.I.T., Cambridge
Massachusetts
The Floating Package is a group of arithmetic subroutines in
2e
which numbers are represented in the form f x . f is a
1's complement 18-bit fraction with the binary point between
bits 0 and 1. e is a 1's complement 18-bit integer exponent
of 2. The largest magnitude numbers that can be represented
~ 39,000.
are - 10,
A number is normalized when 1/2<|f|<1. All the floating
point routines, except the two floating unnormalized adds,
return a normalized answer. The fraction appears in the
AC, the exponet in the I/O. Routines include:
Floating Add - jda fad
Floating Multiply - jda fmp
Floating Divide - jda fdv
Floating Square Root - jda fsq
Floating Log, base 2 - jda log
Floating Reciprocal - jda rcp
Floating Input - jda fip
Floaitng Output - jda fop
Floating Unnormalized add - jda fua
Floating Unnormalized add and Round - jda fur
Floating Exponentiation - jda f2x
DECUS No. 85
------------
LISP for the PDP-1
L. Peter Deutsch and Edmund C. Berkeley
LISP (for LISt Processing) is a language designed primarily
for processing data consisting of lists of symbols. It has been
used for symbolic calculations in differential and integral
calculus, electrical circuit theory, mathematical logic,
game playing, and other fields of intelligent handling of
symbols.
LISP for the PDP-1 uses, from the basic function, about
1500 registers, and for working storage from about 500 to
14000 registers (the latter in a four-core PDP-1) as may be
chosen. It is flexible, permits much investigation, and the
correction of preliminary expressions.
DECUS No. 86
------------
Precision Hypotenuse/Square Root Subroutine
Nick Chase, Charles W. Adams Associates, Incorporated
Precision Hypotenuse is used to form the 34-bit sum of the
squares of two 17-bit one's complement deltas and takes the
square root. Precision Square Root, indicated by coding
within the comments, will calculate the 17-bit square
root of the 34-bit number.
The symbolic version of the subroutine is in Drum FRAP but
will assemble with ordinary FRAP. The subroutine occupies
34(10) registers, using automatic multiply and divide hard-
hare, and requires a constant of 200000(8).
DECUS No. 87
------------
Buffered DECtape Read and Write Routines
R. J. McQuillin, Inforonics, Incorporated, Cambridge,
Massachusetts
These routines simulate paper tape on DECtape. When
characters are written (punched) onto DECtape, they are
packed two per word. Therefore, it is possible to put
776(8) characters on one DECtape block.
DECUS No. 88
------------
Typewriter Time Test
Lloyd J. Ostiguy, Inforonics, Inc., Maynard, Massachusetts
Indicates time ratios between key strokes on a typewriter.
DECUS No. 89 and 89a
--------------------
Cube Display and Matchbox Display
T. Hart
Demonstration programs displaying a cube or matchbox for
use with the PDP-1 and Type 30 Display.
DECUS No. 90
------------
Color Debugger
Nick Chase, Charles W. Adams Associates, Incorporated,
Cambridge Massachusetts
Provides on-line debugging in octal using PDP-1 with color
display and pushbuttons. It has two basic modes:
examine/modify and program trace. Requires PDP-1 with
memory extension control and a color display console, or
black and white display type 30 (preferably with pushbutttons
connected to computer testword).
DECUS No. 91
------------
DECtape Duplicate/Verify
R. J. McQuillin, Inforonics, Incorporated, Cambridge,
Massachusetts
This program copies DECtape on the PDP-1. When a DEC-
tape is copied, it is automatically verified. An operation
that will only verify one tape against another is also in-
cluded. The user has control over how much of the tape is
duplicated and verified. He may also adjust the internal
buffer size to any core configuration.
Minimum Hardware: 4K, DECtape Dual Transport
Source Language: DECAL
Storage: 100-577 plus rest of memory for buffer
DECUS No. 92
------------
EMP (Extended Math Package)
Adams Associates, Cambridge Massachusets
EMP is an interpretive routine to perform double precision
floating point arithmetic and elementary function evaluations.
It is a condensation and revision of FLINT (DECUS #15A)
for the FLINT 3-word floating point format. Changes in-
clude the addition of a floating jump instruction, operation
only in extend mode, improved accuracy and elimination of
the input-output routines. The program has been coded in
MIDAS and may be fully relocated if desired.
Minimum Hardware: Standard PDP-1, memory extension
control. CAL in extend mode should
go to module 0.
Storage Requirement: 597(10), plus constants
Execution Time: Typical floating add <300usec;
normalize <80usec.