Print this page


The Personal Computer Lilith

Niklaus WirthProfessor Wirth not only designed languages, he also designed hardware, combining the strengths of his programming languages with a wellsuited platform. The first computer is called Lilith, of which about 100 were built around 1980. They were in use at the ETH for about ten years and then replaced by the more powerfull Ceres workstation.

From the ETH historical website

Lilith Workstation

Lilith The Lilith was one of the first computer workstations worldwide with a high-resolution graphical display and a mouse. The first prototype was developed by Niklaus Wirth and his group between 1978 and 1980 with Richard Ohran as the hardware specialist. Lilith was strongly influenced by the Alto computer developed at Xerox' Palo Alto Research Lab in California, with which Niklaus Wirth had been working during his sabbatical in 1976/77. He was impressed by the system, but unfortunately the Alto computers were not for sale. On his departure day, though, he was presented with a computer mouse he liked so much as an input device.

The whole system software of the Lilith was written in Modula-2, a structured programming language which Wirth has developed at the same time. The programs were compiled into low-level M-Code instructions which could be executed by the hardware. The user interface was designed with windows, icons and pop-up menus. Compared with the character based systems available at that time, these were revolutionary metaphors in the interaction with a computer.

The main goal in the construction of the Lilith Workstation was its application in the educative field. Additionally, it was also used for administrative work at the institute. As a matter of fact, the Lilith soon also became a basis for various other research projects. An attempt to commercialise the Lilith computer was undertaken in 1982 but was given up after a short time, eventhough the Lilith already at that time had all the characteristics which would distinguish the much more successful Macintosh, presented in 1985.
The idea of naming the computer "Lilith" Wirth was given by a friend who told him about a men seducing daemon bearing that name. Members of Wirth's group would be working at nighttime and over the weekend for the Lilith project and were literally seduced.

The Lilith proved itself during the 1980s in the daily business as well as for educational application

From the website of CFB Software:


ETH Report Nr 40 - The Personal Computer Lilith. Apr 1981. N. Wirth "The Yellow Report"
zipETH Report Nr 40 (PDF file 1.5 MB)

The Modula-2 Handbook - A Guide for Modula-2 Users and Programmers. Modula Research Institute, November 1983
zipThe Modula-2 Handbook (PDF file 1.8 MB)

Programs and Source Code

The M2M-PC System - v1.35 for MS-DOS. Modula Research Institute. Feb 1984
zipM2M-PC v1.35 for MS-DOS (Zip file 120 KB)

The Lilith executes M-code, a pseudo-code similar to the P-code of the Pascal compilers also designed by N. Wirth. The M2M-PC System is an M-code interpreter for the IBM-PC running DOS 2.0 developed by the Modula Research Institute allowing the Lilith Modula-2 compiler and its output to be executed on the IBM-PC.

The system was originally designed to run on a system with two floppy disk drives but we have successfully run it under cmd.exe on a Windows XP system. Refer to the Modula-2 Handbook above for instructions on how to use the system.

M2M Compiler Sources. Modula Research Institute. Oct 1983
zipM2M Compiler Sources (Zip file 180 KB)

The first Modula-2 compiler was completed in 1979 and ran on the DEC PDP-11. This is the source code of the PC version of the second Modula-2 compiler. It generates M-code for the Lilith and can be compiled and run using the M2M-PC System. The following text document files are included with the sources:

  • Overview of the Modula-2 Compiler M2M
  • Files on Tape for M2M Compiler
  • The M-code interpreter (Appendix 1 of the Yellow Report)

    This appendix includes a table of the M-Code instructions and the Modula-2 source of the M-Code intepreter providing a high-level definition of the Lilith computer's instruction set and architecture

zipThe Personal Computer Lilith_1981
Read here the official report written by Wirth.

zipIn 1982 I wrote an article in the dutch magazine Radio Bulletin about Modula and the Lilith computer.

Documentation on Lilith, on, contributed by Jos Dreesen

D100,D120,D140 : Honeywell-Bull Mididisk documentation

D100,D120,D140 : Honeywell-Bull Mididisk documentation

D100,D120,D140 : Honeywell-Bull Mididisk documentation

D100,D120,D140 : Honeywell-Bull Mididisk documentation











Machinecode listings for a 6802 based Lilith debugging tool, the DPU monitor.

Machinecode listings for a 6802 based Lilith debugging tool, the DPU monitor.


Western digital MFM controller

Previous page: Books by Wirth
Next page: History of Lilith

© 1998-2007, 2010 Hans Otten.