Digital Equipment Corporation (DEC) PDP-1 and PiDP-1 Computer System Information

Numbering Systems

Numbering Systems are named after the Latin for their bases. Our numbering system is base ten (10) therefore it is the Decimal numbering system and uses the Digits 0 through 9. For Numbering Systems with smaller bases such as Binary or Octal we just use a smaller range of Digits. For Bases larger than Decimal then Letters are used to provide the extra Digits. Some examples of Numbering System are:-

Base Name Digits Bits
Base 2 Binary Numbers 0 and 1 One (1)
Base 3 Ternary Numbers 0, 1 and 2
Base 4 Quaternary Numbers 0 through 3 Two (2)
Base 6 Senary Numbers 0 through 5
Base 8 Octal Numbers 0 through 7 Three (3)
Base 10 Decimal Numbers 0 through 9
Base 12 Duodecimal Numbers 0 through 9, Letters A and B
Base 16 Sexadecimal Numbers 0 through 9, Letters A throuh F Four (4)

The Latin naming convention of Sexadecimal for Base 16 was unacceptable so renamed to Hexadecimal, abbreviated as Hex. For binary computers the Base 8 (Octal) and Base 16 (Hexadecimal) are significant as they permit the simple representation of binary numbers with fewer Digits.

The catch is a number such as 1010 is a valid number in all these Number Systems but represents different values when converted. If 10010 is a Binary Number then this is 22 in Octal, 18 Decimal or 12 Hex. As 10010 is a valid Hex number this converts to 1000000000010000 Binary (i.e. 0001-0000-0000-0001-0000) or 200020 Octal (i.e. 010-000-000-000-010-000). As the same number in each of these Bases can convert to a different value in other Bases the applicable Base for a number has to be stated to avoid confusion. So a shorthand is to add a prefix applicable to indicate the Base to avoid confusion:-

Unless otherwise stated, by convention a number without a prefix is a Decimal number.

Computers have been designed using different Bases, for example:-

Bits

Short for Binary Digit, a Bit represents the basic unit of information in a binary, digital computer. This represents one of two possible states such as:

In this document there are three (3) forms when grouping Bits:-

I
N
D
I
R
E
C
Opcode | T | ← Memory Address Y → |
0 1 2 3 4 5 6 7 8 9 10 111 12 13 14 15 16 17

The above example has Bits-0:4 labelled as the Opcopde field, Bit-5 as the Indirect Bit and Bits-6:17 as the Memory Address field. Therefore this specifies the format of an 18-Bit PDP-1 instruction.

Bytes

A Byte is typically the smallest addressable binary unit and that has usually been the number of bits to contain one text character. These days people tend to assume a Byte is always 8-Bits but that has not always been the case:-

  1. 6-Bits:- DEC PDP-1, PDP-4, PDP-7, etc.
  2. 7-Bits:- DEC PDP-10, IBM 1401, etc.
  3. 8-Bits:- IBM 360 (EBCDIC)
  4. 9-Bits:- Sperry 11/2200 (9-Bit ASCII)

The PDP-1 central processors using 6-Bit Bytes could pack three (3) 6-Bit Bytes into one (1) 18-Bit Word. At the other extreme the Control Data Cyber 6600 could pack ten (10) 6-Bit characters into their 60-Bit Words.

.

Characters

In this period 6-Bit Binary-coded Decimal (BCD) character sets were common for encoding text for computers. There was minimal standardisation with each manufacturer independently creating internal computer codes for characters. The PDP-1 used a 6-Bit character set known as Concise Code (CIO) for text.

Punch Card Codes

In 1949 IBM introduced the IBM 026 printing keypunch which was using a 6-Bit, 64 character code. The 8-Bit, IBM 029 printing keypunch was not introduced until 1964 and the IBM 360 Computer and EBCDIC code.

The PDP-1 was released in December 1959. The first edition of the 7-Bit ASCII character set was published in 1963. While IBM devised 8-Bit EBCDIC in 1963 and 1964. Therefore it is not surprising that DEC’s PDP-1 supported multiple character sets that would require conversions when manipulating text.

Papertape Codes

The PDP-1 supported a binary plus a character coding standards for papertape.

Words

The PDP-1 is a fixed sized, 18-Bit, digital computer which means the central processor and memory operate and store binary information in 18-bits. By definition, the word size of the PDP-1 is 18-Bits. The numerical values that can be stored will range from 0 to 262,143. The prefix 0b indicates the numbers are to be interpreted as binary numbers.

0b000000000000000000 to 0b111111111111111111

From Zero (0) to the highest 18-Bit number of all Ones (1) is 262,143 decimal.

The most significant bit is Bit-0 while Bit-17 will be the least significant bit. Therefore the number is interpreted from right to left.

Octal Number System

With a word size of 18-Bits and a character size of six bits it is convenint to use 3-Bit Octal numbers to convert long binary strings into a format human minds find more manageable. The prefix 0o indicates a number is to be interpreted as an Octal number. Therefore 0b111111111111111111 become 0o777777

Interpreting these 18-Bit binary numbers was never going to be practical for humans. To convert this binary number Digital Equipment Corporation (DEC) selected the octal number system.

Decimal Binary Octal Hex
0 0b000000 0o00 0x00
1 0b000001 0o01 0x01
2 0b000010 0o02 0x02
3 0b000011 0o03 0x03
4 0b000100 0o04 0x04
5 0b000101 0o05 0x05
6 0b000110 0o06 0x06
7 0b000111 0o07 0x07
8 0b001000 0o10 0x08
9 0b001001 0o11 0x09
10 0b001010 0o12 0x0A
11 0b001011 0o13 0x0B
12 0b001100 0o14 0x0C
13 0b001101 0o15 0x0D
14 0b001110 0o16 0x0E
15 0b001111 0o17 0x0F
16 0b010000 0o20 0x10
17 0b010001 0o21 0x11

An 18-Bit binary word such as 0b001010011100101110 can be logically sub-divided into groups of 3-Bits to ease the conversion to Octal. An 18-Bit is not so conveniently sub-divided into Hex with 4.5 Hex groups of Bits.

0b 001 010 011 100 101 110
0o 1 2 3 4 5 6

On the PDP-1 Consoles there are markings that divide the 18 switches and lamps into groups of three to enable easier Binary/Octal number conversions.

Positive and Negative Numbers

To represent both positive and negative numbers in an 18‑Bit word. Bit-0 becomes a sign bit.

PDP-1 Binary Arithmetic

The PDP-1 binary arithmetic is based on Bit-0 as the sign bit and Bits‑1:17 are magnitude bits. Bit‑1 being the most significant and Bit-17 being the least significant. With Negative numbers represented by the one's complement of the positive numbers. In One's Complement arithmetic addition, subtraction, multiplication, and division of binary numbers is performed in accordance with the common rules of binary arithmetic. Negative numbers are represented as the complement of positive numbers, and subtraction is achieved by complement addition.

Complements

Just to complicate the issue there are two common representations for a fixed length. negative interger.

One's Complement Arithmetic

Assume Bit-0, the most significant Bit in the following example is the sign Bit. To convert the positive number three (3) such as 0b00011 into the One's Complement, negative number three (-3) all the bits are inverted i.e. the complement of 0b00011 is 0b11100. In this instance the sign Bit is ONE (1) indicating this is a negative number and the Bits‑1:4 are the magnitude bits. If we add +3 to -3 the reasonable expectation is the answer of zero (0).

Decimal Binary
-3 0b111100
3 0b000011
  0b111111

By definition, a One's Complement, negative number is created by inverting/complementing all bits. The complement of Zero (0) 0b000000 is 0b111111 therefore the complement of zero has the sign bit set to One (1) which indicates -zero. As can be seen in the example above the result of -3+3 is -zero (-0).

Having to evaluate the results of arithmetic calculations which may produce a +zero or -zero result is a complication with One's Complement. The PDP-1 addresses this complication by automatically converting -0 to +0 with some arithmetic operations.

Two's Complement Arithematic

Representation of negative values for Two's Complement arithmetic is slightly different from that within One's Complement arithmetic. For One's Complement of a number, the complement of the absolute positive value is where all ones are replaced by zeros and all zeros are replaced by ones. In this case every positive number has an equivalent negative number. For Two's Complement of a number is equal to the One's Complement of the positive value plus one (1). In One's Complement arithmetic a carry from Bit-0 (the sign bit and most significant bit) is added to the least significant bit in an end-around carry. In Two's Complement arithmetic a carry from the sign bit complements the link (a carry would set the link to 1 if it were properly cleared before the operation), and there is no end-around carry.

A One's Complement representation of a negative number is always one less than the Two's Complement representation of the same number. Differences between one's and two's complement representations are illustrated below.

Decimal 1’s Complement 2’s Complement
+5 0b000000000101 0b000000000101
+4 0b000000000100 0b000000000100
+3 0b000000000011 0b000000000011
+2 0b000000000010 0b000000000010
+1 0b000000000001 0b000000000001
+0 0b000000000000 0b000000000000
-0 0b111111111111 (Nonexistent)
-1 0b111111111110 0b111111111111
-2 0b111111111101 0b111111111110
-3 0b111111111100 0b111111111101
-4 0b111111111011 0b111111111100
-5 0b111111111010 0b111111111011

To simplify this situation some arithmetic instructions will automatically convert a result that is a negative zero (0o777777) into a positive zero (0o000000). Another issue that needs to be taken into account is overflow. A simple example is the addition of two (2) positive number e.g. 0o200000 plus 0o200000. The result is 0o400000 which has Bit-0 set i.e. a negative number. If an operation will result in an operation causing an unintended change of sign some PDP-1 instructions (i.e. arithmetic) will automatically set an overflow bit that can be tested.

One’s Complement Addition

The addition of a number contained in a core memory location and the number contained in the accumulator is performed directly by using the add Y instruction, assuming that the binary point is in the same position and that both numbers are properly represented in the appropriate One’s Complement arithmetic. Addition can be performed without regard for the sign of either the augend or the addend. Overflow is possible, in which case the result will have an incorrect sign, although the 17 least significant bits will be correct. Following the addition a test for overflow can be made by using the szo instruction.

One’s Complement Subtraction

Subtraction is performed by complementing the subtrahend and adding the minuend. As in addition, if both numbers are represented by their One’s Compliment, subtraction can be performed without regard for the sign of either number. Assuming that both numbers are stored in core memory, a routine to find the value of A-B follows:-

lac B /LOAD SUBTRAHEND ONE,
cma /FORM 1's COMPLEMENT
add A /-B PLUS A = A-B = RESULT IN AC

Processor Instructions

The majority of processor instructions have the following format:-

I
N
D
I
R
E
C
Opcode | T | ← Memory Address Y → |
0 1 2 3 4 5 6 7 8 9 10 111 12 13 14 15 16 17

Needless to say there are a minority of processor instructions that are the exception and do not follow this format.

12-Bit Address Range

The processor instruction’s 12-bit addresses (4,096 address range) in Octal:-

0o07777
Start Address
(12-Bit)
End Address
(12-bit)
0o00000

This range is sufficient to address all of Memory Module 0.

Memory Module 16-bit Address Ranges

The PiPD-1 is configured with the PDP-1 maximum configuration of 16 memory module which requires a 16-Bit memory address to access all the available memory.

Memory
Module
Start Address
(16-Bit)
End Address
(16-bit)
0 0o0000000 0o0007777
1 0o0010000 0o0017777
2 0o0020000 0o0027777
3 0o0030000 0o0037777
4 0o0040000 0o0047777
5 0o0050000 0o0057777
6 0o0060000 0o0067777
7 0o0070000 0o0077777
8 0o0100000 0o0107777
9 0o0110000 0o0117777
10 0o0120000 0o0127777
11 0o0130000 0o0137777
12 0o0140000 0o0147777
13 0o0150000 0o0157777
14 0o0160000 0o0167777
15 0o0170000 0o0177777

Translation of 12-Bit addresses to 16-Bit addresses

To construct a 16-bit address the Processor Instruction’s 12-Bit, Memory Address field provides Bit-6 through to Bit-17. The Program Counter provides Bit-2 through to Bit-5 which completes construction of a 16-Bit address.

Instruction I Memory Address 'Y'
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Y Y Y Y Y Y Y Y Y Y Y Y
Program Counter
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
PC PC PC PC - - - - - - - - - - - -
16-Bit Memory Address
- - PC PC PC PC Y Y Y Y Y Y Y Y Y Y Y Y

An example calculation that forms a 16-Bit address.

Instruction I Memory Address = 0o1234
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
- - - - - - 0 0 1 0 1 0 0 1 1 1 0 0
Program Counter = 0o140763
0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 1
16-Bit Memory Address = 0o141234
0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0 0

'Normal' Memory Mode

Core memory modules in the early PDP-1 systems wre limited to 4,096 Words.

PC
Address
Instruction Data
Stored
‘Normal’ Addressing Mode
0o000100 0o20xxxx 0o00xxxx The 12-Bit address refers to words in Memory Module 0.
0o010100 0o20xxxx 0o01xxxx The 12-Bit address refers to words in Memory Module 1.
0o020100 0o20xxxx 0o02xxxx The 12-Bit address refers to words in Memory Module 2.
0oxx0100 0o20xxxx 0oxxxxxx The 12-Bit address refers to words in Memory Modules xx
0o170100 0o20xxxx 0o17xxxx The 12-Bit address refers to words in Memory Module 15.

In ‘Normal’ memory mode if the 12-Bit portion of the memory address increments then the overflow does not increment the PC’s address component. In effect the 12-Bit memory address resets to 0o000000.

Program
Counter
12-Bit
Component
Comment
0027775 07775
0027776 07776 Result after address incremented
0027777 07777 Result after the address increments to the last address in the memory module.
0020000 00000 Address doesn’t increment to the next memory module. After referencing the last address in the memory module it now references the first address in the memory module.

Computer Instructions

There are multiple ways of loading programs into a PDP-1 and the PiDP-1. For an introduction to PDP-1 programming only the the Console switches and lamps (i.e. Light Emitting Diodes - LEDs) wiil be used. These simple demonstration programs will be using the PiDP-1 Rack version’s Console Switches and LEDs. This is equally applicable to the standalone Console versions and the PC simulator without Blinkenlights

Machine Code

The PDP-1 is a binary digital computer with 18-Bit instructions. The Central Processor interprets binary numbers to execute the instructions of a program loaded into the computer’s memory. A valid Central Processor 18-Bit binary instruction is:-

0b111110000000000000
0b111 110 000 000 000 000
7 6 0 0 0 0

Although the computer is executing binary it will be presented here in Octal for convenience. Therefore the computer machine code instruction above presented in Octal is:-
0o760000

Mnemonics

The presentation of PDP-1 machine code in Octal is a significant advance over the Binary but it does not convey to us how the computer will interpret instructions. Therefore three letter mnemonic codes were assigned for each machine instruction. In the case of 0o760000 the mnemonic is
nop
which is the simplest instruction for the PDP-1 as it is interpreted as no operation is to be performed by this instruction. The mnemonics may be written in lowercase nop or uppercase NOP.

Oddities

There can be multiple mnemonics that appear to provide duplicate functionality. For example, there can be three mnemonics to print a line on a line printer. As different models of line printer were introduced over the years. There was no set standard for interfaces and control logic therefore multiple sets of three mnemonics were created describing common line printer functions. Without readily providing sufficient information to identify which mnemonics were appropriate for which line printer. A rare issue of clashing I/O addresses could force a peripheral to be installed with a non-standard IOT address and that could force a mnemonic into supporting multiple machine codes.

Operate Group Event Table

This table indicates the order in which the instructions in the Operate Group are executed. For completeness, all the instructions in this group have been listed. Note that execution of the instructions lai, lia, and swp are completed in the next cycle, i.e., simultaneously with the execution of the next instruction. In other words the results for these operations do not become available or displayed at the completion of these instructions and before the next instruction is executed. When single stepping through code or program it may appear there is a logic error in your program or the machine. This is an incorrect assumption and the correct result will become available for the processor before it can cause an actual error

Every instruction requires multiple processor clock cycles to complete. A limited number of the processor clock cycles are listed as the Event Time in the table below. These processor clock cycles should not be confused with other clocks a PDP-1 system could have installed e.g. Real Time Clock. The action performed by the PDP-1 Processor's logic is listed in the Action column.

Understanding the contents of the following table is not required, it is only to demonstrate the results of a very limited number of instructions where results arrive later than expected.

Event Time
Current Cycle
Instruction(s) Action
7 cla, cli
8 clf, lap, lat, stf
9 cma, cmi, hlt 0 -----→ run (hlt only)
10 lai, swp 0 -----→ MB
Event Time
Next Cycle
0 lai, swp IO -----→ MB
1 lai Jam:MB -----→ AC
1 lia, swp 0 -----→ IO
1 lia Jam:AC -----→ MB
1 swp Jam:AC ←---→ MB
2 lia, swp MB -----→ IO

PDP-1 Internal Registers

The registers with uppercase names such as PROGRAM COUNTER are shown on the diagram immediately below and their contents will be displayed on the PiDP-1 Console. A crude outline of how the PDP-1 computer executes one instruction is:-

  1. The contents of the PROGRAM COUNTER register are copied to the MEMORY ADDRESS register.
  2. MEMORY ADDRESS register contents address a location in the CORE MEMORY.
  3. Contents of CORE MEMORY is read and 18-Bits are transferred to the MEMORY BUFFER register.
  4. 5-Bits of the MEMORY BUFFER are copied to the INSTRUCTION register.
  5. Contents of INSTRUCTION register is decoded by CONTROL as a machine code instruction.
  6. The CONTROL executes the machine instruction and updates the PROGRAM COUNTER for the location in CORE MEMORY of the next machine code instruction.

"Control executes the machine instruction" is hiding the real complexiuty of the instruction.

PiDP-1 Console

PROGRAM COUNTER Display

The PROGRAM COUNTER provides the 12-Bit address of the next instruction to be executed. This 12‑Bit field will address 4,096 words of memory.

MEMORY ADDRESS Display

Displays 12 or 16 bits which represent the address of the instruction being executed (during cycle 0) or the address of the operand (in succeeding cycles).

EXTENSION Displays

The Extension Fields for the Program Counter and Memory Address Registers provide the additional 4-Bits to extend the 12-Bit memory addresses to 16-Bits to address all of main memory of XXX Words. As system memory was expanded in 4K word extensions (Type 12 Memory of 4,096 words) this reflected the number of the memory module being addressed.

This introduction to programming the PiDP-1 Rack Version will start with loading the Expensive Typewriter (ET) program using a configured Raspberry Pi. Refer to the PDP-1 Replica information on the Obsolescence Guaranteed website for the Build and Software Installation instructions or refer to the book PiDP-1, A Programmed Data Processor, by Andrew Barron, ISBN 9798173339805.

The following procedure is just to provide some additional information regarding the process of starting the PiDP-1 emulation.

Cold Start Details – Read In Mode

This is just a simplified version of the starting instructions to have the PiDP-1 system in a known state. This procedure is not appropriate for restarting a program as there is no need to shutdown the system to restart the PDP-1 emulation. As this is a cold starting procedure the Raspberry Pi is not active.

  1. PiDP-1 Console's SINGLE STEP and SINGLE INST. toggle switches off i.e. Actuators (Levers) of these switches to the right as shown in the Console photo above.
    This is a critical step as the Read In process will not function in single step mode of the PDP-1 emulation.
  2. PiDP-1 Console's POWER switch On i.e. Actuator (Lever) of this switch to the left as shown in the Console photo above.
    This does not supply power to the Raspberry Pi, it just enables power to be supplied to the PiDP-1 Rack/Console when the Raspberry Pi has power and is awake i.e. not in sleep mode.
  3. SENSE SWITCHES #1 and #6 on (i.e. Actuators up), all other SENSE SWITCHES off (i.e. Actuators down).
    This is the switch combination that selects the ET program. The default software currently available is listed in The DEC PDP-1 Manual, 2025 Online Edition, 1.3 Using the Sense Switches for quick boot options. Using this procedure it is possible to load various games, demonstrations and applications.
  4. Switch Raspberry Pi power on and wait for the emulation to start.
    The small tact switch on the bottom panel, left side of the Console does not directly switch +5V but is a wake/sleep switch for the Raspberry Pi. At this point the appropriate software has been selected but not loaded into the PiDP-1 emulation.
  5. SENSE SWITCHES #1 is now turned off (i.e. Actuator down) and SENSE SWITCHES #2 is now turned on (i.e. Actuator up).
    The other SENSE SWITCHES are not moved/change. What is not well documented is SENSE SWITCHES #1 Stop printout, punchout, searching or iteration. Effectively an emergency stop function. Inadvertently leaving SENSE SWITCHES #1 on will effectively disable the program.
  6. Press READ IN switch to load ET.
  7. After program load completes system the system should respond by typing ss2.

Instruction Code Examples

For an introduction to the PiDP-1 instruction set, the following is an example so limited this demonstration will use the Console for simplicity. The first step is to load three (3) words of 18-Bit data into the memory of the PiDP-1 system. To unclutter the data the Octal prefix will not be used and assume all the following are Octal numbers unless otherwise indicated.

When using the Console, the markings on the Console group the switches and indicators (LEDs) into 3-Bits. The following table provides the switch positions of Zero (0) is down and One i(1) is up for Octal Digits.

Octal Switches
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Program Entry

PC
Address
Instruction Y
Address
Y
Data
Accumulator 'Normal' Addressing Mode
000100 760200
000101 762200
000102 100100

Memory

Ancient History

The initial F10-Data Sheet, May 1960 offered two memory sizes. 1024 Words (i.e. 10-Bits) and 4,096 words (i.e. 12-Bits) of memory. The Memory Field of PDP-1 instructions is 12-Bits so there was no requirement for any explicit instructions instructions to address more than 4,096 words. From the photographs this appears to be documenting a prototype PDP-1.

Some time later an Addendum was added to the F15-Handbook, May 1960 to expand memory up to a total of 8 memory modules for 32,768 words of memory. The Addendum added the implementation of a jfd instruction (i.e. Jump Field to connect the correct module). From the photographs this handbook appears to be based upon a prototype PDP-1.

F11A-Data Sheet, September 1961 appears to be documenting an early production system with updated Console and peripherals. The Data Sheet specified a maximum 8 of the Type 12 Memory Modules (4,096 Words) could be supported by the PDP-1.

A Type 13 Memory Field Control supported up to four Type 12 Memory Modules (16,384 words). While a Type 14 Memory Field Control supported up to eight Type 12 Memory Modules (32,768 words). The instruction set now included cdf (i.e. Change Data Field) and cfd (i.e. Change Fields) instructions. The two Console photographs did not include the Extend Switch and Extension Address labels. The F15B-Handbook, 1961 documented the F11A-Data Sheet.

F11B-Data Sheet, November 1963 documents the current Console layout with the Extend Switch and included the Memory Extension label. The instruction set now included Memory Extension Control eem (Enter Extend Mode) and lem (Leave Extend Mode) instructions. The cdf and cfd instructions were no longer included on the data sheet. These instructions should not be used in current programs but may appear in very old programs.

The F15C-Handbook, June 1963 documented the F11B-Data Sheet and included details of the Type 15 Memory Control that could support 16 of the Type 12 memory Modules for 65,536 words of memory. The cdf and cfd instructions were no longer included in the handbook. The PDP-1D Approved Options, October 1963 listed a Type 170 Memory Module of up to 16K words with a Type 121 Memory Control.

PDP-1A PDP-1B PDP-1C PDP-1C
(ADX)
PDP-1D
BBN
PDP-1D
Stanford
PDP-1
(M.I.T.)
(1962)
PDP-1
(M.I.T.)
(1975)
PDP-1X
(M.I.T.)
PiDP-1C
(Oscar)
PiDP-1D
(Bill E)
Op Code Instruction Comment
add Y add Y add Y add Y add Y 400000 add Y Add C(Y) to C(AC)
and Y and Y and Y and Y and Y 020000 and Y Logical AND of C(Y) with C(AC)
cal cal cal cal cal 160000 cal Equals jda 100, call subroutiine
dac Y dac Y dac Y dac Y dac Y 240000 dac Y Deposit C(AC) in Y
dap Y dap Y dap Y dap Y dap Y 260000 dap Y Deposit contents of address part of aaac in Y
dio Y dio Y dio Y dio Y dio Y 320000 dio Y Deposit C(IO) in Y
dip Y dip Y dip Y dip Y dip Y 300000 dip Y Deposit instruction part of AC in Y
dis Y dis Y dis Y dis Y dis Y 560000 dis Y Divide step
Option - div 560000 div Type 10 Option divide
dzm Y dzm Y dzm Y dzm Y dzm Y 340000 dzm Y Make C(Y) zero
idx Y idx Y idx Y idx Y idx Y 440000 idx Y Index (add one to) C(Y) Leave in Y & AC
ior Y ior Y ior Y ior Y ior Y 040000 ior Y Inclusive OR of C(Y) with C(AC)
iot iot 72 iot See In-Out Transfer Group
isp Y isp Y isp Y isp Y isp Y 460000 isp Y Index and skip if result is positive
jda Y jda Y jda Y jda Y jda Y 170000 jda Y Equals dac Y plus jsp Y + 1
jfd jfd jfd 12 jfd Jump memory field according to C(Y)
jfs jfs Jump field & save program counter
jmp Y jmp Y jmp Y jmp Y jmp Y 600000 jmp Y Take next instruction from Y
jsp Y jsp Y jsp Y jsp Y jsp Y 620000 jsp Y Jump to Y save Program Counter in AC
lac Y lac Y lac Y lac Y lac Y 200000 lac Y Load AC with C(Y)
law N law N law N law N law N 700000 law N Load AC with the number N
law -N 71 law -N Load AC with the number -N
lio Y lio Y lio Y lio Y lio Y 220000 lio Y Load IO withC(Y)
Option - mul 540000 mul Type 10 Option multiply
mus Y mus Y mus Y mus Y mus Y 540000 mus Y Multiply step
opr opr 760000 opr See Operate Group
sad Y sad Y sad Y sad Y sad Y 500000 sad Y Skip next instruction if C(AC) differs from C(Y)
sas Y sas Y sas Y sas Y sas Y 520000 sas Y Skip next instruction if C(AC) is same as C(Y)
sft 66 sft See Shift Group
skp skp 640000 skp See Skip Group
sub Y sub Y sub Y sub Y sub Y 420000 sub Y Subtract C(Y) from C(AC)
xct Y xct Y xct Y xct Y xct Y 100000 xct Y Perform instruction in Y
xor Y xor Y xor Y xor Y xor Y 060000 xor Y Exclusive OR of C(AC) with C(Y)

Skip Group

The intent of any skip instruction can be reversed by making Bit-5 equal to ONE.

