The programmable calculator Programma 101

Antonio Estrella Contreras

The Programma 101 arose in 1964 and its building was based on discrete elements being transistors the most important ones. In those days computers had a significant size and were oriented to specialized users.

PROGRAMMA 101

Click on the image for larger view

The Olivetti Programma 101.

Video about the Olivetti Programma 101.

DEVELOPMENT AND PRESENTATION

In spring 1962 Roberto Olivetti, then president of the Italian company Olivetti, gave instructions to the engineer Pier Giorgio Perotto to initiate the feasibility study of an electronic calculator able to automatize a sequence of instructions. It had to be affordable for a non-specialized user, at a reasonable price and with small dimensions similar to those of a typewriter. .

Pier Giorgio Perotto devised a small machine, flexible, with memory, easy to use and programmable by using a simple programming language. That is, a personal computer.

In order to accomplish the assignment, Perotto created a development team formed by four men: Gastone Garziera, Giovanni De Sandre, Giancarlo Toppi and Giuliano Gaiti.

Equipo de desarrollo
Click on the image for larger view

The development team with the second prototype of Programma 101 (August, 1964).

From left to right and top to bottom: Gastone Garziera, Giancarlo Toppi, Pier Giorgio Perotto and Giovanni De Sandre. Giuliano Gaiti does not appear because he was the one who took the photo.

Courtesy of Associazione Archivio Storico Olivetti, Ivrea, Italy.

Two important points for success were to replace the existing memories by acoustical delay line memories with metal wires, and the use of 2N708 transistors which had fewer problems regarding overheating and reliability as vacuum valves had (also its useful life was excellent).

The work of the development team ended on 1964 – two years of work – by getting a product which would be the beginning of the history of PCs, it was called the Programma 101.

In October 1965 there was a presentation of the Programma 101 at the BEMA Universal Exhibition in New York, directed to non-specialized users in computing.

Exposición universal de Nueva York de 1965
Click on the image for larger view

Presentation of the Programma 101 at the Univerval Exhibition in New York in 1965.

Courtesy of Associazione Archivio Storico Olivetti, Ivrea, Italy.

Video about the presentation of the Programma 101 at the Univerval Exhibition in New York in 1965.

MEDIA COVERAGE

The success of the Programma 101 at the Universal Exhibition was immediately recorded by the media.

Recortes de prensa americana
Click on the image for larger view

American press cuttings of the Programma 101.

Click here for more details

Olivetti took advantage of the moment to launch an advertising campaign of Programma 101 around the world.

Publicidad en medios españolesPublicidad en medios españoles
Click on the image for larger view

Advertising in Spanish media.

The Programma 101 reached many areas such as medicine, small businesses, students, topographers, and it was also introduced into the daily life of people.

Another use of the Programma 101 was the planning of military operations in the Vietnam War on the part of US Air Force.

The US Space Agency NASA bought in 1966 10 more units which were used in the decision of landing points and maneuvering in the Apolo 11 mission that in July 1969 took the man to the moon for the first time.

Misión Apolo 11Misión Apolo 11
Click on the image for larger view

Participation of the Programma 101 in the Apolo 11 mission of NASA.

Courtesy of Associazione Archivio Storico Olivetti, Ivrea, Italy.

TYPE OF ELECTRONICS AND MEMORY

At that time integrated circuits did not exist and by using discrete electronic components such as diodes, resistors, condensers and transistors the development team had to be able to build this machine. They designed an acoustic delay line memory with metal wires.

This kind of memory consist of a metal wire rolled in order to reach a large length – 6.5 meters in the case of Programma 101 – by occupying the less space possible. Connected to this wire there are the transceivers formed by a piezoelectric material which convert electrical signals into acoustic waves and vice versa.

Prototipo de memoria  de línea de retardo acústica magnetostrictiva
Click on the image for larger view

Prototype of the acoustic delay line memory with metal wires built in 1962.

It consists of a metal wire of 1280 meters, two coils (red) as transducers for writing and a coil (yellow) as transducer for reading. This prototype had a capacity of 256 bits and a delay of 265 microseconds.

Courtesy of Associazione Archivio Storico Olivetti, Ivrea, Italy.

