Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


A simple virtual game console

Subscribe to updates I use Mako

Statistics on Mako

Number of watchers on Github 375
Number of open issues 2
Average time to close an issue 10 months
Main language Forth
Average time to merge a PR about 3 hours
Open pull requests 0+
Closed pull requests 0+
Last commit almost 6 years ago
Repo Created over 9 years ago
Repo Last Updated over 2 years ago
Size 2.39 MB
Organization / Authorjohnearnest
Page Updated
Do you use Mako? Leave a review!
View open issues (2)
View Mako activity
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating Mako for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


Mako is a simple stack-based virtual game console, designed to be as simple as possible to implement. Maker is a compiler for a Forth-like language that targets the Mako VM.

Mako has two stacks- a parameter stack and a return stack. Most MakoVM instructions manipulate the top elements of the parameter stack. Instructions are normally a single word (signed 32-bit integer), but some (like JUMP and CALL) are followed by a second word which provides an argument. The Mako memory layout is controlled by a number of memory-mapped registers starting in the lowest address- 0. In addition to the program counter and stack pointers, Mako has registers which control a pixel-scrollable 31x41 grid of 8x8 background tiles, a set of 256 variable-size sprites, a random number generator, optional character I/O facilities for debugging and an 8-bit audio output port. Some implementations additionally provide simple support for filesystem I/O.

The Maker source files provided in the examples directory can be executed by compiling Maker and then invoking it with a filename and the '--run' flag. Without the flag, Maker will simply print a disassembly of the prepared Mako memory image.

To compile, run ant from the top directory.

To run an example, invoke Maker from the command line:

java -jar dist/Maker.jar /games/Pong/Pong.fs --run

Or use the 'maker' script to save a little typing:

./maker /games/Pong/Pong.fs --run

Mako open issues Ask a question     (View All Issues)
  • over 8 years Document audio interface better
  • over 8 years Embedding ROMs in Images (.png)
Mako questions on Stackoverflow (View All Questions)
  • Jinja error when try to run mako template in Odoo
  • Search bar javascript / mako
  • How to convert multiple newlines in mako template to one newline?
  • Strip whitespace from Mako template output (Pylons)
  • I'm getting error 'ko:Invalid cache partition image type: yaffs2 (expected ext4)' when tried to launch android on emulator for device mako?
  • How to use _ in mako rendering template with i18n?
  • Import Mako template in Django Template file
  • Pycharm - coverage in mako templates
  • Mako templates json dumps new line escaping
  • Passing dictionary to MAKO defs
  • Using bitwise or in mako expression
  • Use babel with mako and bottle
  • Mako templates: alphabetically order the list
  • How to use $ in mako template engine when using include method?
  • How to use i18n feature with mako template engine when using args?
  • Mako report translate fields for Odoo 8
  • How to add i18n feature with mako template engine?
  • maintaining formatting of imported text with mako and rst2pdf
  • ImportError: No module named mako
  • 404 error handling with mako template
  • How do I register a global mako function in pyramid from outside the template?
  • Python Server with CherryPy and Mako Template - Nothing is displayed in the browser
  • In mako template: call python function within html string
  • Using both embedded expressions and kwargs in mako user-defined tag
  • How to use conditional if statements in Mako template engine, used in Odoo?
  • Caller's local namespace/scope inside mako templates
  • python tornado use mako template, how to use static_url method?
  • Possible to override a sub-def so mako works like an inherited python class?
  • How to avoid repetitive filter specification in mako %def's?
  • How to use print function with Mako templates
Mako list of languages used
More projects by JohnEarnest View all
Other projects in Forth
Powered by Autocode - Instant Webhooks, Scripts and APIs
Autocode logo wordmark