PDP-1A PDP-1B PDP-1C PDP-1C
(ADX)
PDP-1D
BBN
PDP-1D
Stanford
PDP-1
(M.I.T.)
(1962)
PDP-1
(M.I.T.)
(1975)
PDP-1X
(M.I.T.)
PiDP-1C
(Oscar)
PiDP-1D
(Bill E)
Op Code Instruction Comment
sma sma sma sma sma 640400 sma Skip on minus AC
spa spa spa spa spa 640200 spa Skip on plus AC
spi spi spi spi spi 642000 spi Skip on plus IO
sza sza sza sza sza 640100 sza Skip on ZERO (+0) AC
szf - szf 64000f szf Skip on ZERO flag (f=Flag #)
- - - szfi 64000f szfi Skip on ZERO program flag i
szo szo szo szo szo 641000 szo Skip on ZERO overflow (and clear overflow)
szs szs szs - szs 6400S0 szs Skip on ZERO sense switch (S = Switch #)
- - - szsi 6400S0 szsi Skip on ZERO sense switch i

Operate Group

This is a micro program set of instructions. Thus cla + cli + clf = 764207

PDP-1A PDP-1B PDP-1C PDP-1C
(ADX)
PDP-1D
BBN
PDP-1D
Stanford
PDP-1
(M.I.T.)
(1962)
PDP-1
(M.I.T.)
(1975)
PDP-1X
(M.I.T.)
PiDP-1C
(Oscar)
PiDP-1D
(Bill E)
Op Code Instruction Comment
cla cla cla cla cla 760200 cla Clear AC
clf 760001-7 clf Clear selected program flag
clfi 76000i clfi Clear program flag i
cli cli cli cli cli 764000 cli Clear IO
cma cma cma cma cma 761000 cma Complement AC
hlt hlt hlt hlt hlt 760400 hlt Halt
lat lat lat lat lat 762200 lat Load AC from test word switches
nop nop nop nop nop 760000 nop No operation
opc opc "or" program counter
stf 760011-7 stf Set selected program flag
stfi 76001i stfi Set program flag i
tpc tpc Transfer program counter

In-Out Transfer Group (Basic List)

The number of variations in this group may be greatly increased for optional or special in-out equipment.

PDP-1A PDP-1B PDP-1C PDP-1C
(ADX)
PDP-1D
BBN
PDP-1D
Stanford
PDP-1
(M.I.T.)
(1962)
PDP-1
(M.I.T.)
(1975)
PDP-1X
(M.I.T.)
PiDP-1C
(Oscar)
PiDP-1D
(Bill E)
Op Code Instruction Comment
cdf cdf - cdf 720X74 cdf Change data field
cfd - 72XX74 cfd Change fields
cks 730033 cks Check status
dpy 730007 dpy Display one point on CRT
esm 720055 esm Enter Sequence
lsm 720054 lsm Leave Sequence Break Mode
ppa ppa ppa ppa 730005 ppa Punch punched tape alphanumeric
ppb ppb ppb ppb 730006 ppb Punch punched tape binary
rpa rpa rpa rpa 730001 rpa Read punched tape alphanumeric
rpb rpb rpb rpb 730002 rpb Read punched tape binary
rrb rrb rrb rrb 720030 rrb Read reader buffer
- ttti ttti teleprinter i in or out
tyi tyi tyi tyi 720004 tyi Read typewriter input switches
tyo tyo tyo tyo 730003 tyo Type out

Shift Rotate Group

Shift is an arithmetic operation. The sign bit is left unchanged and vacated bits are filled with the sign. Rotate is a logical operation and cycles the bits (including sign) in a closed ring. The number of steps is the number of ONE's in bits 9-17 of the instruction (9 max).

PDP-1A PDP-1B PDP-1C PDP-1C
(ADX)
PDP-1D
BBN
PDP-1D
Stanford
PDP-1
(M.I.T.)
(1962)
PDP-1
(M.I.T.)
(1975)
PDP-1X
(M.I.T.)
PiDP-1C
(Oscar)
PiDP-1D
(Bill E)
Op Code Instruction Comment
ral ral ral ral ral 661000 ral Rotate AC left
rar rar rar rar rar 671000 rar Rotate AC right
rcl rcl rcl rcl rcl 663000 rcl Rotate combined AC and IO left
rcr rcr rcr rcr rcr 673000 rcr Rotate combined AC and IO right
ril ril ril ril ril 662000 ril Rotate IO left
rir rir rir rir rir 672000 rir Rotate IO right
sal sal sal sal sal 665000 sal Shift AC left
sar sar sar sar sar 675000 sar Shift AC right
scl scl scl scl scl 667000 scl Shift combined AC and IO left
scr scr scr scr scr 677000 scr Shift combined AC and IO right
sil sil sil sil sil 666000 sil Shift IO left
sir sir 676000 sir Shift IO right

References

PDP-1A
PDP-1B
PDP-1C
PDP-1C (ADX)
PDP-1D BBN
PDP-1D Stanford
PDP-1X
PiDP-1C (Oscar)
PiDP-1D (Bill E) Using the am1 macro assembler for the PDP-1 Version 3.4, Edit 3-Oct-2026

550/555 Microtape Brochure

Document: F03 Rev. 6/64
Published:
By: Digital Equipment Corporation
Site: Bitsavers
Source:

550/555 Microtape Brochure

Document: F03
Published on:
By: Digital Equipment Corporation
Site: Bitsavers
Source:

Programmed Data Processor-1 Brochure

Document: F10
Published:
By: Digital Equipment Corporation
Site: Bitsavers
Source:

Programmed Data Processor-1 Brochure

Document: F-11A
Published:
By: Digital Equipment Corporation
Site: Bitsavers
Source:

Programmed Data Processor-1 Brochure

Document: F-11B
Published:
By: Digital Equipment Corporation
Site: Computer History Museum
Source:

PDP-1 Price List

Document: F-12
Published:
By: Digital Equipment Corporation
Site: Bitsavers
Source:

Type 30 Precision CRT Display

Document: F-50
Published:
By: Digital Equipment Corporation
Site: Computer History Museum
Source:

ITT 7300 Automatic Data Exchange System, Features Manual

Document: F-50
Published:
By: Internnational Telephone and Telegraph Corporation
Site: Bitsavers
Source:

Handbooks

Programmed Data Processor-1

Document: F-15
Published:
By: Digital Equipment Corporation
Site: Bitsavers
Source:

Programmed Data Processor-1 Manual

Document: F-15B
Published:
By: Digital Equipment Corporation
Site: Bitsavers
Source:

Programmed Data Processor-1 Manual

Document: F-15C
Published:
By: Digital Equipment Corporation
Site: Bitsavers
Source:

Programmed Data Processor-1 Manual

Document: F-15D
Published:
By: Digital Equipment Corporation
Site: Bitsavers
Source:

Hardware

PDP-1D Approved Options1, October 1963PDP-1 Option List2, 1963Sequence Break System Technical Notes3, March 2023C-100 System Modules4, 1968F-18 PDP-1 Installation Manual5, May 1964H-23 Type 23 Parallel Drum Instruction Manual6, July 1964H-24 Type 24 Serial Drum Instruction Manual7, November 1965F-15(30E) Type 30 Precision CRT Display8, 1963Type 33 Digital Symbol Generator1, 1964PDP-9 Type 34H Oscilloscope Display, Instruction Manual2, July 1968Type 50/51/52 Magnetic Tape Equipment3, 1963H-340 Type 340 Precision Incremental CRT Display4, November 1964Type 550 Microtape Manual (Preliminary)5Type 550 DECtape Manual6Type 630 Data Communications System7, April 1964RAND Tablet8, November 1967

Input-Output

F-25 Input-Output Systems Manual9, 1960Programming Aids10, November 1963

Instruction Set

Architectural Evolution in DEC’s 18-Bit Computers11, by Bob Supnik, February 2016BBN Report No. 1217, Hospital Computer Project, Memorandum Number Six-A, Hardware Status Report, January 1965 Index Register and Micro-Program Instruction Class12, June 1968F-36BP MACRO Assembly Program For Programmed Data Processor-113, 1962

Aperture Cards

System #04, D-1C-4-2, Color Box Transfer Logic14 - rcsSystem #06, D-IC-6-2, 3D Display Interface15System #38, A-IC-38-11, Multiplexed Analog to Digital Converter16 - cadSystem #38, D-1C-38-2, Standard In-Out Transfer Control17 - cadSystem #40, D-1C-40-9, Instruction Register & Decoders18 - dis, div, mul, & musPDP-1D System 45, D-1D-45-56, Clock19F15(1D-45) – PDP-1D Supplement20, 1964F16A – PDP-1 Instruction List21, July 1963

Maintenance

F-17 Programmed Data Processor-1 Maintenance Manual22, 1962F-47 Programmed Data Processor-4 Maintenance Manual23, 1962F-57 Programmed Data Processor-5 Maintenance Manual24, 1964

Modification Bulletin No.i-i25, May 1965PDP-35-1 Instruction Manual Part 1 – Basic Instructions26, September 1972PDP-35-2 Instruction Manual Part 2 – Address Calculation27, December 1971

PDP-35-2 Instruction Manual Part 3 – IOT Operated I/O Devices1, September 1971PDP-35-3 Instruction Manual Part 3 - I/O and Mass Memory Devices2, February 1975PDP-35-4 Instruction Manual Part 4 – Multiprocessing3, November 1971PDP-35-5A Instruction Manual Part 5A – Basic System Calls4, February 1975A Time Sharing System For The PDP-1 Computer5, June 1962Technical Note 1965-1 Programmable Film Reader6, March 1965Radiation Laboratory Series, Volume 1 RADAR Systems7, 1947Radiation Laboratory Series, Volume 22 Cathode Ray Tube Displays8, 1948

Memos

M-1099 – Type 14 Memory Expansion9, April 1961M-1102A – Drum System For The PDP-110, July 1961M-1106 – Core memory Expansion for the PDP-111, June 1961M-1110 - Operation of PDP-1 Sequence Break System and High Speed In-Out Channel for Effecting System Intercommunication12, June 1961M-1113 – Programmed Data Processor Specifications13, July 1961M-1068 – Complementing Checkerboard Program14

PDP-1 System Configurations

PDP-1 Serial Numbers15, August 2006

Software

M-106816 – Complementing Checkerboard ProgramDigital-1-18-S17 – Expensive Desk Calculator, January 1963F-36BP MACRO Assembly Program For Programmed Data Processor-118, 1962MAINDEC 119 – Instruction TestMAINDEC 220 – Memory CheckerboardMAINDEC 321 – Address Test ProgramMAINDEC 422 – Multiply and Divide TestMAINDEC 1023 – Read Binary Test ProgramMAINDEC 1124 – Read Alphanumeric Test ProgramMAINDEC 1425 – Typewriter Test ProgramTechnical Note 1965-1 Programmable Film Reader26, March 1965Technical Note 1965-58 A Stereoscopic Display For On-Line Monitoring Of Simulated terminal Engagements27, December 1965Technical Note 1967-9 Vocoded Speach In The Absence Of The Laryngeal Frequency28, April 1967

Software Listings

Architectural Evolution in DEC’s 18-Bit Computers29, by Bob Supnik, February 2016>/p>

MAINDEC

MAINDEC 1 - Instruction Test

Document: F-39-1
A sequence of sixteen routines which test all PDP-1 instructions except multiply/divide and the IOT group. For deferabie instructions indirect addressing is tested. The augmented instructions are tested with the defer bit both 1 and 0.
By: Digital Equipment Corporation
Site: Bitsavers
Source:

MAINDEC 2 - Memory Checkerboard

Document: F-39-2
Program tests proper memory operation by placing various patterns in adjacent storage locations to induce worst possible "noise" with cross-coupling.
By: Digital Equipment Corporation
Site: Bitsavers
Source:

MAINDEC 3 - Address Test Program

Document: F-39-3
Program detects multiple addressing and failure to address all 4096 locations of each memory tested.
By: Digital Equipment Corporation
Site: Bitsavers
Source:

MAINDEC 4 - Multiply and Divide Test

Document: F-39-4
Published:
Tests the automatic multiply - divide and the instructions MUS and DIS (multiply step and divide step). The method of testing is to obtain numbers from a random number generator and multiply or divide them. The results are compared with those of a routine which simulates the hardware used. The program runs continuously using the typewriter as the indicator for all errors.
By: Digital Equipment Corporation
Site: Bitsavers
Source:

MAINDEC 10 - Read Binary Test

Document: F-39-10
Test the performance of the photoelectric papertape reader during binary operation. It detects the picking up or dropping of bits, clutch and brake operation.
By: Digital Equipment Corporation
Site: Bitsavers
Source:

MAINDEC 11 - Read Aipha Test

Document: F-39-11
Test the performance of the photoelectric papertape reader during binary operation. It detects the picking up or dropping of bits, clutch and brake operation.
By: Digital Equipment Corporation
Site: Bitsavers
Source:

MAINDEC 13 - Punch Test

Document: F-39-13
Published:
Function: Test paper tape punch by punching random numbers in all possible variations of punch instruction in both binary and alpha modes, Detects picking up ox dropping bits in both binary and alpha modes.
By: Digital Equipment Corporation

MAINDEC 14 - Typewriter Test Program

Document: F-39-14
Published:
Test the performance of the computerwriter and its associated electronics. The program checks the type out of information by checking the type in. It tests status bits and uses all modes of the TYO instruction. The program checks the delay time of Dl, D2 and D3. It also checks the total cycle time of the typewriter and the duration of the "TCC" contact.
By: Digital Equipment Corporation
Site: Computer History Museum
Source:

F-36BP MACRO Assembly Program For Programmed Data Processor-130, 1962Technical Note 1965-1 Programmable Film Reader31, March 1965

18-Bit Computer Software – Not PDP-1

Digital-4-34-U Teletype I/O Conversion Package32, April 1964DEC-4-45-M Type 370 Light Pen Diagnostic Program33, April 1964Digital-7-1-S Symbolic Tape Editor Programming Manual34, 1965Digital-7-10-O Teletype Output Package35, January 1965Digital-7-12-I Funny Format Loader36, January 1965Digital-7-13-I Read-In_Mode Loader37, July 1965Digital-7-20-IO DECtape Subroutines38, February 1965Digital-7-22A-I/O Bidirectional PDP-7 DECtape Subroutines39, January 1966Digital-7-60-N Type 34 Display Test40, April 1965Digital-7-94-U DECtape Copy Program41, January 1966Digital-7-95-U Execute Subroutine42, January 1966

Maintenance

M-1068 – Complementing Checkerboard Program

Spacewar

Scorer Display 4.81Inside Spacewar2

DDT

DDT Listing 2-8-633

ET – Expensive Typewriter

MACRO

<

Standards, Formats, Etc.

>Architectural Evolution in DEC’s 18-Bit Computers4, by Bob Supnik, February 2016DEC STD 070 Video Systems Reference Manual5, December 1991DEC STD 107 Digital Standard For Terminal Keyboards6, January 1980DEC STD 110 Escape Sequences7, March 1975DEC STD 111 Terminal Synchronization8, July 1975DEC STD 112 Standard Date Format For Output9, February 1977DEC STD 125 Cassette Format For Files10, June 1981DEC STD 144 Disk Standard For Recording and Handling Manufacturing Detected Bad Sectors11, November 1976DEC STD 145 Representation Of Data Values In ASCII12, May 1976DEC STD 154 RX01 Volume Identification And Data Interchange13, May 1977DEC STD 164 Graphic Character Set Of ASCII14, June 2001DEC STD 167 Volume Identification For Removable Disk Pack Systems15, May 1977

Of Passing Interest

DEC TC02 DECtape Transport Control, Instruction Manual16, March 1968DEC TC02 DECtape Transport Control, Maintenance Manual17, May 1968

Teletype – 216B Model 28 Theory of Operation18, June 1953Teletype – 1149B Model 28 Parts19, April 1963Teletype – 310B ASR33 Technical Manual, Vol 1 Description20, September 1974Teletype – 310B ASR33 Technical Manual Vol 2 Adjustments21, February 1974Teletype – 316 ASR33 Schematics22, June 1975Teletype BRPE Brochure23, 1966Teletype – 215B BRPE Combined Receiver and Punch Technical Manual24, July 1969Teletype - BRPE Parts25, December 1970

Appendix 3 – 18-Bit Computers to PDP-1 Instructions

Bob Supnik created the document Architectural Evolution in DEC’s 18-Bit Computers1 tracing the progression of the PDP-1, PDP-4, PDP-7, PDP-9 to PDP-15. Unfortunately, backward compatibility was not maintained with the PDP-1. A limited number of source code listings are available for each of these systems. Being able to convert or understand later systems source code may assist the implementation of software for the PDP-1.The PDP-4 could use PDP-1 hardware options but the instruction set was incompatible. The PDP-4 instruction set was basically compatible with the PDP-7 such that some PDP-4 programs were just renamed with PDP-7 designations but not all PDP-7 programs could be executed on the PDP-4. Refer to Bob Supnik’s document for further details.

Appendix 4 – PDP-1 Hardware Options

Prototypes

The PDP-1 with a VDU display that predates the current Console version was pictured in a Datamation magazine article in 1959. This had the same form as the PDP-1 pictured in the first DEC PDP-1 Data Sheet and Handbook. Some extracts from the article are below.Datamation, Volume 5 Number 61, November/December 1959, Page 26.Digital Equipment’s Special Purpose PDP Has GP Applicationsdigital equipment’s computer is expandableThe multiplication rate is 40,000 per second for a 36-bit PDP having built-in multiply.The computer is available in word lengths of 18, 24, 30, and 36 bits. The 5 microsecond, coincident current magnetic core memory is modular in units of 1024 or 4096 registers.Additional external equipment, such as analog conversion devices, may be added with no internal machine changes. Thirty-one registers of the main memory are used as automatic index registers. By the Datamation magazine’s November/December 1960 issue the PDP-3 was a 36-Bit system and the PDP-1 was 18-Bits.

Consoles

Section 13, Characteristics of Light, Panel Lamps2(i) Visibility curves of human eye, and relative spectral energy curves of sunlight and tungsten lamp (Fig. 38.8)The wavelength of light is measured in Angstrom Units (A°). One Angstrom Unit is equal to 1/10,000 of a micron, that is 1/10 of a milli-micron. A micron is 1/1,000,000 (10-6) of a metre.The wavelengths visible to the human eye extend from about 4,000 to 7,000 A°. Beyond these extends the region of "invisible light" which, although invisible to the human eye, may be detected by the photo-tube or other means.The eye, when accustomed to high light intensity, is most sensitive to a wavelength of 5,550 A°, in the green-yellow region. The relative visibility curve for these conditions is Curve A, which is taken after H. E. Ives*. As the light intensity is reduced, the wavelength at which the eye is most sensitive decreases until at very low intensity it is approximately as shown in Curve B.Different light sources have different spectral energy curves. The curve for sunlight (Curve C is for sunlight at the earth's surface at a zenith distance of 25°) is more nearly constant over the range of visible light than that for a tungsten lamp (Curve D is for a 1,000 watt gas filled tungsten lamp, 20 lumens per watt). The relative positions of curves C and D are quite arbitrary. (iii) American Panel Lamp Characteristics(RTMA Standard REC-137, October 1951).TABLE 56: AMERICAN STANDARD PANEL LAMPSTrade Number Circuit Volts Design Volts Amperes or Watts Approx. C.P. Life3 Bulb Base40 6.3 6.3 0.15A ½ 3,000 T-3¼ (A)41 2.5 2.5 0.50A ½ 3,000 T-3¼ (A)44 6.3 6.3 0.25A ¾ 3,000 T-3¼ (B)46 6.3 6.3 0.25A ¾ 3,000 T-3¼ (A)49 2 2 0.06A - 1,000 T-3¼ (B)48 2 2 0.06A - 1,000 T-3¼ (A)47 6.3 6.3 0.15A ½ 3,000 T-3¼ (B)- 115-125 120 10W 3 3,000+ C7 (C)(A) Miniature screw base.(B) Miniature bayonet base, single contact.(C) Candelabra bayonet base, double contact.

Clocks

PDP-1X Clocks

PDP-1D

PDP-35-5A Instruction Manual Part 5A – Basic System Calls4, February 19755A.10.5.6 Hardware I/OThe design of the PDP-1 allows some I/O operations to be performed directly by users. An extensive and somewhat accurate description of this facility may be found in memo PDP-33, Input/Output in the PDP-1X. PRL5 must be on to operate hardware directly (see section 5A.8).Assignment of hardware devices is described in section 5A.10.5. The following device numbers are currently used:1 New drum side A2 New drum side ?16 Teletpe input17 Teletype output20 Microtape unit monitor21 Microtape data controller25 PDP-11 link transmitter26 PDP-11 link receiver27 Calcomp plotter (see below)30 Clock (see below)31 Real-time clock alarm device (see below)32 Special user device.76 Real-time Clock (see below)77 Microtape motion controllerSome of these devices are described in separate memos. Most require special turn-on procedures. Devices 1, 2, 20, 21, and 77 cannot be assigned.

Real Time Clock

The real-time clock is implemented as two devices, the clock device (hardware device 76) and the alarm device (device 31).The clock device maintains a 36 bit time register, which is incremented every 100 microseconds. It may be read but not written. The time register overflows only about every 79 days.The alarm device is usable as a timer for intervals of up to 26.2144 seconds. It maintains an internal 18 bit register which counts down by one every 100 microseconds, and which turns on a flag when it reaches zero.For the alarm device, variant 17 acts as an I/0 clear. The execution of any nonwaiting variant is legal even if another process is at that time waiting on the alarm, and it will have its normal function. Attempting to execute a waiting variant while another process is waiting causes a function busy error. Variants 0 and 1 are the only waiting variants.Dervice Variant Function76 (clock) any Read current contents of time register.A contains the high 18 Bits.I contains the low 18 Bits.31 (alarm) 0 Clear flag, load alarm register from I,and wait. When flag comes on,clear it again and complete. 1 Wait. When flag is on, clear it and complete. 2 Clear flag, load alarm register from I, and complete immediately. 3 Test flag. Skip if flag is on.Clear flag and complete immediately. 17 I/O clear. Clear flag and cause any other process now in an alarm wait to complete. Complete immediately.

Clock

This is an adjustable speed clock designed to tick in the vicinity of 60 times per second. The clock is assigned as device 30 as described in section 5A.10.5. All ivks on this clock will hang until the clock "ticks". All registers are unchanged by this ivk.Ticking rates of greater than about 365 times per second are not possible because of the system scheduling overhead needed. The minimum rate of ticking is around 2.1 ticks per second. The tick rate is adjustable with a knob in bay 10.Programs wishing to keep track of long time periods by using this device might employ one of the techniques exampled below:ivk 66 / device 30 assigned to capability 66, PRL onidx time / will cycle to zero in 1hr, 12min, jmp.-2 /49 1/15 sec assuming 60 ticks per secondivk 66 / same as aboveidx time / will_cycle back to zero in 6years, 17days,sza / 8hours, 17minutes, 15 17/45 seconds jmp .-3 / (assuming two leap years) given a tick rateidx time2 / of 360 ticks per secondjmp.-5

Temporary Clock

5A.10.5.3 The system provides a clock which ticks 1760 times per minute, or slightly less than 30 decimal ticks per second6. The clock is assigned as indicated in section 5A.10.5, and an unlimited number of clock capabilities are available.A process invoking a clock capability will hang as follows: 1) if the value in A is positive, plus or minus zero, processing will resume immediately and the contents of A will be unchanged. 2) If the value in A. is less than 0777777, each clock tick will (one’s complement) add 1 to the contents of A. When the contents become zero the process will be unhung.All arithmetic on clock time is done in one's complement. If time larger than 1hr 14min 28 29/88 seconds is needed, the user should write a loop into his program that invokes the clock as many times as necessary to get the desired total waiting time.The following programs are offered as examples.1. law 1 30. / will wait slightly over a second ivk 10 / if a clock ca pability is at index 10 sza hlt / will never be executed2. law 30. / will never be executed ivk 10 / (clock on capability 10)

Interrupts

PDP-1D Clocks

1kc Clock

The clock is counted every millisecond and a sequence break on Channel 17 is generated every 32 milliseconds. When 1 minute has elapsed a sequence break is generated on Channel 10 and the clock 1s cleared.

References

BBN Report 1217 Hardware Status Report, Page 63.F15(PDP-1D-45) - PDP-1D Supplement Handbook, 1964, Page 11, 1605601_BS_D-1D-45-56_1of1.tiff7Drawing Title:- Clock

Interrupts

Clock 4401 Module

PDP-1 Processor Power Clear

Generates clock pulses in the processor Power Clear logic. Refer to PDP-1 processor 03301_BS_D-1D-45-33_A_1of1.tiff8 schematic as an example.

Type 138/139 Analog to Digital Converter

This circuit is a low frequency clock for the A/D circuit timing and appears unrelated to a processor clock. The circuit diagram on Aperture Card 00401_BS_D_1C-38-4_8_1of1.tiff9 at location A4 includes a 4401 Clock Module. References for the 4401 module are:-C-100 System Modules, 1968, Page 46F-47 Programmed Data Processor-4 Maintenance Manual, 1962, Page A-169 This module consists of an astable multivibrator, a pulse amplifier-shaper, and an output pulse amplifier. The multivibrator includes transistors Q1 and Q2; the pulse shaper transistor is Q3 and the output pulse amplifier transistor is Q4. The Type 4401 clock generates standard DEC 0.4 microsecond pulses across output terminals E and F at any frequency from 5Hz to 500kHz per second. The interval from 5Hz to 500kHz is divided into 5 overlapping ranges; within each range the output frequency is continuously adjustable. The output pulse train may be inhibited by applying -3 vdc to V through a diode whose anode is connected to V.Potentiometer R4 adjusts the frequency with in each range. The range is determined by the amount of capacitance between pins T and V. An external jumper connects one of five capacitors contained in the module into the circuit for this purpose. The frequency range for each of these connections is as follows:-Connection Frequency Min Frequency Max T to M 5Hz 50HzT to R 50Hz 500HzT to P 500Hz 5kHzT to N 5kHz 50kHzT to U 50kHz 500kHzDiodes Dl through D6 determine the operating voltages of the multivibrator. These are silicon diodes with a voltage drop of approximately 0.75 volts each. Because they maintain this voltage drop across a wide range of current flow, multivibrator operation is stable and comparatively independent of the -15 vdc supply. Diodes D1 through D6 hold the base of Ql at -2.25 vdc and fix the Q1 and Q2 collector supply at -3.75 vdc. Multivibrator feedback is obtained by connecting T to one of M, R, P, N or U, and jumpering X and Y. An alternative arrangement, which extends the multivibrator frequency range, is to connect an external capacitor between V and T. External fine control may be provided by connecting an external potentiometer between Y and Z.Because the fine control, potentiometer R4 varies the operating point of Q1 over a wide range, a dual collector load is provided for Q1. For low operating current resistor R3 is the principal load, and the Q1 gain is sufficient to maintain oscillation. For high operating current, the principal load is through R2, and Q1 is not driven into saturation.Multivibrator transistors Q1 and Q2 alternate on and off at a rate that is a function of the RC time constant of the range-determining capacitor (one of C3 through C7) and the series combination of resistor R1 and potentiometer R4. An output pulse is generated during each cycle of the multivibrator when Q2 turns off.Assume that at a given moment Q1 is turning off and Q2 is turning on. The emitter voltage of Q2 follows the negative-going voltage at the collector of Q1. Capacitor C3 (if T is jumpered to M) couples the negative transient to the emitter of Q1. The feedback from the Ql collector to its emitter rapidly triggers the multivibrator to the astable state with Q1 off and Q2 on. The secondary of T1 generates a positive pulse at the base of Q3. However, this pulse only drives Q3 further into cutoff, and the output pulse amplifier is not affected.The multivibrator remains stable in this state while C3 charges through R1 and R4. The Q1 emitter voltage rises exponentially towards ground. When the emitter voltage becomes more positive than the -2.25 volts at the base, the transistor begins to turn on. The Q1 collector-emitter feedback triggers the multivibrator to the other state (Q1 on and Q2 off). The multivibrator remains in that state while C3 charges through R5. Note that if terminal V is held at -3 vdc, Q1 cannot turn on. The multivibrator remains stable with Q1 off and Q2 on until the -3 volts is removed.At the turn-off of Q2, the collapse of current in the primary of transformer T1 causes a negative pulse to be generated at terminal 3 of the T1 secondary. This negative pulse saturates Q3, grounding terminal 2 of the T2 primary. The output pulse amplifier, composed of Q4, T2 and T3 generates a standard DEC 0.4-microsecond pulse across E and F. In the General Purpose A/D circuit, the Type 4401 module Terminal T to R is connected which sets the frequency range to 50Hz to 500Hz. Output of the Type 4401 Clock Module is connected to a Type 1103 module.The A/D Clock Status is controlled by cnv instruction (0720040).

Type 140 Relay Buffer

This circuit is a low frequency clock for the A/D circuit timing and appears unrelated to a processor clock. The circuit diagram on Aperture Card 00401_BS_D_1C-38-4_8_1of1.tiff1 at location A4 includes a 4401 Clock Module. References for the 4401 module are:-C-100 System Modules, 1968, Page 46F-47 Programmed Data Processor-4 Maintenance Manual, 1962, Page A-169

Clock

System #45

3D Display Interface

System #06

Color Display

System #20

Color Switch

System #04rcs – Read Color Switch

Incremental Plotter Controller

System #06

Real Time Clock

System #33System #35

Space War Control

System #20

Type 10 Automatic Multiply/Divide

System #33System #35System #45F-12 PDP-1 Price List, June 1964

Instructions

div – Dividemul - Multiply

Refer Type 15 Memory Extension Control

Warning

For the PiDP-1 refer to the Type 15 Memory System. The only reason to study or research the Type 11 or Type 14 Memory Controller information is when forced to analyse machine code or early programs that supported or required these subsystems.The Type 11 Memory System allows a PDP-1 to have a memory of up to 16,384 l8-bit words. If memory Type 11 Control is used, three Type 12 memory modules may be added to make up the 16,384 words.

Memory Switching

Two 3-bit registers address a memory field. In this case, each memory module contains two 2,048 word fields. Either one of two 3-bit registers; field A register (FA) or field B register (FB) selects one of eight, 2,048 word memory fields to be used. If bit 6 of the memory address register (MA) is a 0 when calling for a memory register, then FA selects the memory field. If MA-6 is a 1, then FB is used to select the memory field. Thus, memory references 0 - 2047 (0 - 3777 octal) come from Field A and references 2048 - 4095 (4000 - 7777 octal) come from Field B.Two commands modify FA and FB. The first command is jump field, jfd Y, operation code 120000. This command uses the contents of memory register Y as a code word. When jfd Y is given, bits 5-17 of the contents of the memory register Y replace the program counter (PC), bits 0-2 replace FB, and bits 3-5 replace FA.With jfd Y, the defer bit of the command has a special meaning. If the defer bit is a 0, then the contents of memory register Y replace FB, FA, and PC. If bit 5 is a 1, FB, FA, and PC replace the contents of the accumulator (AC), and the instruction proceeds as stated above. The instructions, jsp, jda, and cal also place the previous contents of FB, FA, and PC in the accumulator.The second command, change fields - cfd, has an operation code 72XX74. and requires 5 microseconds. When cfd is given, bits 6-11 of cfd replace the contents of the FB and FA registers, and the program counter is unchanged.

High Speed Channel and Sequence Break Operation

When High Speed Channel transfers are involved, the high speed channel specifies a 14-bit address for one of 16,384 words.When a sequence break interrupt occurs, FB and FA are both set to 0, and the previous contents of FB, FA, and PC are stored in the second register of the registers of the interrupt. The first and third registers of the interrupt receive the contents of the AC and IO, while the next instruction is taken from the fourth register.A sequence break is terminated by giving jfd Y, where Y is one of the 16 registers holding FB, FA, and PC. FA, of course, must = 0.

Instructions

cfd – Change Data Fieldjfd - Jump Field

Type 12 Memory Module

Also see Type 170 Memory Module
Each Memory Module consists of 4,096 x 18-bit words. A maximum of sixteen such modules may be connected to the PDP-1 thus allowing for a maximum memory capacity of 65,536 words.12-Bits are required to address 4,096 words of memory. Typical PDP-1 instructions use 12-Bit addressing and this restricts access to the currently selected memory module.

Type 14 Memory System – Obsolete

See by Type 15 Memory Extension Control

Warning

For the PiDP-1 refer to the Type 15 Memory System. The only reason to sudy or research the Type 11 and Type 14 Memory Controllers information is when forced to analyse any machine code or early programs that supported or required these subsystems.The Type 14 Memory System allows a PDP-l to have a total memory capacity of 32,768. If type 14 memory control is incorporated, seven Type 12 memory modules may be added to form the 32,768 words.

Memory Switching

Two 3-bit registers are incorporated in a PDP-l for Type 14 switching. These two registers are the Data Field register (DF) and the Instruction Field register (IF). Each of these 3-bit registers address one of eight 4,096 word memory modules. A particular memory location, within a possible 32,768 (212 + 3) locations, is selected by using either the IF and Memory Address register (MA), or the DF and MA.The memory address and the instruction field registers select the core memory register for all instructions. Similarly, if the instruction is deferred, the deferred addresses come from the MA and IF. The operand address (bits 5-17) of an instruction and the DF select the actual operand location in most cases. Only in the case of instructions jda Y, jfd Y, jmp Y and jsp Y is the address formed with the Y portion (MA) and IF.Two commands are available to the programmer to allow memory field switching. The command, jump field, jfd Y, is the first command for memory switching. This command has an operation code of 120000, and is a two cycle instruction which does the following:The contents of memory location Y are taken as an 18-bit memory selection code word. The program counter (PC) is reset to bits 5-17 of the code word, bits 0-2 replace the contents of DF, and bits 3-5 replace IF.The defer bit used with jfd has special meaning. The defer bit specifies that the jfd is to save the previous contents of DF, IF, and PC. Thus, if the defer bit is a 1, the accumulator is cleared and the previous DF, IF, and PC contents are stored in the AC. If the defer bit is a 0, and jfd given, the accumulator is unaffected. Thus, jfd (no defer bit) and jfd (with a defer bit) are analogous to jmp and jsp.The commands, jda, cal, and jsp, which are normally affected with the AC holding the previous PC contents, also receive DF and IF just as in the jfd (with a defer bit) case.The second command, change data field cdf, is used to change the contents of DF. This is a single cycle instruction with an operation code of 720X74. The command, cdf, changes only the data field register (DF) and does not affect the program counter or the IF register. Bits 9-11 of cdf specify the new contents of DF.

High Speed Channel and Sequence Break System Operation

When high speed channel transfers are involved, the high speed channel specifies a 15 (12 + 3) bit address for one of the 32,768 words.When a sequence break interrupt occurs, the previous DF and IF states must be stored. In this case, a sequence break to a channel means that the contents of the AC are stored in the first register of the break channel, IF, DF, and PC are stored in the second register, and the IO are stored in the third, and the fourth register contains the next instruction to be executed. The sequence break addresses are always taken from memory module 0. Thus, when a sequence break occurs, both IF and DF are set to 0. A sequence break is, terminated by giving the jfd Y command, with IF = 0. Register Y must be one of the 16 registers holding IF, DF, and PC of the interrupt.

Instructions

cdf – Change Data Fieledjfd – Jump Data Field

Type 15 Memory Extension Control

Systems #06, #35, #43 and #45This control allows for memory expansion beyond 4096 to a maximum of 65,536 x 18-bit words in increments of 4,096-word modules. It provides a single level, indirect address mode called "extend", in addition to the normal multiple level, indirect address mode of the standard PDP-1. A toggle switch labelled "extend", which is on the control console, provides for initial selection of the extend or normal mode in conjunction with the use of the Start or Read-In Push Buttons. During the operation of a program, the extend or normal mode can be selected as required through the use of two instructions provided with this option. Refer to:-

Instructions

eem – Enter Extend Modelem – Leave Extend Mode

Type 19 High Speed Channel Control

System #06System #33System #35System #49F-12 PDP-1 Price List, June 1964

>Type 20 Sequence Break System

System #06System #35System #45

Type 23B Parallel Drum

System #45F-12 PDP-1 Price List, June 1964

Type 24 Serial Drum<

http://www.bitsavers.org/pdf/dec/drum/H-24_serialDrum_Nov65.pdfType 24E 32,768 WordsType 24F 65536 WordsType 24G 131,072 WordsF-12 PDP-1 Price List, June 1964

Instructions

dbldcndrddsedspdtddwr

Type 25 Real-Time

Type 30 Precision CRT Display

System #20 (30-G, 30-H)System #33 (30K)System #45 (30A)System #55 (30-G)Type 33 Digital Symbol Generator1, 1964, Page 1-5The CRT housing rotates and tilts to allow a good optical presentation of the display. The housing contains the CRT; the mount for the CRT, deflection yoke, and focus coil; a four module mounting box {row D}; the CRT component mounting plate; and the light pen gain control potentiometer. The cables for the CRT go through the mounting pipe.

Introduction to the Cathode Ray Tube

MIT, Technical Report 56

A Study Of The Persistence Charateristics Of Various Cathode Ray Tube Phosphors10

III. Theoretical Considerations And General Information
III-1. Buildup and Decay of Screen Luminescence.

All luminescent materials useful as cathode ray tube phosphor screens emit light after the end of the electronic excitation. Fig 1 schematically illustrates the rise and fall of luminescence.

Here it is assumed that the electronic excitation of the screen is constant from time t1 to time t2, off until t3, etc. Then the electrons strike the screen, the luminescence or fluorescence increases rapidly, and follows the buildup curve characteristic of the phosphor. At t2, when the excitation is discontinued, the light output immediately begins to fall, and follows the phosphorescence decay characteristic of the phosphor.For a double layer or cascade screen, eg. P7, the picture is changed somewhat. The blue phosphor of the P7 is directly excited by the electron beam, emitting blue light by fluorescence during the excitation, and by phosphorescence after the cessation of excitation in the manner shown in Fig. 1. The first layer is practically opaque to electrons. Thus the second, or yellow layer of the P7 is excited chiefly by the light from the first layer. The excitation of the second layer by the luminescence of the blue phosphor causes a delay of about one microsecond after the end of electronic excitation before the peak light intensity is emitted by the cascade screen.

Tube Time, CRT Phosphor Video

A short, Youtube video demonstrating the response of five different CRT phosphors. Take note of the P7 Phosphor.Cathode Ray Tube Phosphor video, (Types, P1, P2, P7, P12 and P31)11The P7 phosphor is the phosphor type used in the DEC Type 30 Displays. Refer to the TubeTime CTR Phosphor Video12 article for a quick introduction into phosphor types.

RCA Tube Handbook HB-3

Cathode-Ray Tube, Storage Tube, & Monoscope13, October 1963This Section contains data for black-and-white and color TV picture tubes, oscillograph tubes, special-purpose kinescopes, storage tubes, and monoscopes.

Range of Characteristics -

The equipment designer should bear in mind that individual tubes of a given type may have characteristics values either side of the average values shown for the type. He should also realize that these characteristics change during the life of individual tubes. In designing equipment, therefore, he should allow for the maximum cumulative variation of any characteristic from the average value of that characteristic as shown in the tabulated data for the type. The exact percentage of the variation will be different for different types of tubes depending on the design of the tubes and their intended application, but in general the designer should consider a probable plus or minus variation of not less than 30 per cent.Furthermore, the equipment designer should recognize the desirability of designing equipment so that the full range of the operating characteristics of tubes will be utilized. If this practice is not followed, he imposes on the equipment user special replacement problems in that the user will have to select tubes suitable for use in the equipment, and may not be able to obtain the full life capability of such tubes.

Features of Flourescent Screens

The fluorescent screens of the cathode-ray tubes covered in this Section are identified according to phosphor number, e.g., P1, P2, P4, P5, P7, etc.

Phosphor P1

produces a brilliant spot having yellowish-green fluorescence and medium persistence. Types having this phosphor are particularly useful for general oscillographic applications in which recurrent-wave phenomena are to be observed visually.

Phosphor P2

is a medium-persistence screen which exhibits yellowish-green fluorescence and phosphorescence. The phosphorescence may persist for over a minute under conditions of adequate excitation and low-ambient light. Types utilizing this phosphor are particularly useful for observing either low- or medium-speed non-recurring phenomena.Phosphor P4

is a highly efficient screen having white fluorescence and medium-short persistence. Types having this phosphor are of particular interest for television picture tubes.

Phosphor P5

produces a highly actinic spot having blue fluorescence and medium-short persistence. Types having this phosphor are especially useful in photographic applications involving film moving at very high speeds.

Phosphor P7

is a very long-persistence, cascade (two-layer) screen. During excitation by the electron beam, this phosphor produces a purplish-blue fluorescence. After excitation, the screen exhibits a yellowish-green phosphorescence which persists for several minutes. Types having this phosphor are particularly useful where either extremely low-speed recurrent phenomena or medium-speed non-recurrent phenomena are to be observed.

Phosphor P11

produces a brilliant actinic spot of blue fluorescence and medium-short persistence to permit its use in all photographic applications except those in which film moves at high speed. P11 screens, because of their unusually high brightness characteristic, may also be used for visual observation of phenomena.

Phosphor P12

is a long-persistence phosphor which exhibits both yellowish-orange fluorescence and phosphorescence. Types utilizing this phosphor are particularly useful for observing low- and medium-speed recurring phenomena.

Phosphor P14

is a long-persistence cascade (two-layer) screen. During excitation by the electron beam, this phosphor exhibits purplish-blue fluorescence. After excitation, it exhibits a yellowish-orange phosphorescence which persists fora little over a minute. Types utilizing this phosphor are particularly useful for observing either low- and medium-speed non-recurring phenomena or high-speed recurring phenomena.

Phosphor P15

has radiation in the visible green region and in the invisible near-ultraviolet region. The ultraviolet radiation has short persistence which is appreciably shorter than that of the visible radiation. This phosphor finds application in flying-spot cathode-ray tubes.

Phosphor P16

has violet as well as near-ultraviolet fluorescence and phosphorescence with very short persistence. This phosphor has a stable, exponential decay characteristic and is particularly useful for the high-speed scanning requirements of a flying-spot video-signal generator.

Phosphor P20

has high luminous efficiency, yellow-green fluorescence and medium-short persistence. The screen may be used in applications requiring relatively short persistence and good visual efficiency.

Phosphor P22

is the designation for three separate phosphors used in combination in a color picture tube. The separate phosphors are blue, green, and red, respectively. The persistence of the group phosphorescence is classified as medium.

Phosphor P24

is a short-persistence phosphor with green fluorescence and phosphorescence. Its spectral-energy emission characteristic has sufficient range to provide useable energy over the visible spectrum required for generating color signals from color transparencies. Note the dashed lines that represent the extreme range for maximum and minimum relative radiant energy.This does not represent the response of a real device. There are two phosphors with different responses. The initial fast decay of one spectra followed with a lower, long tail of the yellow/orange. I once saw a graph of the P7 phosphor showing the two responses, unfortunately I’m having a blonde moment and unable to find that source material.

A CRT using P7 Phosphor

Spectral-Energy Emission CharacteristicsMeasured under following conditions: Excitation = 8 KV;Current Density = 1.5 to 2.0 µa/cm2; Defocused Spot.For apparatus and method of measurement, see page 3. Persistence CharacteristicsPersistence is dependent upon tube operating conditions unless otherwise specified. JEDEC Persistence Classification Chart For RCA Phosphors

Philips Electron Tubes, Book T515

Cathode Ray Tubes

Screen TypesThe phosphor information given in this section is based in general upon the original phosphor registration (TEPAC and/or PRO ELECTRON) and can be used as a selection guide. Slight differences may occur between the actual phosphor properties and the registered data. Survey of applications and persistence of screensP7 (GM Screen)

References

Philips Cathode Ray Tubes16, 1986RCA Catalog17, October 1960RCA Electron Tube Handbook HB-3, Cathode-Ray Tube, Storage Tube, & Monoscope Section18, October 1963RCA Phosphors19, October 1961MIT, Technical Report 56, A Study of the Persistence Characteristics of Various Cathode Ray Tube Phosphors20, January 1948Radiation Laboratory Series, Volume 1 RADAR Systems21, 1947Radiation Laboratory Series, Volume 22 Cathode Ray Tube Displays22, 1948

Appendix 2 – Convert Machine to Mnemonic Codes

The following table combines Mnemonic Codes from multiple sources. The primary purpose of this table is to document all PDP-1C and PDP-1D machine codes. Unfortunately DEC appears to have the habit of creating a new set of mnemonics for every piece of equipment. Therefore different models of line printer may have the same or similar functionality such as "Print Line" function but each prinbter receives its own unique set of mnemonics.

dip >td>subjspFor Spacewar
Op Code Mnemonics Comment References
000000   Illegal instruction  
020000 and Y    
040000 ior    
060000 xor    
100000 xct    
120000 cfd Type 11 and 14 Memory Systems  
120000 lch PDP-1D  
140000 dch PDP-1D  
140000 jda PDP-1X  
140000 xam PDP-1C (ADX)  
150000 dch PDP-1D  
160000 cal    
170000 jda    
200000 lac    
220000 lio    
240000 dac    
260000 dap    
300000    
320000 dio    
340000 dzm    
360000 adm PDP-1X  
360000 tad PDP-1D  
400000 add    
420000    
440000 idx    
460000 isp    
500000 sad    
520000 sas    
540000 mul Type 10 Multiply/Divide Option  
540000 mus For Spacewar  
560000 dis For Spacewar  
560000 div Type 10 Multiply/Divide Option  
600000 jmp    
610001 jmp i i Sequence Break  
620000    
640000 skp    
640000 skip    
64000x szf    
6400x0 szs    
640100 sza    
640200 spa    
640400 sma    
640500 szm PDP-1D  
641000 szo    
642000 spi    
644000 sni PDP-1D  
654000 szi PDP-1D    
650500 spq PDP-1D  
651600 clo PDP-1D  
661000 ral    
662000 ril    
663000 rcl    
665000 sal    
666000 sil    
667000 scl    
671000 rar    
672000 rir    
673000 rcr    
675000 sar    
676000 sir    
677000 scr    
700000 law N    
710000 law -N    
720000 iot    
720001 rpa See 730001  
720101 rpr Photoelectric Punched Tape Reader  
720301 mrd Type 550/555 Microtape  
720401 mic Type 550/555 Microtape  
720501 mrd Type 550/555 Microtape  
720601 mwr Type 550/555 Microtape  
720701 mrs Type 550/555 Microtape  
720002 rpb See 730002  
720003 tyo See 730003  
720004 tyi    
720005 ppa See 720005  
720006 ppb See 720006  
720007 dpy See 730007  
720407 dpp Type 31 Ultra Precision CRT  
722007 sdb Type 33 Symbol Generator  
720010 lrg PDP-1D  
720010 rtx Relay Buffer  
720110 rty Relay Buffer  
720011 erg PDP-1D  
720011 ??? Type 131 Spacewar Controller  
720111 ??? Type 131 Spacewar Controller  
0721111 ??? Calcomp Plotter  
72xy11 ??? Radio Astronomy  
72xx12 ??? Radio Astronomy  
720613 ??? Radio Astronomy Middleton  
720n14 ??? Music Hardware  
72xx17 rro PDP-1D  
72611x ??? TX-0/PDP-1 Data Link  
72621x ??? TX-0/PDP-1 Data Link  
72631x ??? TX-0/PDP-1 Data Link  
72x61x ??? Clock  
72x71x ??? 9-Bit Digital to Analog  
720021 srb Relay Buffer  
720022 rch Type 630 Data Communications System  
720122 rrc Type 630 Data Communications System  
721022 rcr Type 630 Data Communications System  
721122 rsc Type 630 Data Communications System  
724022 tcb Type 630 Data Communications System  
724122 ssb Type 630 Data Communications System  
725022 tcc Type 630 Data Communications System  
720024 stm Timer  
720025 dla Type 340 Precision Incremental CRT Display  
720125 drs Type 340 Precision Incremental CRT Display  
720225 dcf Type 340 Precision Incremental CRT Display  
720026 dra Type 340 Precision Incremental CRT Display  
720026 gsp Type 33 Symbol Generator  
720126 drc Type 340 Precision Incremental CRT Display  
722026 gpl Type 33 Symbol Generator  
720027 gpr Type 33 Symbol Generator  
720127 dsp Type 340 Precision Incremental CRT Display  
720227 dss Type 340 Precision Incremental CRT Display  
720427 dsv Type 340 Precision Incremental CRT Display  
721027 dsh Type 340 Precision Incremental CRT Display  
722027 gpl Type 33 Symbol Generator  
720127 gcf Type 33 Symbol Generator  
72xx27 ??? Knobs  
720030 rrb    
720030 vib Paper Tape Reader  
720031 rcb Type 138/139 Multiplexed A-D Converter  
726131 ??? Type 131 Interface  
720032 raf Type 41-523 Card Reader  
720032 rcc Type 421 Card Reader  
726132 ??? Type 131 Interface  
72xx32 rck PDP-1D  
720033 cks    
720034 mcs Type 51 Programmed Magnetic Tape  
726134 ??? Type 131 Interface  
72u035 mes Type 52 Automatic Magnetic Tape  
72xx35 ctb PDP-1D  
72u036 mel Type 52 Automatic Magnetic Tape  
720037 rcs Color Switch  
720037 rdk Read Clock  
72x237 rbt PDP-1X  
72xx37 rri PDP-1D  
720040 cad Type 138/139 Multiplexed A-D Converter  
720041 rac Type 421 Card Reader  
720041 ??? A/D/A Interface And Relay Buffer  
726141 ??? Type 131 Interface  
720042 rcb Type 138/139 Multiplexed A-D Converter  
720042 rsc Type 41-523 Card Reader  
726142 ??? Type 131 Interface  
720043 pac Type 40-1 Card Punch  
720044 lag Type 40-1 Card Punch  
720044 ??? 3D Display Interface  
726144 ??? Type 131 Interface  
720045 prl Line Printer  
720045 lpb Type 64 Automatic Line Printer  
720145 lgo Type 62 Line Printer  
720245 lfb Type 62 Line Printer  
720345 lsp Type 62 Line Printer  
721045 flb Line Printer  
721x45 pas Type 64 Automatic Line Printer  
722045 clr Type 64 Automatic Line Printer  
722045 clrbuf Type 64 Automatic Line Printer  
722f45 slp Line printer  
72x046 swc Type 131 High Speed Data Control  
720146 sdf Type 131 High Speed Data Control  
720346 sia Type 131 High Speed Data Control  
720446 shr Type 131 High Speed Data Control  
720047 rsk Reset Clock  
72mm47 scv Type 138/139 Multiplexed A-D Converter  
72kn50 dsc Type 120 Sequence Break System  
726151 ??? Type 131 Interface  
720051 asc PDP-1TS1962 Sequence Break System  
72kn51 asc Type 120 Sequence Break System  
720052 isb 00201_BS_D_IC-55-2_10f2.tiff  
720152 ??? Clock On, 00201_BS_D_IC-55-2_10f2.tiff  
721152 ??? Clock Off, 00201_BS_D_IC-55-2_10f2.tiff  
726152 ??? Type 131 Interface  
72kn52 isb Type 120 Sequence Break System  
720053 cac Type 120 Sequence Break System  
720053 csb PDP-1TS1962 Sequence Break System  
720054 lsm Sequence Break System  
726154 ??? Type 131 Interface  
720055 esm Sequence Break System  
720056 cbs Sequence Break System  
720060 icv Type 138/139 Multiplexed A-D Converter  
720061 cad Type 138/139 Multiplexed A-D Converter  
720061 dba PDP-1TS1962 Type 23 Parallel Drum  
720061 dia Type 23 Parallel Drum  
720061 drt Drum System  
720161 drd Type 24 Serial Drum  
721161 dwr Type 24 Serial Drum  
722061 dba Type 23 Parallel Drum  
720062 dcc PDP-1TS1962 Type 23 Parallel Drum  
720062 dwc Type 23 Parallel Drum  
720062 dra Drum System  
720162 dbl Type 24 Serial Drum  
721162 dcn Type 24 Serial Drum  
722062 dra Type 23 Parallel Drum  
720063 dba Drum System  
720063 dcl Type 23 Parallel Drum  
720063 dra PDP-1TS1962 Type 23 Parallel Drum  
720163 dtd Type 24 Serial Drum  
720064 lrm PDP-1D  
720164 dse Type 24 Serial Drum  
721164 dsp Type 24 Serial Drum  
720065 erm PDP-1D  
720066 rnm PDP-1D  
720466 rlc Type 131 High Speed Data Control  
72ug66 mri Type 52 Automatic Magnetic Tape  
720067 rsm PDP-1D  
72s067 ccr Type 52 Automatic Magnetic Tape  
72u067 mrf Type 52 Automatic Magnetic Tape  
72ur67 Inr Type 52 Automatic Magnetic Tape  
720070 mcb Type 51 Programmed Magnetic Tape  
72xx70 dur Type 52 Automatic Magnetic Tape  
720071 mwc Type 51 Programmed Magnetic Tape  
720072 mrc Type 51 Programmed Magnetic Tape  
720072 sfc Type 510 Automatic Magnetic Tape  
720172 rsr Type 52 Automatic Magnetic Tape  
720272 crf Type 52 Automatic Magnetic Tape  
720472 cpm Type 52 Automatic Magnetic Tape  
720073 msm Type 51 Programmed Magnetic Tape
720073 cgo Type 52 Automatic Magnetic Tape
720074 lem Type 15 Memory System  
720x74 cdf Type 14 Memory Systems  
72kk74 cfd Type 11 Memory Systems  
724074 eem Type 15 Memory System  
720075 mst Type 52 Automatic Magnetic Tape  
720175 mrw Type 52 Automatic Magnetic Tape  
720375 mbs Type 52 Automatic Magnetic Tape  
721075 mfe Type 52 Automatic Magnetic Tape  
721175 mfo Type 52 Automatic Magnetic Tape  
721275 mwe Type 52 Automatic Magnetic Tape  
721375 mwo Type 52 Automatic Magnetic Tape  
721475 mce Type 52 Automatic Magnetic Tape  
721575 mco Type 52 Automatic Magnetic Tape  
721675 mre Type 52 Automatic Magnetic Tape  
721775 mro Type 52 Automatic Magnetic Tape  
72uc75 mic Type 52 Automatic Magnetic Tape  
720076 mnp Type 52 Automatic Magnetic Tape  
720176 mep Type 52 Automatic Magnetic Tape  
720376 mec Type 52 Automatic Magnetic Tape  
72ue76 muf Type 52 Automatic Magnetic Tape  
720177 pso    
720277 psf    
720377 sps    
720477 lky    
720577 ulk    
720677 slk    
720777 sdy    
721077 rcn    
721177 lcn    
721377 rbu    
721477 lar    
721577 rpf    
721677 lpf    
721777 scn    
722077 lbc    
722177 rwb    
722277 bcn    
722377 bcf    
722577 hng    
722777 shg    
722677 uhg    
723077 bpt    
723177 arq    
723277 pun    
723377 puf    
723577 ton    
723477 tof    
723777 tin    
723677 tif    
724577 lei PDP-1X  
724677 lea PDP-1X  
724777 rer PDP-1X  
730001 rpa    
730002 rpb    
730003 tyo    
730005 ppa    
730006 ppb    
730007 dpy    
740000 IIF PDP-1D  
740001 xai PDP-1D  
740002 iai PDP-1D  
740003 aai PDP-1D  
740004 cml PDP-1D  
740010 cll PDP-1D  
740020 szf PDP-1D  
740040 scf PDP-1D  
740100 sci PDP-1D  
740200 scm PDP-1D  
740400 ida PDP-1D  
741000 idc PDP-1D  
742000 ifi PDP-1D  
744000 iif PDP-1D  
760000 nop    
76000x clf    
76001x stf    
760020 lia PDP-1D  
760040 lai PDP-1D  
760060 swp PDP-1D  
760100 cmi PDP-1D  
760100 lap    
760200 cla    
760300      
760400 csa PDP-1X  
760400 hlt    
761000 cma    
761200 clc    
761400 csc PDP-1X  
762000 lat    
762200 lat    
764000 cli    
764207 cla+cli+clf    
770000 cmi PDP-1D  
770000   Micro-Program Instruction Class  
772500 A→IA PDP-1X  
773600 A+I Micro-Program Instruction Class  
773600 I+A PDP-1X  
773700 A+AI Micro-Program Instruction Class  
773700 A+IA PDP-1X  
771201 SAM PDP-1X  
776001 TXM Micro-Program Instruction Class  
771302 SAA= Micro-Program Instruction Class  
771302 SAAP PDP-1X  
776202 CXP Micro-Program Instruction Class  
776202 NX- PDP-1X  
773606 A+I<P Micro-Program Instruction Class  
773607 A+I<= PDP-1X  
771210 SA> Micro-Program Instruction Class  
773610 A+I<=| PDP-1X  
773611 A+I<P| Micro-Program Instruction Class  
774412 X→A>= PDP-1X  
776420 X→IXA| Micro-Program Instruction Class  
776021 TXXM PDP-1X  
773632 A+IX≥ PDP-1X  
770033 cks Sequence Break  
773633 A+IX> Micro-Program Instruction Class  
770050 rpf PDP-1X  
770051 lpf PDP-1X  
770057 hld Sequence Break System  
770060 e2m PDP-1X  
771160 ZAIX Micro-Program Instruction Class  
773760 A+IAIX PDP-1X  
773760 A+IOIX Micro-Program Instruction Class  
774060 TAXI Micro-Program Instruction Class  
774160 TAAXI Micro-Program Instruction Class  
770061 e1m PDP-1X  

Appendix 3 – 18-Bit Computers to PDP-1 Instructions

Bob Supnik created the document Architectural Evolution in DEC’s 18-Bit Computers tracing the progression of the 18-Bit computers from the PDP-1 through PDP-4, PDP-7, PDP-9 to PDP-15. Unfortunately, backward compatibility was not maintained with the PDP-1. A limited number of source code listings are available for each of these systems. Being able to convert or understand later systems source code may assist the implementation of software for the PDP-1.

The PDP-4 could use PDP-1 hardware options but the instruction set was incompatible. The PDP-4 instruction set was basically compatible with the PDP-7 such that some PDP-4 programs were just renamed with PDP-7 designations but not all PDP-7 programs could be executed on the PDP-4. Refer to Bob Supnik’s document for further details.

Appendix 4 – Computer History Museum Collection

Guide to the Collection of Digital Equipment Corporation PDP-1 Computer Materials

Abstract

The Collection of Digital Equipment Corporation (DEC) PDP-1 Computer Materials is comprised of program listings, manuals, technical papers, promotional materials, design drawings and photographs regarding the PDP-1 digital computer spanning 1959 to 1983.

Administrative Information

Access Restrictions

The collection is open for research.

Publication Rights

The Computer History Museum (CHM) can only claim physical ownership of the collection. Users are responsible for satisfying any claims of the copyright holder. Permission to copy or publish any portion of the Computer History Museum’s collection must be given by the Computer History Museum.

Repository

Computer History Museum
1401 N. Shoreline Blvd.
Mountain View, CA 94043
USA
650-810-1010
www.computerhistory.org

Separated Material

Photographs were removed from the collection. There were over 75 original photographs covering, 1960 to 1983, of the PDP-1 Computer taken of the computer in use or for marketing purposes. To view the photographs go to the CHM website at CHM Search.

Paper tapes were removed from the collection. There are 388 catalog records of various software programs punched on paper tape for the PDP-1. The cataloging was done by transcribing what was written on the paper tape and not by machine reading it to verify the actual content of the tapes. To view the paper tape catalog records go to the CHM website at CHM Search.

Program Listings – Box 1

Folder Number Program Listings – Box 1 Date
102635722 7 bit character put and get  
102665103 ADMINISTRATIVE ROUTINE (1967) 1967-09-13
102665168 AMPEX CHECKERBOARD  
102665171 Action  
102664280 Administrative and executive routines 1967
102635713 Alphanumeric punch with parity  
102636256 Argus core  
102664281 Arithmetic pack for FORTRAN 1975-01-26
102636255 Ascii II tape lister  
102665164 BASIC EDITOR / BASIC INTERPRETER / BASIC COMPILER  
102665170 BASIC SOURCE #3 1973-10-14
102665113 CROCK = MTA4  
102636254 Certainly (1969 1969-03-18
102664282 Certainly (1973) 1973 ca.
102636251 Character display 1964 ca.
102665030 Cylindrical File 17oct70 1970-10-17
102635727 DDT (DEC Debugging Tape) 1966-07-07
102636244 DPY Plot  
102636247 Decimal Print integer, Fraction, Double 1964-06-09
102636241 Decimal print subroutine  
102636245 Double Precision Square Root  
102636249 Double precision decimal print  
102664283 Drum Test (1963 1963-02-09
102652449 Drum Test (1972) 1972
102635696 Drum error recovery  
102664465 ER X-REF; FR 15AU 1973-08-09
102636250 Executive Routine 1970-06-14
102636242 Expensive desk calculator 1962-05-24
102636253 Expensive typewriter (1969) 1969-09-25
102664474 Expensive typewriter (1973) 1973-05-26
102636252 Expensive typewriter text reader / writer  
102652330 Expensive typewriter window patches 1966-01
102652331 FCDDDT 1965-09-22
102664475 FILECASE ROUTINES 1972-02-01
102635748 FLIT I 1961-07-31
102664487 FORTRAN PASS 1 1975-02-23
102664488 FORTRAN PASS 2, FORTRAN PASS 0, LINKING LOADER 1975-03-16
102664489 FORTRAN PASS 3  
102665163 FORTRAN PASS 3/4/5  
102665162 FORTRAN PASS 4 1975-07-25
102635710 Fancy title punch subroutine 1963-07-26
102636248 Fixed log base 2  
102635747 Float 1  
102635744 Floating Point Interpretive Routine 1961-07
102635709 Floating point arithmetic package  
102664476 Fork 1971-04-06
102665059 Fortran Utilities  
102652329 Fortran compiler ("Fort.comp")  

Program Listings – Box 2

Folder Number Program Listings – Box 2 Date
102664483 INVISIBLE DEBUGGER (1973-04-18 1973-04-18
102664681 Input Routine 1975 ca.
102665031 LISP  
102652338 LISP for TS (time sharing) 1966-01-01
102650322 Lightmeter Test  
102635746 Line Plotting Routines and Macros  
102635745 Line display routines  
102664473 MAIZE / EDC / JOTTO 1971-06-16
102664479 MATH ROUTINES FORTRAN  
102665061 MIDAS  
102664484 MUSIC COMPILER and MUSIC PLAYER 1973-06-30
102652334 Map 1968-05-15
102652336 Midas Assembler Extended Memory 1963-11-10
102664680 Miscellaneous program listings 1975 ca.
102635695 Multi-precision Package 1962-04-03
102652332 Natural Log and log base 2  
102635697 New Float  
102635702 New mode sequence break subroutine 1965-03-01
102635698 Octal print subroutine  
102664485 PAL COMPILER 1971-10-20
102664477 PLOT 260 PROGRAM LISTING FORTRAN 1976-04-02
102635715 Pen follow program  
102652335 Possible 1965-08-16
102665066 Preliminary DECAL Manual, Solitaire, Space War 4.0 TS, Executive Routine, Microtape Interface  
102635716 Prime tester  
102664480 Programs 1 through 11 1975-08-05
102665069 Random Number Generator  
102665147 Real Time Clock; Summary Commands Expensive Typewriter; The Monitor Program; Utility Set Up  
102665062 Round File 1971-06-12
102664481 SCIENTIFIC SUBROUTINES  
102635732 Scatter READ and CHECK routines 1966-11-09
102635712 Scope character output subroutine  
102635718 Scope decimal print  
102635719 Sequence break routines 1963-11-05
102635723 Simple pen follow  
102635725 Sin-cosine subroutine  
102650074 Sine-cosine Routine 1962-12-31
102635726 Single precision integer square root  
102650101 Spacewar 3.1 and Spacewar 4.8  
102635728 Square root of sum of squares  
102635729 Stupid double add and integer log  
102635724 Symbol puncher printer lister  
102650321 Symboldum  
102635721 System assembler 1964-08-28
102635720 System saver 1969-08-20
102665165 TEST PROGRAMS (INSTR, MPR, SFT)  
102665166 TIME SHARING SUPERVISOR 26376  
102652337 TJ-2-TS (Type Justifier) 24068  
102635700 TRAC  
102635707 Text printing subroutine  
102636243 Text verifier 1975-05-21
102635701 Time-sharing system 1970-02-17
102635714 Title punch subroutine  
102636258 Translation checkerboard

Program Listings – Box 3

Folder Number Program Listings – Box 3 Date
102664478 TRIG 250 PROGRAM LISTING FORTRAN 1975-08-03
102635708 TS macro FIO-DEC 1965-05-12
102665167 TX-0 UTILITY PROGRAMS  
102652339 Type justifier 1969-07-09
102650095 Type-Out Type-In Test 1962-05-22
102664482 UTILITY PACK FOR FORTRAN 1975-08-02
102652386 Unsigned square root

Technical Notes – Box 3

Folder Number Technical Notes – Box 3 Date
 
102652307 A Time-shared computation facility for education and research 1963-05-16
102650373 ALWAC Conversion Routine 1961-04-13
102650038 Add columns to a stored matrix (ACMATRIX)  
102650039 Add or subract two matrices 1962-09-06
102650040 Add rows to a matrix 1962-09-06
102652542 Administrative Routine (Mystic) 1964 - 1966
102652325 Alphanumeric codes by character  
102650087 Analyzer 1961-05-24
102650070 Arithmetic Routines 1962-12-31
102650116 Average Response Computer Program (ARC) 1960-04-08
102650135 Back-search Readinbuffer 1961-11-28
102650093 Binary Punchoff 1961-06-19
102650339 Binary Tape Converter Program/ Binary Format Loader 1959-10-29
102650625 Binary Tape Format and Input Routine 1961-10-09
102650372 Binary to Decimal Punch 1961-03-09
102650066 CHKSYM (Check a symbolic tape) 1963
102650049 Calculate a row sum 1962-09-20
102650575 Certainly 1972-01-31
102650622 Changes to Drum DDT (DDDT) 1963-08-05
102650098 Character Display 1961-04-24
102636261 Character plotter  
102650053 Check Parity 1962-10-21
102650331 Colossal Typewriter Program (CT) 1960-12-19
102650118 Commands to Calif. Comp. Prod. Plotter 1961-10-30
102650020 Compare blocks 1963-03-12
102650056 Compare strings 1963-06-11
102650083 Compatible Reproduce 1963-01-11
102650125 Complementing checkerboard program 1960-01-13
102650078 DEC Debugging Tape (DDT) 1964-08-13
102650112 DTL Microcircuits 1968-01-02
102650338 Decimal - Binary Package 1962-01-04
102650627 Display Pattern Generator  
102650613 Drum Scheduling Techniques 1966-06-08
102650630 Drum Test 1963-06-17
102650084 Expensive Desk Calculator 1963-01-02
102650079 Expensive Typewriter 1972-08-01
102650102 Extend DDT 1964-03-02
102650099 Extended DECAL 1963-09-26
102650335 FIO-DEC and Computer Typewriter Codes 1962-01-18
102650326 FRAP; FRAP and DECAL 1961-12-11
102650086 Floating Point Package 1962-04-27
102650574 Fortran 1971-11-08
102652446 I/O and Mass Memory Devices 1975-02-02
102650106 Index Register 1968-06-12
102650616 Input / Output in the PDP-1-X 1966-03-10
102650619 Invisible Debugger (ID) 1965-1971
102650628 Knobs and Buttons 1965-02-09
102650371 LISP Implementation for the PDP-1 Computer 1964-03
102665112 MACRO Assembly Program 1962-05-24
102664687 MUSIC COMPILER  
102650631 Magnetic Drum Storage 1963-02-28
102650085 Master Tape Duplicator 1963-10-20
102650096 Matrix Operations Program 1963-02-22
102650624 Microflit PS 1961-11-15
102650576 Microtape File System 1973-09-12
102650629 Microtape Hardware System 1967-12-21
102650620 Midas Assembly Program 1964-02-12
102665132 Misc. logic equations, diagrams, schematics, notes  
102664686 Modification Bulletin No. 1-1 1965-05-18
102650316 New Fiodec Codes and Symbols  
102650330 New Mode Sequence Break System for Time Sharing 1964-11-03
102650623 Off-Line Flexowriters 1962-10-08
102650115 Operating Instructions for IBM Tape Checker 1964-08-04
102650063 Order (ascending) a two dimensional array 1964-08-06
102650323 PAP Symbol Table 1962-08
102664262 PDP-1 Program Library: Expensive Desk Calculator 1963-01-02
102652326 PDP-1 instruction code and Friden code 1960-02-01
102650028 PDP-1-X System Organization 1967-06
102650111 Pen Tracker Routines 1962-05-15
102650573 Possible 1966-08-18
102650504 Preliminary Program Information for the PDP 1961-09-28
102650611 Process Scheduling 1966-06-09
10263623 Programmed Data Processor Specifications 1961-06-27
102650614 Programmed Queues 1966-06-07
102652327 Programming the PDP-1 Computer 1963-02-14
102650088 Punchout Read In Mode Tape 1961-04-12
102650091 Read Binary Test 1961-08-29
102636237 Revised PDP-1 order code 1959-11-12
102650130 STEP (Selective Trace and Examination of Process) 1961-09-18
102650612 Scheduling Data 1966-06-08
102650128 Software Applications Index  
102650626 Subroutine OS-01 Scope Character Output  
102636236 Summary of Teco Commands 1963 ca.
102650618 System Assembler 1964-08-25
102664682 THOT's: DDT-6 what should it be? 1963-12-05
102664683 TJ-2: Type Justifying Program 1963-05-09
102635717 TS Macro 1963-08-20
102665092  
102650617 TX-O/PDP-1 Data Link 1966-02-16
102652418 Teletype Trouble Code  
102636259 Time Sharing System 1971
102650621 Type Justifier 1972-07-31
102650089 Typewriter Inquiry Control (TIC) 1961-06-19
102664685 USING THE PDP-1 COMPUTER 1965-03-03

Technical Notes – Box 4

Folder Number Technical Notes – Box 4 Date
102665106 A TIME SHARING SYSTEM for the PDP-1 COMPUTER 1962-06
102665058 An Invisible Debugger for a PDP-1 Time Sharing System 1963-06
102650334 DECTAPE Control Routine 1965-10-02
102650103 Decimal Input/ Output Package 1962-05-16
102650069 Digital Function Generate and Display 1963-09
102650119 Disc Input-Output Typing Routine (Operating Instructions) 1961-12-01
102650123 Disc-Clear Program (Operating Instructions) 1961-01-11
102650097 Display Line: dpyline, increment, FRAP subroutine 1961-03-28
102665104 Divide Simulator 1962-10-12
102650325 Divide Subroutine 1962-11-13
102650094 Divide and Multiply Test Using Random Numbers 1961-09-25
102650104 Double Precision Floating Point Elementary Mathematical Subroutines  
102665052 Drum Adaptor  
102650054 Dzm block 1963-02-20
102645676 Exchange blocks 1963-02-25
102664278 Expensive Desk Calculator 1968
102650075 Exponential Routines 1962-12-31
102650050 FLR 1962-09-28
102650052 FNIP 1962-09-26
102664693 FORTRAN 1971-11-08
102665067 FORTRAN for the PDP-1 version 3 1965-11
102650107 Fixed Point Multiply 1962-05-10
102650129 Flagcounter 1961-06-19
102652328 Flint 36  
102650071 Floating Input Routine 1962-12-31
102650072 Floating Output Routine 1962-12-31
102650077 Floating Point Arctangent 1962-12-31
102665068 Floating Point Arithmetic Package  
102650073 Floating Point Interpreter 1962-12-31
102650031 Floating Point Interpreter Routines: 18-18 Arithmetic routines 1962-06-15
102650032 Floating Point Interpreter Routines: Exponential Routines 1962-06-15
102650030 Floating Point Interpreter Routines: Floating output routine 1962-06-15
102650037 Floating Point Interpreter for Use with Programs Compiled with DECAL-BBN 1963-0906
102650027 Floating Point Interpretive Routine: Single Precision Floating Point Interpreter 1962-06-15
102650035 Floating Point Interpretive Routines: Floating Point Natural Logarithm 1962-06-15
102650029 Floating Point Interpretive Routines: Floating input routine 1962-06-14
102650036 Floating Point Interpretive Routines: Floating point are tangent 1962-06-15
102650033 Floating Point Interpretive Routines: Floating square root 1962-06-15
102650034 Floating Point Interpretive Routines: Sine-Cosine Routines 1962-06-15
102650076 Floating Point Natural Logarithm 1962-12-31
102650314 Floating Square Root 1962-12-31
102650329 Frapcorrector 1961-04-11
102650336 Friden Model FPC-8 Double Case Flexowriter 1961-06-01
102650045 Generate a unit matrix 1962-09-06
102650057 Get median 1963-07-05
102645674 Get standard deviation 1963-02-12
102665095 IOT Operated I/O Devices 1970-12-15
102650060 Inclusive or Blocks 1963-02-12
102650092 Instruction Test Programs 1961-10-04
102665097 Instructional Manual: I/O and mass memory devices 1975-02-02
102650131 Intercom and Debug Program  
102665054 Invisible Debugger (ID) 1973-07-04
102665048 Jack Dennis Technical Papers  
102645673 Kalah game playing program 1961-03-31
102664689 LISP 1966-05-20
102650024 Larger, equal, smaller algebraic (lesa) or absolute magnitude (lesm) 1963-07-05
102650374 MAC: A Master Subroutine Control System 1960-11-22
102665093 MODES, REGISTERS, NEW INSTRUCTIONS, and TRAPS AND INTERRUPTS in the PDP-1-X 1966-06-07
102650090 Memory Addressing Test Program 1961-08-29
102650042 Move a matrix to a new location 1962-09-06
102645677 Move block 1963-02-25
102650324 Multiply Subroutine 1962-11-13
102650041 Multiply a matrix by a constant 1962-09-06
102650046 Multiply a row by a constant 1962-09-20
102650043 Multiply two matrices 1962-09-06
102650113 Multiply/ Divide Option 1961-06-29
102665088 Music programs 1970-11-02
102650134 Nth word readinbuffer subroutine  
102650327 Octal Loader Program/ Octalinput/ Binary Loader 1960-01-22
102650080 Octal Debugger 1963-02-07
102650328 Octal Dump 1960-02-08
102650133 Octal Typeout 1963-03-28
102650120 Operating Instructions for Punching Titles on Tapes 1961-12-07
102650064 Order (Ascending) a dimensional array 1964-09-01
102650025 Order block of fixed point numbers algebraically (oba), or according to absolute magnitude (obm) 1963-07-05
102665098 PDP-1 Basic Instructions 1969-09-22
102665102 PDP-1 INSTRUCTION LIST 1966-04-29
102664692 PDP-1 Sequence Break System  
102665101 PDP-1 Teletype hardware 1969-06-27
102665056 PDP-1 Timesharing interface  
102665060 PDP-1 memory  
102665091 PRELIMINARY DECTAPE FILE SYSTEM 1968-02-15
102665090 PRELIMINARY MICROTAPE FILE SYSTEM 1970-02-06
102664690 PROGRAMMED QUEUES in the PDP-1-X 1966-06-07
102664277 PROPOSED INSTRUCTIONS FOR TIME SHARING ON PDP-1  
102650105 Paper Tape Reader Test Program 1962-04-18
102650121 Program Flags 1962-01-05
102650320 Program Library Index 1964-02-13
102650317 Programmed System for Typographic Composition & Editorial Processing 1961-11-16
102665099 Programming the PDP-1 computer 1963-02-14
102665050 Proposal: An Implementation of an almost-segmented multiprogrammed computer system for the PDP-1  
102650081 Punch Memory 1962-10-30
102650047 Punch an intermediate matrix on paper tape 1962-09-20
102645675 Push block up N registers 1963-02-18
102650065 RATBIN (read and type a binary paper tape) 1963-03-23
102650082 Random Number Generators; Coin, Random, Ranmodn 1962-11-08
102650126 Random Punch Paper Tape/ Typewriter Test 1962-03-30
102650051 Random Walk Number 1962-09-26
102650124 Read & Write Disc 1962-01-23
102650048 Read intermediate matrix tape 1962-09-20
102650333 Readinbuffer 1961-05-09
102664691 Relocatable Assembler  
102665100 Relocatable subroutine library 1971-10-17
102650109 Rotate Test 1962-05-14
102650059 Rotate blk right, left 1963-02-20
102650026 SINGLEDEC 1963-01-10
102650055 Search 1963-05-26
102650058 Select with/without replacement 1963-05-26
102650319 Sequence Break 1960-10-28
102650127 Simple Core Memory Test 1962-03-30
102650062 Sort a block of alphabetic items using sortl (DSL-LP-56) 1963-06-24
102650061 Sort a block of items 1963-06-24
102650136 Speed of the PDP-1 Reader 1961-10-09
102650068 Start-Stop Reader Test 1963-11-19
102664688 TECO (Tape Editor and Corrector)  
102650337 Tape Conversion Program 1961-03-14
102650318 Teletypesetter 1961-12-04
102650117 Telex Disk Storage Unit  
102650315 Telex Test 1961-09-29
102650110 Temporary-Storage Pushdown Package 1962-05-14
102665055 Test Programs  
102665057 Timesharing system instructions  
102665049 Timing charts for PDP-1 computer (Not including in-out features, multiply, divide or the sequence break system) 1962-11-26
102645672 To compute n(n-1)...n(n-r+1) 1962-07-02
102650021 To compute(n/r) = nl/(rl(n-r)1) 1962-07-03
102650022 To delay a running program for a specified number of milliseconds 1962-07-16
102650023 To delay a running program for a specified number of seconds 1962-07-16
102650108 Tracing Program; trace 1962-05-14
102650044 Transpose matrix 1962-09-06
102650114 Trigonometric-Root 1960-11-22
102650067 Two Memory Checkerboard Program 1963-04-16
102650132 Type-A-Tape  
102665107 Typewriter Control 1960-01
102650122 Use of Disc, Light Pen and Logic 1962-01-03

Manuals – Box 4

Folder Number Manuals – Box 4 Date
102652396 DECAL-BBN Programming Manual 1963-09-26
102652397 DECAL-BBN Technical Manual 1963
102636228 Instruction List  

Manuals – Box 4A

Folder Number Manuals – Box 4A Date
102652387 A-D, D-A Interface 1963
102652388 ADA-1A Interface Maintenance Manual 1969
102650503 Adjustment and Lubrication Prodcedures for Decoder and Power Unit of the Computeriter 1963
102652389 Coder Unit Models EC and ETC Computeriter Manual 1963-03
102652390 DECtape Control Type 550 Instruction Manual 1966
102652391 Digital Modules manual 1962
102652393 Magnetic Tape Equipment Types 50/51/52 1963
102652394 Precision CRT Display Type 30A 1962
102652392 System Modules 1964

Manuals – Box 5

Folder Number Manuals – Box 5 Date
102652403 Basic Instruction Manual (Preliminary)  
102652448 I-O Device programming manual 1965-05
102650615 Instruction Manual (PDP-35) 1968-1975
102635758 MACRO Assembly Program 1964
102650491 MAINDEC 1 Instruction Test 1962
102650496 MAINDEC 10 Read Binary Test 1962
102650497 MAINDEC 12 Punch Test 1963
102650500 MAINDEC 132 Light Pen Test 1964
102650498 MAINDEC 14 Typewriter Test Program 1963
102650492 MAINDEC 2 Memory Checkerboard 1963
102650499 MAINDEC 22 Memory Checkerboard Test 1964
102650493 MAINDEC 3 Address Test Program 1963
102650494 MAINDEC 4 Multiply and Divide Test 1963
102650495 MAINDEC 5 Single Channel Sequence Break Test Program 1963
102635749 Macro Assembly Program Internal Operations Manual  
102652398 Macro Assembly Program for Programmed Data Processor -1 (PDP-1) 1963
102652409 Microtape 1964-06
102652395 PDP-1 Course Workbook 1964
102650502 PDP-1 Input-Output Systems Manual (Preliminary Manual)  
102652402 PDP-1 Installation Manual 1964-05
102652399 PDP-1 Supplement (PDP-1D-45) 1964
102652404 Programmed Data Processor - 1 Maintenance Manual 1962
102636240 Programmed Data Processor-1 Handbook 1963
102652401 Programmed Data Processor-1 Manual 1960-1961
102650501 Ultra-Precision CRT Type 31A Display 1963
102652400 User's Guide to Data Handling on the PDP-1 1967-08-01

Miscellaneous – Box 5

Folder Number Miscellaneous – Box 5 Date
102652419 Correspondence with vendors: Digitronics 1963-1964
102652421 Correspondence with vendors: Soroban 1963-1964
102652420 Correspondence with vendors: Teletype 1963-1964
102665109 DEC PDP-1 Technical Memoranda 1961
102665108 DEC PDP-1 Technical Memoranda 1960-1961
102652531 MIT PDP-1 computer work description worksheet
102652422 Misc. DEC Interoffice Memos 1963-1964
102652416 Oral history transcript: Dick Best
102652417 P.E. Customers and serial numbers 1965 ca.
102665105 PDP-1 to MIT donation  
102652415 Type 33 card codes and printouts

Miscellaneous – Box 6

Folder Number Miscellaneous – Box 6 Date
102652406 Computer Application Note 1964
102652405 DEC Programmed Data Processor 1960
102652407 PDP Option List 1963 ca.
102652408 PDP-1 Price List 1963-02-01
102650632 PDP-1 related published articles and conference preceedings 1959 - 1968
102664938 dec PROGRAMMED DATA PROCESSOR 1960 ca.

Specifications – Box 6

Folder Number Spoecifications – Box 6 Date
102652423 10 pin amphenol 1964-12-09
102665127 1K26 pin assignments, inter-bay and dataphone connections 1963-06-13
102652424 22 pin amphenol 1964-12-09
102652426 50 pin amphenol 1964-12-09
102652433 Ampex write up  
102652435 Bus Reset Driver WK01  
102664279 Cable schedule 1963 ca.
102652447 Cable schedule  
102665051 Cable schedule 1964 ca.
102652431 Data channel schematics  
102652445 Explanatory notes for cycle flow diagrams 1964-12-09
102652427 External Components List 1964-12-09
102652428 General Wiring Sheets 1964-12-09
102652438 Installation procedure for 823 SCR Driver 1962
102636257 Master drawing list PDP-1C-6 1964-04-26
102652439 Microtape power control  
102665123 Misc. Hardware Specifications  
102634751 Module list 1966-03-24
102664679 Music Maker diagram  
102652436 Music parts 5 & 6, Position: 10F6  
102652443 Radio astronomy typewriter conn to PDP schematics  
102650100 Self contained DRPE logic 1966
102634776 Special pulse timing chart 1961-06-21
102665047 System diagrams  
102652434 System modules test data: Sense Amplifier 1963-07-30
102652444 TDCM Connections - Memory Bay schematics  
102652429 Taper pins schematic list 1964-12-09
102652432 Teletype Private Type-in control input shift register schematics 1973
102652430 Type 121D Core Memory Control external components list  
102635759 Types and quantities of component used 1961
102652437 Typewriter TSN/TSF Switch PDP Time Sharing 1964
 

Logbooks – Box 6

Folder Number Logbooks – Box 6 Date
102665149 MIT computation book  
102665148 PDP Log (1979-1984) and notes 1979-1984
102665027 PDP-1 Logbook from December 18, 1973 to December 1, 1974 1973-1974
102665064 PDP-1 Logbook from February 24, 1965 - July 21, 1965 1965
102665026 PDP-1 Logbook from June 3, 1973 to December 17, 1973 1973
102665025 PDP-1 Logbook from November 13, 1972 to June 2, 1973 1972-1973
102665029 PDP-1 maintentance log, test programs and guidelines for use of PDP-1 computer  
102665016 Photocopy of Department of Research Laboratory of Electronics PDP-1 1962Logbook from March 12, 1962 to August 15, 1962.
102665017 Photocopy of PDP-1 Logbook from August 15, 192 -October 29, 1962 1962102665020 Photocopy of PDP-1 Logbook from December 2, 1965 to April 20, 1966 1965-1966102665018 Photocopy of PDP-1 Logbook from Janurary 1, 1963 to June 28, 1963 1963102665019 Photocopy of the Department Research Laboratory of Electronics 1965PDP-1 Logbook from July 20, 1965 to December 2, 1965102665022 Photocopy of the Department of Research Laboratory of Electronics 1966-1967PDP-1 Logbook from October 19, 1966 to March 29, 1967102665021 Photocopy of the Department of Research Laboratory of Electronics 1966PDP-1 Logbook from April 20, 1966 to October 18, 1966102665028 Research Laboratory of 36-476 Electronics PDP-1 Logbook from 1974-1976December 1, 1974 to July 30, 1976102665024 Research Laboratory of Electronics PDP-1 Logbook from April 11, 1972 1972to November 12, 1972102665023 Research Laboratory of Electronics PDP-1 Logbook from October 16, 1972-19721971 to April 11, 1972
 

Design Drawings – Box 7

Folder Number Design Drawings – Box 7 Date
102650752 16K Memory Type 170 DEC System Module Location 1963-08-09
102650751 16K Memory Type 170 Racks 3C & 3D 1963-12-17
102650754 16K Memory Type 170 Read Write 1963-07-19
102650753 16K Memory Type 170 Sense AMP & Inhibit 1963-07-24
102650755 A/D/A Interface & Relay Buffer 1966-06-16
102650749 Arithmetic Control Unit: AU Control Logic 1963-01-04
102650750 Arithmetic Control Unit: Flow Diagram of Arithmetic Unit 1963-01-04
102650797 Automatic Mul/Div Type 10 (field instl) switch plate WD 1963-04-25
102650796 Automatic Mul/Div Type 10 DEC system module location 1963-09-24
102665128 Bay 11 to Bay 3 signals  
102665129 Bay 11 to CPU signals  
102665131 Bay 6-7 interconnections  
102650732 Cable Diagram SCR Driver 823 1963-09-05
102650861 Cycle zero & defer cycles flow diagram 1962-06-08
102650862 Cycle zero & defer cycles flow diagram 1961-11-13
102650748 Data Control 131: 1 BUF & 2 BUF 1963-03-07
102650759 Data Control 131: 1C-43 1 Buf & 2 Buf; Racks 1C, 1D, 1E; PDP-5 - 131 1965-02-09- PDP-1 Interface102650747 Data Control 131: Flow Diagram 1963-04-09
102650746 Data Control 131: Initial Location Control 1963-06-21
102650745 Data Control 131: Word Counter 1963-06-19
102665130 Dataphone connectors  
102650744 Dectape 550: Block Diagram, 550 Control 1963-12-16
102650743 Dectape 550: C1 Control Print #1 1963-10-22
102650742 Dectape 550: C2 Flag Response Data Control Outputs 1963-12-13
102650739 Dectape 550: Control Interconnecting Cables 1964-06-23
102650738 Dectape 550: Power Wiring & Indicator Lite Wiring 1964-06-25
102650740 Dectape 550: Utilization Module List 1963-12-16
102650736 Dectape 555: Chassis Wiring 1963-12-30
102650741 Dectape Control 550: IN Information Handling 1963-12-05
102650735 Dectape Control 550: TM Control Pulses 1963-12-16
102650737 Dectape Control 550: Timing Diagram 1963-12-16
102650765 Inforonics  
102650756 Inforonics H.S. Punch Interface  
102665136 Memory assignments: process entity, computation entity, executive routine + (addresses 0 to 3174 octal), active drum area  
102650734 Micro Tape Control 550: W Mark Track Decoding Error 1964-03-13
102650857 PDP-1 Accumulator BS 1962-06-04
102650860 PDP-1 Accumulator Control BS 1962-06-14
102650859 PDP-1 Accumulator Control BS 1962-10-11
102650858 PDP-1 Accumulator Control BS 1963-11-19
102650856 PDP-1 Automatic multiply/ divide type 10 BS 1962-07-05
102650871 PDP-1 Computer logic layout
102650855 PDP-1 Cycle one flow diagram 1962-11-21
102650863 PDP-1 Display console logic typewriter control 1964-04-21
102650870 PDP-1 Drum field selection logic 1962-12-10
102650869 PDP-1 Drum reader amp MIT WD 9D & 9E 1962-12-10
102650867 PDP-1 Drum write amp. WD 9A & 9B MIT 1962-12-10
102650868 PDP-1 Drum write amplifiers MIT BS 1962-12-10
102650853 PDP-1 General control functions 1963-02-07
102650854 PDP-1 General control functions 1962-07-18
102650852 PDP-1 High speed channel control type 19, address mixer BS 1962-04-04
102650851 PDP-1 High speed channel control type 19, buffer mixer BS 1962-04-04
102650850 PDP-1 High speed channel control type 19, request & transfer logic BS 1962-04-03
102650848 PDP-1 In-out input mixer BS 1962-11-09
102650849 PDP-1 In-out input mixer BS 1962-06-04
102650847 PDP-1 In-out input mixer BS 1963-08-27
102650845 PDP-1 In-out register BS 1962-09-19
102650846 PDP-1 In-out register BS 1962-06-21
102650844 PDP-1 Instruction register & decoders 1962-05-16
102650843 PDP-1 Instruction register & decoders 1962-09-19
102650842 PDP-1 Instruction register & decoders 1963-08-27
102650841 PDP-1 MA, MB, IO & PC transfer logic 1963-08-27
102650840 PDP-1 MA, MB, IO & PC transfer logic BS 1962-07-13
102650839 PDP-1 Memory address register & decoders BS 1962-06-04
102650838 PDP-1 Memory address register & decoders BS 1963-01-20
102650837 PDP-1 Memory buffer register BS 1962-06-04
102650836 PDP-1 Memory buffer register BS 1962-09-19
102650835 PDP-1 Memory extension control type 15, MAD & MB buffers 1962-06-02
102650832 PDP-1 Memory extension control type 15, transfer and selection logic 1962-06-04BS102650834 PDP-1 Memory extension control, type 15 memory buffer mixer 1962-06-02
102650833 PDP-1 Memory extension control, type 15, transfer and selection logic 1962-08-27
102650831 PDP-1 Memory module type 12 1962-03-01
102650830 PDP-1 Memory module type 12 BS 1962-05-16
102650829 PDP-1 Memory module type 12 BS 1962-11-21
102665124 PDP-1 Modifications, external flags and buffers  
102650828 PDP-1 Program counter BS 1962-09-19
102650827 PDP-1 Program counter BS 1962-01-26
102650826 PDP-1 Punch control 1963-11-02
102650825 PDP-1 Punch control BS 1962-03-01
102650824 PDP-1 Punch control BS 1962-10-11
102650821 PDP-1 Reader control BS 1965-08-21
102650823 PDP-1 Reader control BS 1962-07-05
102650822 PDP-1 Reader control BS 1962-10-11
102650818 PDP-1 SH/RO logic, program flag & count logic, one channel sequence 1963-6-10break BS102650820 PDP-1 Sequence break system type 20, control BS 1962-06-04
102650819 PDP-1 Sequence break system type 20, priority chain BS 1962-06-04
102650865 PDP-1 Standard Wiring... for one memory CD 1962-04-11
102650817 PDP-1 Standard in-out transfer control BS 1962-10-29
102650816 PDP-1 Taper pin panels & in-out plugs for optional equipment WD 1962-05-11
102650814 PDP-1 Typewriter Control 1962-11-02
102650815 PDP-1 Typewriter control BS 1962-06-06
102665125 PDP-1 modifications IO buffer register  
102665137 PDP-1 modifications: time sharing IO input mixer  
102665133 PDP-1 modifications: time sharing sequence break  
102665126 PDP-1 time sharing executive flowchart  
 
102665135 PDP-1 time sharing executive routine  
102650812 PDP-1B Cycle one flow diagram 1961-07-12
102650813 PDP-1B Cycle one flow diagram 1961-07-12
102650811 PDP-1B Cycle zero & special cycles flow diagram 1961-07-12
102650809 PDP-1C Accumulator 1962-05-04
102650806 PDP-1C Accumulator 1963-11-20
102650807 PDP-1C Accumulator 1963-09-20
102650808 PDP-1C Accumulator 1963-09-20
102650805 PDP-1C Address mixer high speed channel control type 19 1961-05-12
102650803 PDP-1C Automatic multiply / divide type 10 BS 1964-03-02
102650802 PDP-1C Buffer mixer - high speed channel control type 19 1961-05-12
102650804 PDP-1C Flow diagram automatic mul /div type 10 1962
102650801 PDP-1C IOT control BS 1961-05-22
102664678 PDP-1C Option Interconnection for MAG TAPE 51 1963-09-19
102650800 PDP-1C Reader teletype#punch typ# control 1963-06-10
102650799 PDP-1C SH/RD +1,-1, PC, rotate, PF, one channel SB & control 1959-11-03
102650864 PDP-1C Special cycles 1961-10-29
102650798 PDP-1C Special cycles 1963-05-29
102650795 PDP-1C TPG, SPG, EE, BC, defer, cycle & run, control BS 1959-12-01
102650794 PDP-1C Wiring diagram; IH- time pulses, IJ - PBG, SPG IOT; 1K - Run, 1961-06-28Cycle, DF, Break WD102650770 PDP-1C--2 Memory system BS 1960-09-09
102650793 PDP-1C-2 AC Control 1960
102650792 PDP-1C-2 Accumulator BS 1959-10-05
102650791 PDP-1C-2 Console, control panel WD 1961-08-22
102650790 PDP-1C-2 IO Register 1959-09-21
10265089 PDP-1C-2 IOT pulses WD 1961-06-05
102650788 PDP-1C-2 IR + Buffers 1966-09-08
102650787 PDP-1C-2 MA, PC, MB 8, IO pulse control BS
102650786 PDP-1C-2 Mem address register decoder BS 1959-08-19
102650785 PDP-1C-2 Memory Buffer Register BS 1959-09-08
102650784 PDP-1C-2 Memory system 3A,B,C,D WD 1961-07-05
102650783 PDP-1C-2 SH/RO, +1-1, PC, Rotate, PF BS 1959-11-03
102650782 PDP-1C-2 Typewriter buffer O & control BS 1960-12-29
102650767 PDP-1C-20: In-out input mixer #2 1963-11-07
102650766 PDP-1C-20: Inforonics A/D/A  
102650769 PDP-1C-20: Option interconnection 1964-09-11
102650764 PDP-1C-20: Taper pin panels & in out plugs for optional equipment 1963-06-10
102650768 PDP-1C-20; Micro Tape 555 IOT Control 1963-08-26
102650781 PDP-1C-3 IOT Control BS 1961-07-25
102650780 PDP-1C-3 IOT Pulses WD 1961-06-05
102650779 PDP-1C-3 Logic for teletype BRPE punch B5 1961-05-15
102650778 PDP-1C-3 Memory system 3A,B,C,D WD 1961-07-05
102650777 PDP-1C-3 Program counter BS 1961-01-12
102650776 PDP-1C-3 Reader Buffers & Control 1960-09-09
102650775 PDP-1C-3 Reader Buffers & Control 1960-09-09
102650774 PDP-1C-3 SH/RO +1,-1, PC, Rotate, PF 1959-11-03
102650773 PDP-1C-3 Wiring Diagram ID+1 PC, SH/RD IE-Pf+SH/Logic IE, IR IF 1961-06-28
102650763 PDP-1C-33 Ass'y 1964-03-23
102650762 PDP-1C-35: Memory Extension Control Type 15, MAD & MB Buffers 1963-06-11
102650761 PDP-1C-38: Standard In-Out Transfer Control; A/D General Purpose; 1964-01-08In-Out Input Mixer; Bit Control & Speed Accuracy; PDP-1C OptionInterconnection for Micro Tape102650772 PDP-1C-4-2 Color box transfer logic 1968-12-10
102650760 PDP-1C-40: In-Out Input Mixer; IOT Control Data 131 Space War 1964-01-16Console MIT; Taper Pin Panels & In Out Plug; Option Interconnection;Instruction Register & Decoders102650758 PDP-1C-49 ADX-10 Memory Extension Control Type 171 Transfer & 1964-04-29Selection LogicBox 7102650757 PDP-1C-50 ADX-9 Memory Extension Control Type 171 Transfer & 1964-04-29
Selection Logic102650771 PDP-1C-6-2 3D Display interface; PDP-1C-6-3 Request & transfer logic 1963-6-3high speed control type 19102650866 Punch (2 1/2 amp) 2 step power control BS 1961-09-29
102650733 RACK 11F SCR Driver 823 1963-07-15