Olivetti/Programma 101/Revive

Fra DDHFwiki
Spring til navigation Spring til søgning

This is where I will describe the progress of the work to bring our Olivetti/Programma 101 back to life.

(Contact: Thorkil)

2012-Mar-08: Opening the box for the first time

A Thursday evening in March 2012, we opened the Olivetti Programma 101 for the first time. A few pictures were taken:

We observed the need for general cleanup, replacement transmission belts, ribbon, magnetic cards for recording.

2012-Jun-26: The Tedeschi contact

Poul-Henning supplied the reference http://www.paolo.tedeschi.it/collezioni/olivetti/pco/1961-1980/Olivetti_P101.htm which is part of the web site of the Tedeschi family. In the kind response to my letter, Paolo Tedeschi suggested contacting Ernie Jorgensen at Office Machine Americana to purchase manuals and also Ivrea Laboratorio - Museo for people who know how to repair the P101.

2012-Jul-12: Help offered from the designers of the Olivetti Programma 101

The response from Ivrea Laboratorio - Museo was quite overwhelming, in that the actual designers of the Olivetti Programma 101, in a kind letter from Mr. Sandro Graciotti, offered their help. My gratitude is perhaps best conveyed by quoting my response. Some initial comments were given in a further letter from Mr. Graciotti.

2012-Jul-12: Opening the box for the second time

On 2012-Jul-12, we opened the Olivetti Programma 101 for the second time, this time taking many more pictures, as detailed in Olivetti/Programma 101/Revive/OpeningTheBox.

2012-Jul-17: The Olivetti Programma 101 Technical Manual

On 2012-July-16, I received the Olivetti Programma 101 Technical Manual from Office Machine Americana:

This manual will definitely prove valuable. Quoting from the SCOPE:

This manual is concerned only with the mechanical units and
the electrical wiring of the machine. The functioning of the
electrical and electronic units is dealt with in separate man-

A quick summary of the contents:

  1. Mechanical power distribution
  2. Keyboard unit
  3. Servomechanism
  4. Printer unit
  5. Ribbon feed assembly
  6. Card section
  7. Electrical wiring
  8. Use and care of the meter

A total of 117 pages, full of detailed descriptions, diagrams, and checking- and maintenance procedures.

2012-Jul-18: Questions and answers

Some questions have been asked and answered:

2012-Aug-23: Additional parts

This Thursday evening, with Poul-Henning, managed to separate the box of electronics from the rest and also discovered the hinged keyboard/printer/card reader/writer units.

2012-Sep-06: Even more parts and pictures

Loosened the unit that, among other things, holds the fan. With Henrik, took out one of the circuit boards. With Ole, discussed the prospect of applying power to the machine, taking special care of the various capacitors. Additional pictures were taken.

2012-Sep-13: Printer and keyboard

Today, I detached the printer and also managed to unlock the keyboard.

2012-Sep-27: Applying power

Henrik helped applying power to some of the large capacitors. Looking good, he said. The pictures are mainly to help remember some of the steps involved when taking things apart and noting some of the disconnected parts.

2012-Oct-04: Transmission belts and ancient P101 code

Searching for "drivremme", found, in the commercial response, a reference to FEC CONSULTING. I called them and they seem capable of delivering transmision belts of many kinds. A more low key solution to the transmission belt problem is provided by Claus Andersen, referring to Bremdal Radio.

And then, rummaging through some old material, I found Projekter/GammaFunction which includes code for the Olivetti Programma P101 for computing the Gamma function.

2012-Nov-08: A few parts

Took a few more things apart.

2012-Nov-15: Initial vacuum cleaning

Vacuum cleaned the, almost empty, bottom casing.

2012-Nov-22: Red, blue, grey

Color of wires:

Still working at emptying the bottom casing, not quite there yet.

2012-Nov-29: Motor, fan, and a bit of keyboard

No pictures today, the camera battery was being charged. Still working on emptying the casing, the right hand side containing motor and fan still not entirely detached. Inspected the complex mechanisms of the keyboard, rotated a few shafts, observed the keyboard locking and unlocking. The diameter of a short left-over piece of belt was estimated to have a diameter of 3 millimeters.

2012-Dec-06: Motor and fan - 2nd edition

Harvest of today:

Making sure that I don't forget.

2012-Dec-13: Putting things together 1

Last session before Christmas, putting things together again, almost, that is.

2013-Jan-10: Putting things together 2

After considerable effort, probably needed because of the 4 week break, completed assembly, at least to the level (lid off, electronics detached) that I have come to consider my safe base.

2013-Jan-17: All apart

Managed to detach the right-hand stuff, motor, fan, on/off switch. I have now had everything out of the box, although not simultaneously. Did a bit of cleaning, wondering what kind of solvent will help me remove the sticky remains of the old transmission belts.

2013-Jan-24: Empty casing

Reusing pictures from 2012-Nov-08 and 2012-Nov-15:

Add a few more:

Resulting in:

2013-Jan-31: All together again

No pictures this time.

2013-Feb-07: Pulleys and belts

Cleaning the pulleys and considering the required belts.

There are eight (8) pulleys, number them 1-8:

Pulley 1
Unable to detach it, was able to detach the fan, but the pulley is relatively clean, so no urgent need to do anything further.
Pulley 2
Directly attached to the motor. Able to loosen the two screws holding the pulley to its shaft, as described on page 2-3 of the Technical Manual.
Pulley 3
Detached, cleaned with paper towel, take with me for possible measurement for a suitable belt running between Pulley 3 and Pulley 4A.
Pulley 4
Is actually a double pulley, larger Pulley 4A, smaller Pulley 4B. Unable to detach, so attempt cleaning in place with paper towel protecting neighboring parts and using benzine and swab. Lots of melted belt material left, especially on the smaller Pulley 4B.
Pulley 5
Another double pulley, larger Pulley 5A, smaller Pulley 5B. Plastic and dirty: Detach, leaving a ring behind on the shaft. Take with me for later cleaning and measuring.

And belts:

  • Belt between Pulley 1 and Pulley 2 measured by a string: 71.0 cm.
  • Belt between Pulley 3 and Pulley 4A: 25.6 cm.

Numbering them:

Belt 1
Pulley 1 and Pulley 2.
Belt 2
Pulley 3 and Pulley 4A.
Belt 3
Pulley 4B and Pulley 5A.
Belt 4
Pulley 5B and Pulley 6.
Belt 5
Pulley 7 and Pulley 8.

Leave for now.

2013-Feb-14: Pulleys continued

Pulley 6
Unable to detach, cleaning in place.

Preparing to remove some more parts:

2013-Feb-21: Servo mechanism and card chute

Recording work attempting to get in a position to be able to clean Pulley 7:

Note the apparently deteriorated rubber roll shown in the last two pictures.

2013-Feb-28: Card chute 2

Recording more work attempting to get in a position to be able to clean Pulley 7:

2013-Mar-07: Servo mechanism 1

Today was spent, essentially, staring at the servomechanism, trying to decide whether detachment was needed.

2013-Mar-14: Servo mechanism 2 and patent 3,495,222

More staring at the servomechanism. Poul-Henning found http://www.google.com/patents/US3495222 that appears to describe many details of the Programma 101.

2013-Mar-21: Power?

Henrik finished the measurement of the last capacitor, hoping in the end to apply some limited amount of power. Perhaps the motor will turn? It did.

And pictures, documenting parts for posterity:

2013-Apr-07: Generalforsamling 2013

Sketch of talk at DDHF generalforsamling 2013.

2013-Apr-12: Measuring and ordering belts

This Friday, I measured the belts and ordered them:

Pulley 3 dimension: Something is wrong here, but leave it for now. What we would like to do is simply calculate the pretension and order the belts. And simply order two different belt 2s:

 PU 85 A green smooth FBKP85A06 pretension 6-8%
 PU 85 A green smooth FBKP85A08

And/or maybe:

 PU 75 A red smooth FBKP75A06 pretension 6-8%

Pretension: As described on page 47 of the BEHAbelt catalogue, pretension is the relative length added to the belt without tension when mounted. So given a desired pretension, we need to divide the mounted length by (1+pretension).


Belt 1: 71.1 cm.	711	664,4859813	664
Belt 2: 25.3 cm.	253	236,4485981	236
Belt 3: 22.2 cm.	222	207,4766355	207
Belt 4: 21.5 cm.	215	200,9345794	201
Belt 5: 17.2 cm.	172	160,7476636	161

Bestilling af 6 endeløse remme

Kære FEC Consulting,

Vi talte sammen for nogle måneder siden om remme til en gammel programmerbar bordregnemaskine, som jeg forsøger at få til at køre igen. I den anledning vil jeg gerne bestille 6 endeløse remme, nærmere beskrevet disse, fra Jeres BEHA-BELT2011-2012_EN.pdf katalog:

 V-belt      PU 75 A red smooth   FBKP75A06    236 mm
 V-belt      PU 85 A green smooth FBKP85A06    236 mm
 Round belt  PU 85 A green smooth FBRP85A030   664 mm
 Round belt  PU 85 A green smooth FBRP85A030   207 mm
 Round belt  PU 85 A green smooth FBRP85A030   201 mm
 Round belt  PU 85 A green smooth FBRP85A030   161 mm


Send to fecconsult.dk.

2013-Apr-25: More disassembly

Documented using the camera:

2013-May-23: Detach servo mechanism

Managed to detach the servo mechanism:

Lost a screw inside the keyboard unit, to be recovered.

2013-May-25: Keys off, high pressure air cleaning

The pictures speak for themselves:

And by the way: Tilting the machine recovered the lost screw.

2013-May-30: Belts

The belts have arrived. Some have been tried and they appear most promising:

2013-Jun-02: Smoke and keyboard

Had full power on for a short while (only the right side of the machine active) and noted smoke coming out here:

Did some exploration of the keyboard mechanism.

2013-Jun-06: Circuit diagram and microswitch exercise

Henrik and Poul-Henning both indicate that a circuit diagram would be extremely useful in order to locate the trouble causing the smoke observed when full power was applied.

Further today, I attempted to verify the operation of the mechanical binary encoder of the individual keys. There are differences between the observed behaviour and the description in the technical manual: Both the decimal point key and the negative sign key were observed to activate the AK (accept entry) switch, in contrast to the description in the technical manual. The verification only included observing the physical movement of the switches. No attempt was made to measure whether connection/disconnection actually happened.

2013-Jun-09: Sandro Graciotti comes to the rescue

In response to my cry for help, Sandro Graciotti provided additional information, including a schematic drawing of the P101 power supply (Fil:OlivettiProgramma101 Alimentatore P101.pdf).

2013-Jun-13: Headlights

Ole kindly looked at the diagram and description supplied by Sandro Graciotti and suggested to simply follow the advice and use a couple of car headlights for a test of power supply without electronics. And so, I acquired several 12V 21W light bulbs at the nearest gas station. With these and helped by Ole, we were able to power up the machine without further smoke coming out. On the other hand, measurements showed the voltage to be about 32V and apparently not affected by the regulating pot on the board. Ole is supposing that the transistor on the small board is burned out and not regulating anything. This is in agreement with my observation of the source of the smoke, but needs to be looked into.

Some pictures of things that were taken apart:

2013-Jun-20: Servo mechanism under power

I mounted the sturdy belt connecting the motor with the servo mechanism and, using a slightly stabalized edition of the headlights chain, ran the servo mechanism under power. Keyboard seemed well behaved, but noisy.

Pictures intended to verify and perhaps adjust the schematic drawing of the power supply:

Claus recorded a video of the events, see Olivetti Programma 101 lever.

2013-Jul-04: Ole at the steering wheel: MM1614 and Zener diode

Ole did a lot of measurements and analysis work. The tentative conclusion is that, yes, possibly the MM1614 transistor is hurt, but the "Zener Diode" depicted directly above the MM1614 on the Graciotti diagram could also be damaged. The next step indicated is unsoldering the small group of components that includes the Zener Diode and the MM1614 transistor from the small board to enable simple measurements that will enable an evaluation of the health of these components.

2013-Jul-11: "Teknisk museum" in Hillerød and "Energimuseet" in Tange have P101s

On 2013-Jul-11, we visited the "Teknisk Museum" to inspect a number of items of interest, among them, a P101. The copy seemed in good shape and, not least, had lots of accompanying documentation and software, having apparently been used by an engineering company for computations of dimensions and strength of parts of buildings.

