
Mako is a portable stack-based virtual game console. Mako was designed to be simple to port and understand: a basic implementation is only a few pages of code. Work on Mako ceased in 2013, but the archive here is maintained for inspiration and educational purposes. Try out some roms directly from your browser with the Mako.js runtime!
The Mako platform includes a complete development toolchain centered around Maker, a Forth-like systems programming language:
# a "Wolfram Rule" 2d cellular automaton # displayed on 8x8 tiles :const RULE 30 :const clear-color 0xFFAA99FF :array grid-tiles 64 0xFF0000AA : >> dup if 1 - for 2 / next else drop then ; ( a bits -- b ) : pat 0 2 for 2 * over i + @ or next swap drop ; ( addr -- pattern ) : rule pat RULE swap >> 1 and ; ( addr -- new-value ) : cell 41 * + GP @ + ; ( y x -- addr ) : get 1 - swap 1 + cell ; ( y x -- addr ) : put swap cell ! ; ( val y x -- ) : row 39 for dup i get rule over i put next ; ( y -- y ) : draw 28 for r> row >r next ; : main 1 29 19 put draw loop sync again ;
You can also choose from several programming environments that run directly on the VM: