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.
Click on the image for larger view |
|
|
|
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.
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.
Click on the image for larger view |
|
|
|
MEDIA COVERAGE
The success of the Programma 101 at the Universal Exhibition was immediately recorded by the media.
Click on the image for larger view |
|
Olivetti took advantage of the moment to launch an advertising campaign of Programma 101 around the world.
Click on the image for larger view |
|
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.
Click on the image for larger view |
|
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.
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.
Click on the image for larger view |
|
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.
Click on the image for larger view |
|
|
|
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.
Click on the image for larger view |
|
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.
Click on the image for larger view. |
|
|
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.
Click on the image for larger view |
|
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.
Click on the image for larger view |
|
|
|
Thank you for your attention, I hope you have enjoyed the Programma 101.