Finn sent a picture taken in 2007 by Henrik of a P101 at the "Energimuseum" in Tange.

2013-Aug-29: Henrik at the soldering iron: More measurements, starting repairs

After unsoldering the Zener diode and the MM1614 transistor, both turned out to be in bad shape. Additional measurements indicated that at least one of the SJ1241 transistors were also in a bad shape. We started repairs, replacing the MM1614 with one that Uffe found on eBay, and the Zener diode and paired SJ1241s with hopefully equivalent parts from our stock of spare parts.

2013-Sep-05: Repairs and contemplation

A day of repairs, Henrik replacing two of the SJ1241 transistors, the MM1614 transistor and the Zener diode. And contemplation, Ole participating. Pictures below captures the mood and display pertinent details.

2013-Sep-19: Voltage regulation active

Henrik performed various measurements and was able to demonstrate that the voltage regulation was active. The Zener diode needs to have different properties, however, so I ordered a new set of these components, as adviced by Henrik.

A modest addition to the collection of pictures intended to help not getting lost when taking things apart and putting them together again:

2013-Sep-23: www.museodelcomputer.org

Finn sent reference to http://www.museodelcomputer.org/index.php/nav=Catalogo.20/Language=ITA/Mode=Display/User=/Letter=O/Livello=Macchina/Marca=12/Item=1272/Pagina=Fotografie with P101 pictures.

2013-Sep-26: Replacing the Zener diode

Henrik continued the work, replacing the Zener diode and testing the regulation. Finding it not entirely satisfactory, the next step will be to replace the last of the main transistors with one from our stock of spare parts.

2013-Oct-03: Regulator working

Having replaced the last transistor, Henrik declared his satisfaction with the functioning of the regulator. I was suddenly behind, having still not cleaned the last of the pulleys, but in any case, the next step seems to be powering up the machine, including the printer and the electronics. The card reader has some rollers in a bad state and can be left out initially.

And for the record:

2013-Oct-10: All assembled now

Today was spent assembling the P101 to a stage where we are ready for a smoke test that includes the electronics. I noted a burned-out circuit breaker, "300 mA T", and ordered some "250 mA T" and "315 mA T" replacements.

2013-Oct-17: hello, world

Today, our P101 started running, computing, square roots, Fibonacci numbers, printing, the works.

Initially, I replaced the burned-out 300 mA circuit breaker with a 315 mA one that I had ordered, Henrik advising that the indicated current was probably only accurate to within 10 percent anyway. Then we turned the machinery on, gradually increasing to full power. A bit of smoke was observed once, but presumably whatever it was simply burned away, not to re-appear later.

I had assembled the ventilator fan in such a way that its rotation was severely hampered. Fortunately, this was easily fixed.

The keyboard locked more often than it should, but apparently, this was caused by some of the moving parts not moving as smoothly as needed. I was able to help matters along with suitable prodding of the appropriate parts.

We observed behaviour consistent with a working machine, for example typing some digits followed by the "A Down" key, caused the keyboard to lock only after the "A Down" key was pressed. Something was watching our movements from inside the machine.

Nothing was initially printed, so we detached the printer and found other moving parts that needed prodding for the printing head to start moving and also return to its starting position at the extreme right.

We were then able to type the number 123, "A Down" and observe a printed result, very faint, since I haven't yet acquired fresh ribbon for the printer:

Next 56 "A Down" 23 "*", result: 1288, 13 decimals:

And the square root of 2 with 13 decimals (1.4142135623730 truncated):

Then we started programming. Fibonacci numbers:

 A Diamond


Hard to tell, but the program actually printed, helped by some manual intervention to unblock the printer, the Fibonacci numbers up to 23 digits, then turned on the overflow lamp.

Clips by Henrik: https://picasaweb.google.com/108327689083697662703/Programa10104?authkey=Gv1sRgCKCripPc7aHHvQE#

What a glorious day.

2013-Oct-25: Ribbon and adjustments

The P101 still running, Ole provided it with a new ribbon which emphasized the need for adjustments of the printer. Prodding is still needed following most uses of the printer as well as to release the keybord. Studying the technical manual for maintenance procedures seems advisable.

Scrutiny of the output produced last Thursday indicates that the last Fibonacci number actually printed is F[107] = 10284720757613717413913, the first 23-digit Fibonacci number. This is slightly odd, since I believed that P101 numbers were limited to 22 digits. Furthermore, no more 23-digit Fibonacci numbers were printed, although more certainly exist, the next is F[108] = 16641027750620563662096.

Greetings from Sandro Graciotti

In reply to my message, telling about our working P101, Sandro Graciotti wrote:

Dear Thorkil,
CONGRATULATIONS! yours is an outstandig feat.
You have won a free ticket to our museum!
Apart from the magnetic card I believe everything works ok; keep us
informed on your progress.

Ivrea, here I come!

2013-Oct-31: Adjusting the printer and the keybord lock mechanism

Today was a day of lubrication and adjustments: The printer now prints and the keyboard unlocks without help. See the interesting movie clips by Henrik: https://picasaweb.google.com/108327689083697662703/Programma101_no_hands?authkey=Gv1sRgCMuVwYz2xuvA1AE.

2013-Nov-07: The printer needs an overhaul

We played a bit more with the machinery and made some more systematic observations of the behaviour of the printer: The rightmost column never prints the right symbol, the second from right often prints a wrong symbol and the numbers printed appear jumbled and the first digit is sometimes missing.

2013-Nov-21: 8 queens

Today, using our P101, we solved the 8-queens problem. The 8-queens problem is a puzzle, that of placing 8 queens on an 8x8 chess board so that no queen, under the rules of chess, can capture any other. Earlier, I have written a program to solve this problem on an HP 25 pocket calculator, so in some sense, writing the P101 code was just a porting excercise.

Queens, code, and output

I had the P101 code for the 8-queens problem ready on 2013-Nov-07, developed in the days before that and entered into a text file. It seemed advisable to maintain the code in machine-readable (and also human-readable) form, even though it would have to be entered by hand in any case.

