/edison

Per Brinch Hansen's Edison

Primary LanguageGo

Per Brinch Hansen's Edison

This repo contains some of my tinkering with Per Brinch Hansen's Edison system, as published in his book Programming a Personal Computer.

Hans Otten has a scan of this book and other publications related to Edison on his site. I did not duplicate them here, but you'll want to at least refer to the reports included in the book.

Edison source code

The book directory contains a transcription of the book's source code. This includes:

  • The Edison kernel slash bytecode interpreter, implemented in the Alva assembly language
  • The Edison operating system
  • The Edison compiler

Unfortunately, the full Edison distribution seems to be missing.

PDP-11 disk images

Yes, I got this code running on a simulated PDP-11. It's not useful (there is not even an editor), but it proves that the code works :) The disk images can be downloaded from the Releases tab.

A reimplementation of Alva and a Go port of the compiler can be found in src/. The port is almost entirely a mechanical transaltion -- the code is not pretty but it works.