Truly Forever Computers


I have been thinking about The Computer Built to Last 50 Years for a while now. In the article the author got inspired by mechanical typewriters and proposed something they called the "ForeverComputer". Since then people have been publishing their take on the ForeverComputer mailing list and some people even argued that it already exists. I thought to myself, to compare a mechanical typewriter to a electronic digital computer based on semiconductor ICs is kinda disingenuous, because anything that relies on such things can't possibly have the same level of fixability - and thus can't be as "forever" as a typewriter.

On the different levels of fixability

Before I further elaborate on this topic I would like to discuss the definition of fixability, because how long a machine can last is clearly dependent how long we can keep it fixed until it's no longer fixable. What do we actually mean when we say "it can be fixed"? I believe there are different levels of fixability and from my own personal experiences I noticed it can at least be divided into the following levels:

  • Non-fixable: i.e. not fixable. When it breaks, it's done.
  • Manufacturer-fixable: a machine is manufacturer-fixable when most of its fixing requires special parts made by the manufacturer and/or specially-trained technicians. You can technically "fix" this but most people would send it to their manufacturer and ask for a replacement. Most modern Apple products live in this category.
  • Replace-fixable: a machine is replace-fixable when it's relatively easy for an average amateur to fix it by replacing non-working parts with working parts. This means the possible fixing relies on the existence of working parts. Almost all digital electronic computers belong in this category.
  • Tweak-fixable: a machine is tweak-fixable when it's relatively easy for an average amateur to perform certain operations directly on the non-working parts to make it work again. Purely mechanical machines often belong in this category.
  • Make-fixable: a machine is make-fixable when it's relatively easy for an average amateur to make a new, working part for replacement. A lot of non-machine daily objects are in this category, e.g. the handle of a hammer.

With this classification we can say that since ICs themselves are not tweak-fixable - not by normal plebs like us, at least - machines based on such things thus can't be tweak-fixable; a more important observation we can make, is that any machine is at most as fixable as its parts.

Towards a tweak-fixable machine

From the conclusion above we know that to make a truly tweak-fixable machines its components have to be either tweak-fixable or make-fixable. A natural solutions is to use mechanical relays, which is simple to understand, relatively easy to make, and relatively easy to shrink in size and still be tweak-fixable while keeping the whole machine relatively small. One can manufacture vacuum tubes (and someone did!) but they are not tweak-fixable and its manufacturing requires special equipment (even though it's a comparatively low hurdle than to set up a home lab for IC manufacturing), so they're out of the question.

Sizing

If we can tolerate it taking up the space of whole cabinets, minicomputer-like machines is definitely possible as proven by many homebrew CPU attempts[1, 2, 3]. Much smaller suitcase-sized machines should be possible as proven by TIM-8, RR6 and the "Single Board Relay Computer" (albeit the third one make uses of semiconductors for memory).

Input/Output

We can assume that switches and incandescent lamps are always available. For advanced IO, I suspect that one could maintain a working teletypewriter without too much additional trouble than a mechanical typewriter. Flip-disc display is also a potential choice. Dot matrix printers may be too difficult (for its tiny pins), but plotters shouldn't be too hard to have.

Storage

ROM can exists in the form of switches. For write-once read-many storage, punched cards/tapes is an obvious solution. I suspect one could make some kind of magnetic coating from iron oxide and make paper-based magnetic cards/tapes that way; this kind of technologies have existed in the past after all (e.g. 3M Sound Page). Working memory (e.g. RAM) is tricky; if you make them with relays it would be very expensive, and the one used in TIM-8 relies on the fixability of capacitors (maybe the requirements for capacitors in this case is very low so one can potentially make them on their own thus making it make-fixable). Magnetorestrictive delay lines could be a good choice, and so is magnetic-core memory, if we ignore the issue with temperature control.

Conclusion

To sum up, the fully tweak-fixable computer that one can keep for at least 50 years (I'm expecting longer e.g. 70 years) in my opinion is likely to be a relay-based mini-or-microcomputer:

  • These machines vary in size, ranging from as large as two suitcases to having the space footprint as several bookshelves combined.
  • Some higher-end models would have a teletypewriter as the main I/O device, but most computers would only have punch card or paper tape drives. Some machines would be used with an external plotter for plotting needs.
  • Punched cards and paper tapes would be the main external storage devices. Higher-end models would have a magnetic tape drive.
  • Most of them would use delay line or magnetic-core memories. (To truly ensure tweak-fixable one would build the memories out of relays as well.)
  • They'll have a slow execution speed (because we are using relays).
  • They'll also have a very high price tag. Not necessarily prohibitively high, but definitely much higher compared to what we have now.

These machines would be similar to historical minicomputers like PDP-8 but multiple times slower. It's easy to know what kind of program we can run on such a machine if we compare it to real minicomputers:

  • Small assembly programs written for demonstration or learning purposes.
  • Slightly-larger-scale assembly programs written to solve specific problems quickly.
  • Compilers and interpreters of some higher-level languages, e.g. FORTRAN, ALGOL and BASIC.
  • Very basic time-sharing operating systems.

What if we dial the criteria back a bit?

Allowing semiconductors (but not ICs) will open up a lot of possibilities. One could very probably have a CP/M capable machine in the size of an Altair 8800 even without the use of surface-mount components (a few surface-mount transistor-only machines are designed and made by hobbyists[1, 2], one could expect up to 300% increase in size when the components are replaced by through-hole components). One could also expand any of the existing TTL IC only design back to a transistor-only design and obtain a machine capable of running Forth. Some kind of micro-*nix is also very likely to be possible. Of course allowing transistors would make it only replace-fixable, but machines like this is much more likely to last longer than their IC-relying counterparts.


Back

Last update: 2023.12.23