On 2013-Nov-07, I entered the program into the P101 and ran it, but unfortunately, it didn't work. Initially, I was solving the smaller 4-queens problem (that is, placing 4 queens on a 4x4 chess board so that no queen can capture any other). I had included debugging code in the form of stops that were controlled by a counter, allowing the state of the computations to be inspected. The state, as inspected during several of these stops, indicated that the computation had entered an infinite loop. I was unable to explain this behaviour. Suspecting that I had made a typing error while entering the program, I entered the program again, moving the debugging stop to a more often passed spot. But that didn't help: The infinite loop was still apparent. Somewhat dismayed, I had to leave for the evening without getting closer to an explanation.

With several possible sources of errors, I set about to eliminate, as far as I could, the possibility of errors in the program: The machine-readable code was produced also with an eye to the possibility of, eventually, writing a simulator for the P101. That, however, was postponed for the time being, instead I simply transcribed the P101 code into C and ran that on one of my more modern machines. And, lo behold, after some exciting moments, I found an error, the C code reproduced the infinite loop behaviour.

The error was easily corrected in the P101 code Media:OlivettiProgramma101queens.p101.asc. The transcribed C code is Media:OlivettiProgramma101queens.c.asc.

On 2013-Nov-21, I entered the corrected program and solved the 4-queens problem, the 5-queens problem, and found 2 of the 92 solutions (this includes rotated and mirrored solutions) to the 8-queens problem. Selected output:

On the first of these pictures of P101 tape, the 4-queens problem is solved. The first solution is marked as such by hand: A bit of imagination is needed, but the solution is actually printed as


As explained in the comments to the code, the chess board is represented by a single number, one decimal digit per column that represents the row number (0, 1, ...) of the queen presently occupying that column. This works, because each column must necessarily contain exactly one queen. Thus, 4 digits are needed to represent the 4x4 chess board. For technical reasons, the last digit is in the tenths position, hence the decimal point that can be seen.

With this interpretation, 130.2 can be seen to represent the board

 . . x .
 x . . .
 . . . x
 . x . .

where the x's represent queens, and the correctness of the solution is easily verified.

Further up, on the first piece of tape, a debug stop is used to print the partial solution and the current column as:


At this point, it has been established that the queen in column 3, row zero, doesn't conflict with the queens to the left of column 3 and the program is ready to consider column 4. The representation of the board is multiplied and divided by 10 in such a way that the current column under consideration is always in the tenths position. And the column number is maintained in tenths.

Still on the first piece of tape and further down, the second solution


is printed.

On the second tape, all solutions to the 5-queens problem are printed as:

   241. (probably 241.3, erroneously printed)

Note that for the first two solutions, the queen in the first column sits in the first row (0). This leading zero is not printed and must be imagined.

Finding these solutions took some 5-15 minutes.

The third tape shows the beginning of the solution of the 8-queens problem, starting, as noted, at 20.13. Finally, the fourth tape shows the first and second solutions to the 8-queens problem, the first


appearing at 21.43, so after about 1.5 hours. The second solution


is printed at 22.12. For both of these solutions, the leading zero that represents the position of the queen in the first column is not printed.

Debug output is sprinkled in between.

Following this, the machine was turned off, having run for more than 2 hours.

2013-Nov-28: Printer adjustment and mentionings

Following adjustment procedures in the technical manual, I was able to change the (wrong) symbol printed in the rightmost column. Although still wrong, this gives the hope that further adjustments may fix the problem altogether.

Poul-Henning gave the following reference:


also pointing out the book referred to that contains a chapter about the P101.

In the paper "Discovering Primes with Euclid" by Richard Guy and Richard Nowakowski, Delta (Waukesha) 5 (1975), no. 2, 49-63, it is reported that "A multiprecise routine for prime testing on the Olivetti 101, written by Michael Morrison, enabled us to complete the factorization of a[9]", where a[i] is the defined by

 a[0] = p[0] = 2
 a[n] = 1 + p[0] * p[1] * ... * p[n-1]
 p[n] = least prime factor of a[n]

{p[n]} is the so-called first Euclid-Mullin sequence of primes, see also http://oeis.org/A000945.

From this, we get the following prime factorizations:

 a[1] = 2 + 1 = 3
 a[2] = 2*3 + 1 = 7
 a[3] = 2*3*7 + 1 = 43
 a[4] = 2*3*7*43 + 1 = 13 * 139
 a[5] = 2*3*7*43*13 + 1 = 53 * 443
 a[6] = 2*3*7*43*13*53 + 1 = 5 * 248867
 a[7] = 2*3*7*43*13*53*5 + 1 = 6221671
 a[8] = 2*3*7*43*13*53*5*6221671 + 1 = 38709183810571
 a[9] = 2*3*7*43*13*53*5*6221671*38709183810571 + 1 = 139 * 25621 * 420743244646304724409

The P101 was thus used to prove the last 21-digit number prime.

2013-Dec-19: More printer adjustments

As I had hoped, again following the procedure "AW Gap-Timing (Strobe Wheel) (Figure 36A)" on page 63 in the technical manual, I was able to cause the correct symbol to be printed in the right-most column.

2014-Jan-02: Magnetic card unit 1

Belt dust:

Working on the magnetic card unit:

2014-Jan-09: Replacement roller and prototype card

Constructed a replacement roller for the card unit from isolation tape that I wound around the axle, and small o-rings. I was able to run a prototype card that I had cut from a sheet of plastic through the card unit. No magnetic layer yet.

2014-Jan-16: Card unit fiddling

More card unit fiddling, reduced the diameter of the replacement roller, lost a screw, and found that the machine no longer responded sensibly. Oh well, other times have provided ups, so downs must be accepted as well, I guess.

2014-Jan-18: Up again

Screw found, machine working again, more replacement roller work.

2014-Jan-23: Magnetic tape

Experimented with magnetic tape, taped to one of the prototype plastic cards. Hopes not high and it didn't work, but if we don't try, we will never succeed.

2014-Jan-30: Magnetism and measurements

Today, we experimented with various magnetic materials and Ole performed some promising measurements while the P101 went through the motions of writing to a card. Pictures of these events:

Patent 3,495,222: Program Card

Reading the P101 patent http://www.google.com/patents/US3495222 that Poul-Henning uncovered, it appears that the "Program Card" section, starting in column 26 of the main patent text, provides extremely useful information about the card unit. The text is not at that point in machine readable form, so I'll just type in pertinent selections of the description from the .pdf image provided:

 Program Card
 In a preferred embodiment, the card may store the contents of the five
 memory registers I, J, Z, D, E. The registers I and J are permanently
 allotted to store program instructions. Each one of the registers Z,
 D, and E, being splittable, may contain either a 22-digit number or
 two 11-digit numbers or 24 program instructions or a 11-digit number
 and 12 program instructions, whereby according to the present
 embodiment of the invention also the registers Z, D, E, may be used,
 either partially or totally, as program registers.

