Port an ancient program to C
Budget: $15 – $25 USD
Your mission, should you choose to accept it, is to port the ZILCH compiler to 1989 Standard C.
https://github.com/ZoBoRf/ZILCH-How-to
ZILCH is a compiler for the Z-Machine, which is a virtual machine designed by a company called Infocom to make text adventure games.
https://en.wikipedia.org/wiki/Z-machine
The Z-Machine has a specification: https://www.inform-fiction.org/zmachine/standards/z1point1/index.html
ZILCH is written in a programming language called Muddle, sometimes referred to as MDL, which is a particularly unhelpful version of Lisp. Porting ZILCH to C will probably require learning Muddle, at least enough to be able to understand ZILCH and what it's doing. Extensive documentation about the language is available: https://mdl-language.readthedocs.io/en/latest/
Being familiar with Lisp concepts would be a plus for this job.
Muddle, and by extension also ZILCH, ran on an ancient and obsolete operating system called TOPS-20 - https://en.wikipedia.org/wiki/TOPS-20
TOPS-20 ran on a mainframe computer called the PDP-10 - https://en.wikipedia.org/wiki/PDP-10 made by a company called Digital Equipment Corporation, who has been out of business many years now.
It addition to learning Muddle it may also be helpful to be familiar without how to set up TOPS-20 to run inside a PDP-10 emulator so as to be able to compare the original version of ZILCH to the counterpart that you'd be making in C. Unless you happen to have a real PDP-10 computer just laying around somewhere. :)
There is existing source code to use for testing purposes, located in that same GitHub repository.
The goal is to pull ZILCH into 2022 and have it running on modern GNU/Linux systems like Debian, Ubuntu, Fedora, etc. without needing emulators, ancient operating systems, etc. It should be quite the adventure.
https://github.com/ZoBoRf/ZILCH-How-to
ZILCH is a compiler for the Z-Machine, which is a virtual machine designed by a company called Infocom to make text adventure games.
https://en.wikipedia.org/wiki/Z-machine
The Z-Machine has a specification: https://www.inform-fiction.org/zmachine/standards/z1point1/index.html
ZILCH is written in a programming language called Muddle, sometimes referred to as MDL, which is a particularly unhelpful version of Lisp. Porting ZILCH to C will probably require learning Muddle, at least enough to be able to understand ZILCH and what it's doing. Extensive documentation about the language is available: https://mdl-language.readthedocs.io/en/latest/
Being familiar with Lisp concepts would be a plus for this job.
Muddle, and by extension also ZILCH, ran on an ancient and obsolete operating system called TOPS-20 - https://en.wikipedia.org/wiki/TOPS-20
TOPS-20 ran on a mainframe computer called the PDP-10 - https://en.wikipedia.org/wiki/PDP-10 made by a company called Digital Equipment Corporation, who has been out of business many years now.
It addition to learning Muddle it may also be helpful to be familiar without how to set up TOPS-20 to run inside a PDP-10 emulator so as to be able to compare the original version of ZILCH to the counterpart that you'd be making in C. Unless you happen to have a real PDP-10 computer just laying around somewhere. :)
There is existing source code to use for testing purposes, located in that same GitHub repository.
The goal is to pull ZILCH into 2022 and have it running on modern GNU/Linux systems like Debian, Ubuntu, Fedora, etc. without needing emulators, ancient operating systems, etc. It should be quite the adventure.