The memory unit of the Programma 101 had a size of 18 x 19 x2 cm, a small size compared with the memories of big computers at that time. This memory had capacity of 960 bits.

Unidad de memoria
Click on the image for larger view

Memory unit of the Programma 101.

MAGNETIC CARD

Other novelties that included the Programma 101 were the magnetic cards, which gave the possibility of being used as a permanent storage medium. Until that moment there were only big and heavy magnetic tape rolls.

Since then, other computer manufacturers, such as IBM, copied the idea and started to work with it until the development of diskettes and other magnetic media which are used nowadays.

Tarjeta magnéticaTarjeta magnética
Click on the image for larger view

Magnetic card of the Programma 101 and its method of use.

Video about magnetic card created for the Programma 101 and its method of use.

DESIGN

Other important aspects of this machine were its dimensions and appearance (48 x 61 x 19 cm and 35.5 kg). The aesthetic and ergonomics, which had never been taken into account when designing this type of machines, were requested by the president of the company Roberto Olivetti to the architect and designer Mario Bellini. The design of the Programma 101 was developed in order that users without informatics skills could manage this computer.

The design of the Programma 101 was so revolutionary that was exhibited at the Museum of Modern Art in New York.

REGISTERS AND MEMORY

The memory of the Programma 101 consisted of 10 registers of 24 digits each one, so its computational capacity was high for that time.

Two of these registers were reserved for the program, they had a capacity of 48 instructions and the rest of registers –denominated M, A, R, B, C, D, E y F– were directed to the data storage: M, A, R for operations and D, E, F for storage and program.

Configuraciones registros
Click on the image for larger view

Possible configurations that registers of Programma 101 provide us.

JUMP INSTRUCTIONS

In order to program the Programma 101 there were 16 jump instructions::

GENERAL
”S” (Stop/Start) It waits until a value is introduced in the keyboard./Resumes the execution.
”*” (Clear) It erases the content of the specified register.
”◊” (Print) It prints the content of the specified register.
DATA TRANSFER
” (To A) It passes the content of the specified content to the accumulator.
” (From M) It moves the content of M to the specified register.
” (Exchange) It interchanges the content of the specified content and the accumulator.
”RS” (D-R Exchange) It interchanges the content of register d and D with the content of register R.
”/” (Decimal To M) It passes the decimal part of the content of register A to register M.
ARITHMETIC FUNCTIONS
”+” (Addition) It adds the content of the specified register with A.
”-” (Subtraction) It subtracts from content A the recorded value in the specified content.
”x” (Multiplication) It multiplies the values of both registers A and the specified.
”÷” (Division) It divides the content of A for the content of the specified register, the quotient is recorded in A and the rest in R..
”√” (Square Root) It calculates the square root of the content of the specified register and records the result in A.
”A” (Absolute Value) It calculates the absolute value of A.
JUMP OPERATIONS
Unconditional It jumps to the reference (destination).
Conditional If the content of the register A is higher than 0 it jumps, otherwise it continues with the next instruction.

Olivetti designed a form in order to be a model for those users who programmed this computer. This template shows all the required information to program it.

Cálculo de la órbita de un satélite
Click on the image for larger view.

Calculation of a satellite orbit around the Earth executed at the Universal Exhibition in New York in 1965.

Ver vídeo

Video where it appears the Programma 101 calculating the satellite orbit around the Earth.

Click here or on the image to watch the video.

SIMULATORS

It is possible to find diverse simulators online of the Programma 101.

One of them is the one developed by Marco Galeotti, this has a didactic interface focused on teaching how the Programma 101 works internally.

Simulador
Click on the image for larger view

Simulator developed by Marco Galeotti.

Click here to access the simulator.

Another simulator is the one developed by the engineer Claudio Larini, this simulator, although it has a Spartan interface, has been selected because it reproduces the keyboard, data output and other controls in the same way as the Programma 101. The appearance or interface is very similar to the Programma 101, but also its mode of use.

Simulador
Click on the image for larger view

Simulator developed by Claudio Larini.

Click here to access the simulator.

Video about the historical role of the Programma 101.

Thank you for your attention, I hope you have enjoyed the Programma 101.