This corresponds exactly to the description in the Programma 101 general reference manual, that the card stores the program registers denoted 1 and 2, as well as the registers D, E, and F, which may contain some combination of numbers and program instructions.


 According to an embodiment of the invention, the card 150 [Refer to
 FIGS. 9 and 10 of the patent] is provided with a single magnetic track
 151 for storing the entire contents of five registers of the
 memory [magnetostrictive delay line] LDR.
On the track 151, the eight binary denominations of each character are followed by four blank denominations, whereby each character, as recorded on the card, comprises twelve denominations.
Therefore, assuming each memory register containing 24 digits, the track 151 contains an uninterrupted series of 12*24*5 = 1440 binary denominations, among which only 960 contain bits to be transferred into the memory registers.
The card 150, having been introduced manually in the inlet opening 113, advances at constant speed past the magnetic head 129, whereby the 1440 binary denominations of the magenetic track 151 are scanned at a constant frequency in the same direction both when reading and when recording.
When reading the card, each group of eight bits read on the card and representing a character is stored in the shift register K. While the magnetic head scans the next four blank binary denominations, said eight bits are transferred from the register K to the memory register at present addressed.
Similarly, when recording on the card, while the magnetic head scans a group of four blank binary denominations,a character is transferred from the memory register at present addressed to the register K; when, thereafter, the magnetic head scans the next eight following binary denominations, said character is extracted from the register K and recorded on the card.
More particularly, according to an embodiment of the invention the card moves at such a speed, that its successive binary denominations are scanned at 0.6 millisecond intervals, a memory cycle [of the LDR] being 2.1 milliseconds long, whereby the time consumed in scanning the four blank denominations is sufficient for having access to whatsoever decimal denomination of the delay line in order to enter therein or extract therefrom a certain character. Therefore it is apparent that the blank space separating two contiguous characters on the card corresponds to a time interval greater than the access time of the delay line memory, whereby the successive characters may be sequentially transferred to and from the card, serially by bit, through a buffer storage (register K) having a single character capacity, thus substantially reducing the cost of the apparatus.
According to another feature of the invention in each group of four blank binary denominations of the card at least one is used to store check bits associated with the character recorded in the eight contiguous binary denominations, said check bits being computed when recording the card and used and destroyed when reading the card.
Moreover all the binary denominations of the card, including the blank denominations, are counted when scanning the card to ascertain that none has been skipped or read more than once.
FIGS. 11a and 11b show some parts of the circuits of the computer involved in the card processing operation.


 According to an embodiment of the invention, the magnetic flux of the
 magnetic track 151 exhibits (line NL of FIG. 12) a series of reversals
 or transitions, called clock flux transitions, spaced a distance
 corresponding to 600 microseconds, the zone between two contiguous
 clock flux transisions constituting a binary denomination of the card.
 Each bit "1" or "0" is represented by the presence and the absence
 respectively, of a flux transition, called information flux
 transition, spaced a distance corresponding to 200 microseconds from
 the clock flux transition which marks the beginning of the
 corresponding binary denomination.

There are many more details that may be of interest in the matter of the card unit.

2014-Feb-20: Full-sized card

Today, I constructed a somewhat longer prototype card (262 millimeters rather than 202 millimeters), again taping a piece of magnetic tape close to the edge of the smooth side. When "recording" with the shorter card, the machine throws itself into various kinds of fits, turning on the alarm lamp, starting an apparently endless print operation, things like that. Using the longer card, "recording" seems to take place in a more orderly manner and the alarm lamp stays off. However, attempting to read back from the card invariably results in turning on the alarm lamp.

2014-Feb-27: De-magnetization needed?

Ole, measuring what happens when reading a card and finding nothing, and Poul-Henning suggest that perhaps the read-write head had become magnetized as a result of one of my experiments with (seriously) magnetic tape. De-magnetization is considered.

2014-Mar-06: KYREAD DIP-C Magnetic Tape Developer

Finn provided an aging bottle labelled "KYREAD DIP-C (continuous spray) Magnetic Tape Developer": "Shake Well Before Using." Then "Apply to tape resting on inclined tissue paper and allow excess to be absorbed." Spraying various pieces of magnetic tape provided by Ole, I was able, in some cases, to see traces of magnetic variations on the tape, the nine tracks expected clearly visible. Unfortunately, I was not able in any of the cases that I tried to detect indications that the Olivetti was affecting the contents of a tape.

2014-Apr-30: Generalforsamling 2014

Sketch of talk at DDHF generalforsamling 2014.


Unfortunately, as we recall, at the generalforsamling, the machinery didn't work as promised: Carelessly, I had restored the electronics box (which had been relocated to make room for the measurements of the tape unit) to its proper place, without first testing the machine. So, when it turned out that it did not work (following reset, the keyboard stays locked, the green lamp stays off), I was unable to conclude that, most likely, the moving of the electronics box had caused the trouble. At least, the cause of the trouble could now more likely be any number of other things.

The repair guide, generously supplied by Paolo Tedeschi ...?

Ok, the question

 Measure the voltage between the Power Supply Fuse Holder & ground.
 Does it read 20 volts DC?

Ground is clear, I guess, but "Power Supply Fuse Holder"? Found it, helped by Uffe. And measured 20.33 volts, fine.

Page 22, then: Checking the Microswitches (assuming that the familiar noise heard when pushing the reset button indicates that the servo mechanism works).

A superficial investigation indicates that the servo mechanism fails to affect the microswitches as intended.

2014-Jun-05: Microswitches

The machine still doesn't work, so continue the work to attempt to diagnose the problem.

Again, on page 22 of the repair guide, we are told to check details for the AG, AK, AT, and AO microswitches. So I started doing this systematically, studying the technical manual page 6 for one particular example (the AA encoder microswitch). Also Figure 72 on page 106 that shows the connections between the microswitches and, on the one hand, the ECU (Electronic Computing Unit) and, on the other, the "M BLOCK", which seems to be all connected to the same +20 Volts.

