Welcome to MIMAGolf

You can simulate a microprogrammable minimal machine here. You can also participate in challenges after you login.


The MiMa

The MiMa is simulated in your browser. Once you submit code to the leaderboard, the code is simulated on the server as well.

It uses a 24-bit accumulator, 20-bit long addresses and 24-bit long data values. Commands are made up of a 4-bit long command name, followed by 20 bits of data arguments. The MiMa uses a shared memory space for data and instructions, and self-modifying code is possible.

Supported commands without arguments

Supported commands with one argument

STIV and LDIV are extensions, but they are supported by default for now. The MIMA-X extension is not supported yet, neither is MIMA Microcode.

Implementation details

Here are some implementation details you might consider useful: