This is an old revision of the document!
Although you can make your own Elements just by installing pre-built packages, to participate in the development of MFM or ULAM you will need to download and build the software from its source codes, which are kept in two repositories at Github.
Cloning the repo from Github seems relatively straight forward, but there are some dependencies that need to be installed in order to get the source to build. Here is a full tutorial describing how to build the MFM software from the source.
Note: This tutorial is performed on Ubuntu 14.04 . Your installation procedure may vary.
First, make sure that lists of packages are up-to-date
sudo apt-get update
These packages are described in more detail in the immediately following subsections, but here they are all in one command for convenience:
sudo apt-get install git g++ libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl libcapture-tiny-perl
You will need to install git. This can be done with a package manager, such as apt-get:
sudo apt-get install git
You will need g++, a c++ compiler, in order to build the software. Simply use your package manager to download it:
sudo apt-get install g++
The MFM software uses SDL to render to a window, play audio, and render fonts.
The MFM software needs SDL version 1.2 . Do not install SDL 2.0!
libsdl1.2-dev is the package for the main SDL system.
libsdl-image1.2-dev is the package for translating image types other than bitmaps.
libsdl-mixer1.2-dev is the package for playing audio.
libsdl-ttf2.0-dev is the package for rendering TTF fonts. This is an SDL 1.2 package.
You will need to install the following packages with your package manager:
sudo apt-get install libsdl1.2-dev sudo apt-get install libsdl-image1.2-dev sudo apt-get install libsdl-mixer1.2-dev sudo apt-get install libsdl-ttf2.0-dev
The top level of the ULAM compiler is written in Perl. Among its tasks is to generate 'mfz' files signed by a 'handle' that you create; a few packages are required to support signing and signature checking.
sudo apt-get install libcrypt-openssl-bignum-perl sudo apt-get install libcrypt-openssl-rsa-perl sudo apt-get install libcapture-tiny-perl
Next, you will need to clone the codebase to your computer. To do this, browse to the folder which you would like to contain the repos and clone:
git clone https://github.com/DaveAckley/MFM git clone https://github.com/DaveAckley/ULAM
Note this will create MFM/ and ULAM/ directories as siblings in whatever directory you started in – and that's desirable because the two repositories will be able to find each other without any additional local configuration.
Now that you have installed all of the dependencies that you need, you can build the MFM software. Simply navigate to the main folder and type:
This should build the software as long as the repo does not contain any errors. To run the software, the executable is located in the bin folder. Type:
to run the simulator.