Helped by Uffe, much of this started to make sense and I was able, with the ECU again disconnected, to measure the difference between the two states of various microswitches. Exercising the individual microswitch is somewhat cumbersome, however, so I didn't manage to test them all.

2014-Jun-12: Microswitches 2

More measurements. Resistance for a microswitch in the closed state varies a lot, between 2-3 to several thousand Ohm.

2014-Jun-19: Microswitches 3

Still playing with the keybord and microswitches: Some indication that the AK switch is not always affected suitably.

On another note, found a nice video: Fixing Olivetti Programma 101 - Ivrea. Google translates the comments into

 A great afternoon at the Laboratory MuseoTecnologicamente Ivrea
Struggling with the repair of a Olivetti Programma 101 directly with Gastone Garziera (one of its designers), Luigi Tozzi (one of the first directors of the museum founders) and Sergio Perotti (the best and last magician of mechanics).
The machine was running. The main parts of the recovery is unsuccessful. Missing very little to let her among the ten Olivetti Programma 101 operating in the world.
Another piece for the new Museum Zaniewski of Arezzo. museozaniewski.com

2014-Jun-26: The AK microswitch 1

Still indications that the AK microswitch is not being activated correctly: Depending on circumstances, pressing the reset key either fails to pull out the AK microswitch or pulls it out during both the manual and automatic servo cycle: According to the Technical Manual, confirmed by actual measurements carried out 2013-Jun-06, the AK microswitch should be pulled out only during the second servo cycle of the reset sequence.

2014-Jul-03: The AK microswitch 2

More of the same. Things tried and demonstrated to affect the situation is loosening and tightening the screws that holds the keyboard decoder and fixing the decoder in various positions, either low or high (with keyboard raised). The problem seems to be that the AK switch coding bar (pages 16-17 of the Technical Reference) is not rotating as freely as required. But a definite fix has not been determined.

2014-Aug-07: Eccentric Screw

Still fighting the AK microswitch, attempted the "Eccentric Screw" adjustment on page 18 of the Technical Manual. Although not successful in making the AK mechanism work as desired, I was fortunately able to eliminate the damage inflicted. Along the way, I also wandered around for a while in the blind alley of the Double-Entry Lock Mechanism.

2014-Aug-28: Mechanics

Today, as well as the two earlier Thursdays: Lots of staring, experimentation, and adjustment attempts, attacking the AK microswitch operation problem. No results worth mentioning.

Treasures uncovered by Finn

Our distinguished chairman, Finn Verner Nielsen, has uncovered additional P101s and material related to the P101:

 Date: Sat, 6 Jul 2013 18:46:35 +0200
 From: Finn Verner Nielsen
 To: Thorkil Naur
 Subject: Olivetti Programma 101
 Hej Thorkil,
Her er noget at kigge efter på torsdag:
Var du klar over, at DTM har en også ?


 Date: Wed, 1 Oct 2014 10:54:17 +0200
 From: Finn Verner Nielsen
 To: Thorkil Naur
 Cc: Datahistorisk Forening bestyrelse
 Subject: Flere programmer til Olivetti P101 ...
Kære alle,
Jeg har tidligere gemt følgende link:
Først nu ser jeg, at det må være programmer til P101 også.
Kunne i øvrigt være sjovt at gå arkivkassen igennem ved lejlighed.
Der er sikkert programmer til både DASK og GIER.
Hilsen Finn


 Date: Fri, 10 Oct 2014 15:02:04 +0200
 From: Finn Verner Nielsen 
 To: Thorkil Naur 
 Subject: Fandt en mere - denne gang i Sæby ...


 Date: Mon, 27 Oct 2014 18:17:04 +0100
 From: Finn Verner Nielsen
 To: Thorkil Naur
 Subject: Fundet i Greifswald i september ...
... se vedhæftede ... men er ikke med i deres katalog over samlingen:
Mere om samlingen her: http://vzgdigicult.thulb.uni-jena.de/Sammlungseinrichtung/rechentechnik
Hilsen Finn

The following picture was attached:

2014-Oct-23: Adjustments, adjustments ...

Following a couple of months with limited progress, today I tried to become a bit more systematic about the adjustments recommended in the Technical Manual. In particular, I studied the Entry Servo Release Adjustment on page 38, accompanied by figure 21, where, among other details, the following explanation is given:

 If the Control and Stop Bridges do not release the Clutch Flange,
 adjust the Crank (17) so that the Starting Bail (16) does not come
 to rest against key lever latches but positions itself over them
 with a minimum clearance.

Easier said than done, I'd say. Although still not much progress towards getting a working machine, mental progress is considerable, I believe. Also, a long lost screw was recovered in the mess on the working table.

2014-Nov-13: ... adjustments ...

Still on page 38, figure 21, Entry Servo Release Adjustment.

2014-Dec-04: The Link (8) on Figure 19

Quoting the technical manual, page 34:

 PARTS MOVEMENT - Refer to Figure 19
 The Clockwise rotation of the Start Bail (7) causes the Link (8) to rotate the
 Bridge (6) in the direction of the arrow.

The Start Bail (or Starting Bail, as it is also called) rotates when a key is depressed and the resulting Bridge rotation will then cause an entry servo cycle. The Link is a short, rigid piece of metal that winds its unshapely way between the Starting Bail of the keyboard mechanism and the Bridge of the servo mechanism. To clarify, it may help to know that the Link (8) and Bridge (6) of figure 19 make up the Crank (17) of figure 21, referred to earlier.

At some point, I had decided that the shape of the Link needed adjustment, its movement was apparently hampered by encountering other parts of the machinery a little too closely.

Today, I managed to bring the Link into a shape that seemingly restored its function, in combination with adjusting the Bridge and a finally successful application of oil to enable the Starting Bail and also the so-called Rocking Bail to move more freely. As a result, turning on the machine, the keyboard mechanism sounded rather healthy and in some cases, pressing the reset key actually caused the green lamp to turn on. Although the machine was apparently not responding to subsequent keyboard presses, the light at the end of the tunnel is now slightly less subdued.

2015-Jul-06: Unmounting a panel on the electronic unit

To ensure that we remember what happened:

2015-Sep-10: Bits and pieces

