The Edison System, 1982, is comprised of both an operating system and programming environment. The system language, also named Edison, is simple yet powerful. The Edison language is comprised of only a few basic commands and structures. However, these basic fundamentals have been carefully chosen to establish the necessary foundation to produce powerful and extensive applications. The Edison System possesses adequate development facilities, yet is contained in a very small quantity of code. Per Brinch Hansen’s final development system for a PDP-11 contains approximately 10,000 lines of program text. This text includes the operating system, the compiler, the editor, the diskette formatting program, necessary assembly code, and other utility programs. This establishes a powerful yet small environment for the development of concurrent programs.
On this page:
- Edison book and other documents
- Edison system disk images and sources
- Run the Edison system
- Other Edison systems
Documents
![]() |
Software Practice and Experience, Volume 11 No 4. Devoted to the Edison papers, Per Brinch Hansen. |
![]() |
Programming a Personal Computer, Per Brinch Hansen The book describing thee Edison system, design, development, and listing of programs including compiler in the Edison language, and the interpreter/runtime written in PDP-11 Alva language. |
![]() |
The Design of Edison (from Software Practice and Experience Vol 11, No 4), Per Brinch Hansen |
![]() |
The Development of Edison, Michael Wonderlich |
![]() |
The EDISON Multiprocessor Language and it’s port to OpenVMS |
![]() |
The Edison-ES programming language |
Disk images of the PDP-11/23 version of Edison
Jos Dreessen received a disk set of the Edison system from Günter Dotzel of Modulaware. And he made images of it.
This diskset contains the whole Edison system, binaries and sources of all programs.
Even the sources not published in the book Programming a Personal Computer by per Brinch Hansen like the Alva PDP-11 ‘assembler’.
All these images, the files extracted and the simh runtime are in this archive.
Note that the user disks (edison_bu1, edison_bu2) contain bad blocks.
The only text file that is affected is edison1text and therefore also edison1text.txt on edison_bu1.
On edison_bu2 systemtext and systemtext.txt are damaged.
The program edisonFiledump is written to extract the files from the disk images.
Therefore the structure of the disk was studied, most of it was somehow documented in the book.
A detailed look with an hex editor was helpful also!
The relevant information is available in the document ‘edison disk structure.txt’.
The program runs as a command line.
Syntax: edisonfiledump <name of diskfile with files to dump> [<name of output disk de-interleaved> [verbose]]'
With only the name of the disk image the files on the disk are extracted as binary files.
If a filename contains the string ‘text’ or ‘txt’ it is assumed to be a source file and also extracted in normal text format.
This appears to be true for all text files in the disk images.
If the second optional argument is given, the disk image is written into it as file but without the interleaving. Useful for study/debugging, not for running!
A third parameter ‘verbose’ shows a lot of the internal dats structures of the disk. That was very helpful, in combination with a hex editor,
to find out how the disk structure really works and is interpreted the right way.
The program is written in portable Freepascal. A Windows and Ubuntu executable is included. For other Linux or Mac use Freepascal and the source to compile to a command line program.
Here an example of the basic usage:
> EdisonFiledump rx02_system.bin Dump Edison PDP=11/23 files from RX01 floppy dumps V1.0 Hans Otten, 2026 Catalog of edison_progs1.bin alva1text 58698 bytes alva2text 9616 bytes assembletext 14326 bytes compiletext 16404 bytes edison1text 18928 bytes edison2text 49726 bytes Number of files = 6 Created alva1text, also created text file alva1text.txt Created alva2text, also created text file alva2text.txt Created assembletext, also created text file assembletext.txt Created compiletext, also created text file compiletext.txt Created edison1text, also created text file edison1text.txt Created edison2text, also created text file edison2text.txt
In the folder diskimages you find all the disk images as dumped by Jos Dreessen and the files extracted with EdisonFiledump as binaries without type and with type .txt as sources.
Run the Edison system in simh PDP-11 emulator
In the Edison archive you find a folder called simh.
In it is the PDP-11 simh windows precompiled executable and a simh config file called config.simh.
You can also compile simh yourself on other systems.
The config file contains the bootloader, Peter de Wachter constructed this.
With this and the disk images dumped you can run the Edison system.
>pdp11 config.simh PDP-11 simulator Open SIMH V4.1-0 Current git commit id: 6e9324e0+uncommitted-changes # # Load two disk images using the commands: # # attach ry0 disk1.dsk # attach ry1 disk2.dsk # # and boot using: # # go 0 # %SIM-INFO: RY0: buffering file in memory sim> att ry0 rx02_kernel.bin %SIM-INFO: RY0: buffering file in memory sim> att ry1 rx02_system.bin %SIM-INFO: RY1: buffering file in memory sim> go 0 The Edison system insert two disks and type s if both disks are standard 0 if only disk 0 is standard 1 if only disk 1 is standard b if both disks are blank s Command =
The bootloader in the config.simh file is sector 26 on the disk (location D000-D07F).

In simh the numbers are in octal
deposit 0000000 000240 = A0 00
deposit 0000002 000412 = 0A 01
etc
Other Edison systems
Edison v1 compiler/interpreter
1987, R Kym Horsell
Compiler/interpreter for the Edison language, written in C.
Edisonv1 includes:
– a C preprocessor, cpp, which handles #include and #define commands inside Edison programs.
– an Edison compiler, edcomp, that translates Edison source code into a virtual (stack) machine code.
– an Edison interpreter, edrun, that loads and links machine code files.
– a runtime system stub.
– example programs culled from various textbooks on parallel and concurrent programming.
Local copy of the archive now lost on the internet
Peter de Wachter Edison compiler archive
Compiler for Edison in C and lex
Sources of Edison (compiler, operating system)






(photos by Jos Dreessen of the disks given by Günter Dotzel)





