MIMAviz is a rewrite of the original MIMA Simulation in Javascript using Pixi.js. The original visualization app was a Java Applet which doesn't work in most modern browsers any more.
You may visit the hosted latest version and give it a spin right now!
- Full functionality of the original MIMA Simulation
- A handy BACK button to go back to the previous step
- Only needs a modern web browser - No Java required!
Easy, visit the hosted latest version. Choose the instruction you would like to visualize, then click START. Use the navigation buttons to go forward or backward. Choose another instruction if you want to see more!
This app is bundled, transpiled and minified with Webpack and Babel. You may find a bundle.js
in the /dist
folder of the project, or download the tar ball from the Releases page. After being link to your HTML, it will append a 800x600 canvas to an existing DOM element with ID mimaviz
. You may then use CSS to customize either the parent element or the canvas itself.
If you wish to customize this behaviour, you may modify the /src/js/app.js
file found in the project, then recompile the project.
To help my fellow students at KIT like me, who are interested in seeing the MIMA simulation/visualization but don't have a legacy browser installed which still supports Java applets. Also to practice my newbie JS skills as well as to try building a more serious app for the first time, from GUI sketching to publishing. ;)
Although Pixi.js allows pretty good backward compatibility, this app runs best on latest web browsers. In my testings, the app will not run properly in Internet Explorer 11 (not tested on Edge). The font also looks a bit weird in Windows with both Firefox and Chrome. However, if you are on a Linux or macOS machine, you shouldn't notice an issue.
... the original detailed and friendly German descriptions, presented in the original MIMA Simulation (authored by Thorsten Rapp and supervised by Tamim Asfour). I have made minor adjustments to fit them in the new context of the app.
- MIMA Toolchain by cbdev - This is the project which first inspired me to learn more about MIMA
- mimaFPGA by Manuel Killinger - A VHDL implementation of MIMA
- BitFriendly by me - Shameless self promotion. ;) A tiny library which helps doing bitwise stuff in JS, meant to be utilized by my other MIMA compiler/interpreter project (which is still under development)
- phiresky/mima by phiresky - I didn't realize that there's already a super cool MIMA compiler/interpreter project written in Javascript until recently. It looks awesome and can transpile your MIMA programs to C
- MiMaSimu by Indidev - A MIMA simulator written in Java, but with GUI and visualization!
- timhabermaas/Mima by Tim Habermaas - A MIMA simulator written in Ruby
MIMAviz is distributed under the MIT License. For more information, read the file LICENSE.