Long time, no see. The P101 still doesn't work. On and off fiddled a bit, planning to attempt measuring what actually happens when the keyboard is used, measuring whether the microswitches behave as intended when the machine is under power. I have measured connectivity when turning the servo mechanism manually and found what appears to be reasonable results. I have cleaned the micro switches: Henrik kindly supplied Kontakt 60 for that purpose.

Uffe is preparing the acquisition of material (various "ports") that will allow a number of connections to be supervised simultaneously, but the shipment of parts from China drags out.

In the meantime, some additional treasures, uncovered by Finn:

 Date: Sat, 22 Nov 2014 21:35:31 +0100
 From: Finn Verner Nielsen
 To: Thorkil Naur
 Subject: Re: De findes rundt omkring ....
2014-11-22 21:32 GMT+01:00 Finn Verner Nielsen <finnverner>: ... http://www.oldcomputers.it/phpengine/scheda/sch2005.php/Language=ENG/Mode=Display/Item=1272/Pagina=Scheda/Marca=12/Letter=O


 Date: Sat, 3 Jan 2015 19:55:29 +0100
 From: Finn Verner Nielsen
 To: Thorkil Naur
 Subject: 4000 Euro ...
 [Link, now dead, to announcement, selling a P101 for 4000 Euro]


 Date: Fri, 23 Jan 2015 17:45:22 +0100
 From: Finn Verner Nielsen
 To: Thorkil Naur
 Subject: IFHB og Programma 101
 Jeg har meldt os ind i dette selskab: http://www.ifhb.de/
Vedhæftet deres nyhedsbrev Fil:IFHB 2014-12.pdf fra december 14 - i dette referat fra et besøg i Ivrea og sjove billeder fra US.


 Date: Sat, 28 Mar 2015 23:49:53 +0100
 From: Finn Verner Nielsen
 To: Thorkil Naur
 Subject: Programma i den store verden ...
 Et par links (fundet da jeg egentlig ledte efter noget andet):
MOMA: http://www.moma.org/collection/object.php?object_id=3607
Sydney: http://www.powerhousemuseum.com/collection/database/?irn=378406
Simulator med program editor: http://www.marcogaleotti.com/Calcolatori.html
Spanien: http://www.retrowiki.es/rw10/e107_plugins/forum/forum_viewtopic.php?21744
Billeder og docs: http://www.retrocomputing.net/parts/olivetti/programma101/docs/

2015-Dec-03: The Cembrit donation

This is a preliminary recording of the material that were kindly donated to us by Cembrit, through the timely actions of Jens Kristian Gregersen. A brief list, the main item being, under the present circumstances, an additional Olivetti Programma 101:

  • HP 9831A, HEWLETT-PACKARD GMBH, 1642G00455, Shipped 28.2.78.
  • HP 98032 A 16 BIT I/O, HEWLETT-PACKARD, 98032A OPT.032, 12, HP SER. NO. 1549G03389.
  • Misc cable ...
  • Olivetti Programma 101 with documentation, magnetic cards etc.

And pictures:

2016-Feb-04: Cembrit Olivetti Programma P101

Opening the Cembrit donation for the first time: Belts not melted, so that particular kind of cleaning not required. But other piles of dirt of various kinds definitely need to be removed. The servo mechanism moves only sluggishly.

The belt arrangement is different from the arrangement of our first P101, the Sparekassen P101. A particular problem was presented by a screw, deeply buried, that needed to be loosened to detach the electronic computing unit.

Pictures from the event follow:

2016-Apr-21: The Electronic Computing Units

Taking both the Sparekassen and Cembrit P101s apart, comparing the cards of the ECUs (the Electronic Computing Units) separately:

There are 8 removable cards and, from a superficial inspection, they seemed to be pairwise identical or, in a few cases, similar.

2016-Apr-28: Cembrit P101 ECU running in Sparekassen P101 packaging

We installed the Cembrit P101 ECU in the Sparekassen machine, powered on and pushed Reset, the green light turned on, and the keyboard unlocked. After a bit of nudging the printer, the machine computed sqrt(2) to 15 decimal places and ran a program that computed the first 29 Fibonacci numbers.

A few shots from this memorable event:

Finn's pictures from Deutches Museum, München, October 2015

From Finn:

 Date: Sun, 1 May 2016 12:03:11 +0200
 From: Finn Verner Nielsen
 To: Thorkil Naur
 Subject: Billederne fra München
Hej Thorkil,
Så fandt jeg billederne fra mit besøg på Deutsches Museum i München i oktober 2015.
Hilsen Finn


2016-Jun-09: Replacing cards

The machine runs (Sparekassen 101 with the Cembrit ECU) after the usual prodding of the printer. Plan: Replace the cards one by one with the cards from the Sparekassen ECU.

  • Top card CE-08-B-F6 replaced: Ok.
  • Also replacing second from top CE-07-A-F6: Ok.
  • Also replacing third from top CE-06-B-F6: Ok.
  • Also replacing fourth from top CE-05-A-E6: Ok.
  • Also replacing fifth from top CE-04-B-F6: Not OK.
  • So switch fifth from top back: Ok.
  • Then replace sixth from top CE-03-A-E6: Ok.
  • Then replace seventh from top CE-02-B-F6: Ok.
  • Then replace eigth from top CE-01-A-E6: Ok.
  • Then replace fifth from top again: Ok.

Machine thus presently working, equipped with all cards from the Sparekassen P101, except CE-04-B-F6, which is from the Cembrit P101.

2016-Oct-27: Warming up the card unit

Experiment with the de-magnetizer that I found in my father's hides. De-magnetized a screwdriver that was previously magnetized. So works fine. Twice I have now heard how to use it: Slide against, then slowly remove from the object to be de-magnetized.

Manged to attach the lower half of the card chute. Whew.

2016-Nov-17: Card unit working

The card unit started working: I de-magnetized the read/write head, then selected the cleanest looking card from the Cembrit pile (computing the average of a list of numbers) and printed the program contained. The same program was recorded on both sides of the card. I recorded my own Fibonacci-number generator on one side of the card.

That the card unit is working is something that I am particularly proud of: After all, the deteriorated rollers were replaced by my own home-grown ones, duct tape and small, circular rubber gaskets. Nevertheless, superior Italian engineering surely also plays a major part in this miracle.

2017-Jan-12: Queens on a card

I entered my program for solving the (8- and other) queens problem and saved it on a card. Solving the 5-queens problem:

2017-May-16: Visiting Laboratorio-museo Tecnologic@mente in Ivrea

On this day, my best friend Lillan and I met with Sandro Graciotti at the Laboratorio-museo Tecnologic@mente in Ivrea. Among other things, we gained valuable hints concerning the diagnosis of errors in the P101 electronic computing unit. We also ran and got a copies of a test program and the program playing the "Angela game", yours truly thoroughly beaten by one of the on-site P101s.

Lillan recorded pictures of this memorable event, also covering the extensive exhibition.


2017-Jun-01: Ivrea follow-up

At Tapeten, the code from Ivrea was verified, the test program run successfully on our P101, and yours truly loosing the Angela game again.

2018-Jan-25: Pedro Lima of Portugal

A while back, we received the following letter:

 Fra: "Pedro Lima" <pedro.lima.euro@gmail.com>
 Dato: 9. aug. 2017 00.49
 Emne: Just Revived a Programma 101
 Til: <info@datamuseum.dk>
Dear Sirs,
I eagerly read your 5 year adventure in reving your Olivetti P101.
This amazing description helped me a lot when, after a 3 year quest, I finally managed to get a P101 to my collection of industrial design icons (despite being a private colector, I regularly present the collection in portuguese institutions). And a very well preserved one.
So well preserved that I managed, with the help of your description, and with minimal intervention (a total of 12 working hours), to revive it. I can now readily run programs and print results.
But there is still the magnetic card reader/writer unit to test, since I have no cards. So, my question is - at some point, you tried to make your own magnetic cards, as ir reads in the description. Did you ever managed? How? Can you help me replicate the process, if it was successfu!?
Thank you, in advance, for your help on this.
Best regards
Pedro Lima Porto Portugal

We responded back that we would gladly supply some test cards from our collection, the ones that came with our second P101 from Cembrit in Aalborg.

Preparations for that have been in progress, on and off, since. The point is that we would like to retain the contents of the cards that we send out of the house, somehow. So some hard copy of the program and data contained on the cards. An electronic version would, perhaps, also be valuable, but lots of preparations would be needed for that to become possible, so that idea has been postponed to a future date.

In any case, I have struggled with cards and printer: The data that we received in Ivrea are readable only on some attempts. And the quality of the hard copy that we can produce on the Sparekassen printer is not impressive. Also, the printer ribbon mechanism needs some attention: For example, the mechanism that changes the direction of the ribbon does not work too well.

Presently, I am attempting to use the Cembrit printer as a replacement: The character drum seems to be in better shape, less worn, than the character drum of the Sparekassen machine.

Unfortunately, the (nylon) gear driving the (metal) gear on the character drum shaft of the Cembrit printer turned out to be broken. See pictures below:

So for now, I have replaced the broken gear and pulley by the corresponding parts from the Sparekassen machine.

The printer now needs to be adjusted, as explained in the technical manual.

2018-May-24: A 3D printed gear by German K

Over the recent months, my colleague German K has worked on producing a 3D printed replacement of the broken gear for the Cembrit printer. And today, I tried the first two prints for the first time:

The gear on the right didn't seem to grip its metal partner sufficiently tight, so I never tried it. The gear on the left worked, following some effort to ensure that it was pressed firmly in place: The two last pictures show the result of this, fairly rough, treatment: The material seems to separate in places. Nevertheless, the gear did its job.

My plan for now is to leave the printed gear in the printer. And continue with the adjustments, still outstanding.

2018-Jul-12: Portrait of the card unit roller

Earlier, I had promised Pedro Lima of Portugal some pictures of the home-rolled replacement magnetic card roller. At the time when I rolled this roller, I was rather doubtful that it would ever work and so I didn't include any pictures or other details. So when it eventually turned out that the roller actually worked, there were no pictures to document the event. Since the roller is relatively inaccessible, buried rater deep in the innards of the machinery, I never bothered to remedy this deficiency.

But this has now been corrected and so, here are a few pictures, also including some details of the detachment process that I missed.

2019-Mar-21: German K printer gear to the rescue

Preparing for the planned trip to Porto, 2019-April-20 to 2019-April-28, tested the P101 briefly and found the printer noisy. Inspection revealed that the nylon gear that were broken on the Cembrit P101, is now also preparing to break for the Sparekassen P101. So the motivation was high to try, again, one of the 3D printed gears, produced by German K. (Not apparent from the earlier descriptions, but I actually replaced the German gear by the Sparekassen original, don't remember exactly why. But in any case, the German K gear is now in the machine.)

Adjustments outstanding.

2019-April-25: Visiting Pedro Lima in Porto

Earlier, I had prepared and shipped two of the Cembrit magnetic cards to Pedro Lima in Porto.

On 2019-April-25, together with girl friend Annette Storm, we took up the generous invitation from Pedro to visit him in Porto. I had brought my P101 card unit repair kit, including the essential part of our P101 that included the card unit roller that I had constructed as well as duct tape and my collection of rubber gaskets.

Pedro was well prepared and we actually managed during the visit to construct a suitable replacement roller for his P101. The card unit was not fully functional, but at least cards were being transported through the machine.

Here are Annette's pictures from this memorable event:

2019-May-30: Restoration of the card unit and the Jesper printer gear

Replaced the pieces of the card unit that I had brought to Portugal and, with minor fiddling, made the card unit work again.

Also, at a visit to my brother Jesper, who is also in possession of a 3D printer, we had used the .STL data provided by German K. for the printer gear to produce yet another printer gear.

Investigating the operation of the printer in detail, I was able to clearly detect that the gear was sliding against its mounting cylinder, causing the printer to become maladjusted. The gear produced by Jesper's printer was installed and is apparently less prone to slide.

Some pictures of the installation follows:

2021-Jul-13: Correcting the state of the machinery

While preparing for our imminent move, I discovered that the state of the P101 machinery was not as recorded earlier (2016-Jun-09: Replacing cards): In fact, the Sparekassen chassis presently contains the ECU (Electronic Computing Unit) coming from the Cembrit machine with "No 014471". The Sparekassen ECU with "No 031344" is installed in the Cembrit chassis. And, importantly, the Sparekassen machine with the Cembrit ECU is working, as I recently confirmed.

Presumably, the "card number 5" that was identified as not working is sitting among its friends from the Sparekassen ECU in the Cembrit chassis.