JohnEarnest/Mako
View on GitHub ↗ ★ 599 Forth
A simple virtual game console
39 mentions on Hacker News by 9 people: 5 stories, 34 comments · first 2011-07-03 · latest 2026-02-26
20082026
-
▲ 1
Mako: A simple virtual game consolestory by tosh · 2026-02-26 · 0 comments
-
Try https://github.com/JohnEarnest/Mako/blob/master/docs/makoBas... and https://github.com/ablevm/able-forth/tree/current In addition to the others mentioned here. It's a shame the able gui was not open sourced.
comment by alexisread · 2025-05-13 · in I learned Snobol and then wrote a toy Forth -
Not sure that will swing it, have a look at https://github.com/JohnEarnest/Mako/tree/master Which is basically a Forth for games, that runs on the JVM, and in the browser. The issue as I see it, is that you have to have a model of the…
comment by alexisread · 2025-03-29 · in MilliForth-6502: The smallest Forth real programming language for 6502 -
Not any sources/overview as such, I just looked at the VM code. So for Mako: https://github.com/JohnEarnest/Mako/blob/master/src/MakoVM.j... Freeforth: https://github.com/dan4thewin/FreeForth2/blob/master/ff.asm Jonesforth:…
comment by alexisread · 2024-03-02 · in Konilo: A personal computing system in Forth -
On a related note, here's a Logo interpreter I implemented many years ago using a dialect of Forth: https://github.com/JohnEarnest/Mako/blob/master/demos/Loko/L...
comment by RodgerTheGreat · 2021-04-20 · in Lisp in Forth -
▲ 6
Makostory by tosh · 2021-04-11 · 0 comments
-
Some similarities to one of my old projects, MakoVM: https://github.com/JohnEarnest/Mako It is also Forth-based, and has an ecosystem of interesting little games, programs, and libraries. The CPU, GPU, and other IO facilities fit in a…
comment by RodgerTheGreat · 2021-04-11 · in 8-bit stack-machine emulated by 200 lines of C -
▲ 2
Mako is a portable stack-based virtual game consolestory by joubert · 2021-02-05 · 0 comments
-
I wrote a dungeon-crawling puzzle game based on (and implemented in) Forth called "Forth Warrior": https://github.com/JohnEarnest/Mako/tree/master/games/Warrio... You can play a browser-based build here:…
comment by RodgerTheGreat · 2020-09-30 · in Why Forth Isn't Slow (1985) -
…://www.forth.com/resources/space-applications/ [3] http://johnearnest.github.io/Mako.js/?rom=Loko [4] https://github.com/JohnEarnest/Mako/tree/master/demos/Loko [5] http://johnearnest.github.io/Mako.js/?rom=Yar [6]…
comment by RodgerTheGreat · 2020-02-13 · in A bestiary of single-file implementations of programming languages -
…particularly concatenative languages. [0] https://github.com/JohnEarnest/ok/blob/gh-pages/oK.js [1] https://github.com/JohnEarnest/Mako/blob/master/demos/FiDo.f... [2] http://nsl.com
comment by RodgerTheGreat · 2020-02-13 · in A bestiary of single-file implementations of programming languages -
…abstractions you like in Forth. Some time ago I did a number of experiments with lazy generators: https://github.com/JohnEarnest/Mako/blob/master/lib/Algorith... The above dialect uses { } to delimit anonymous inline word definitions.…
comment by RodgerTheGreat · 2020-01-15 · in Stack-Oriented Programming -
…incredibly underrated), but an example of something he wrote in Forth is Mako, an entire console: https://github.com/JohnEarnest/Mako During the days of the U.S.S.R., the Russians independently discovered Forth in DSSP, an incredibly…
comment by kick · 2019-12-18 · in Thoughts on Forth Programming -
As another example, here's a simple GC I wrote quite a while ago in Forth: https://github.com/JohnEarnest/Mako/blob/master/lib/Algorith... This one is a precise, copying GC, with a reserved arena for persistent references into…
comment by RodgerTheGreat · 2019-12-15 · in Writing a Simple Garbage Collector in C -
…I wrote using this system were a variety of compilers and interpreters. FiDo, a tiny JIT compiler: https://github.com/JohnEarnest/Mako/blob/master/demos/FiDo.f... A Logo interpreter: https://github.com/JohnEarnest/Mako/blob/master/demos/Lok…
comment by RodgerTheGreat · 2016-06-07 · in Bone Lisp – Lisp Without Garbage Collection -
…go - gems inside :P), and you may also be interested in http://thinking-forth.sourceforge.net and https://github.com/JohnEarnest/Mako . (I have about ~20 more Forth bookmarks so far.) > I'm also wondering if Life Sciences might have some…
comment by i336_ · 2016-02-02 · in Ask HN: What (obscure?) areas of tech are engaging, sane, and incredibly stable? -
How about a puzzle game about Forth, written in Forth, running on a Forth machine? https://github.com/JohnEarnest/Mako/tree/master/games/Warrio... Obligatory Javascript implementation of said Forth VM:…
comment by RodgerTheGreat · 2015-09-01 · in Forth – The Early Years (1991) -
You could write videogames: https://github.com/JohnEarnest/Mako
comment by RodgerTheGreat · 2015-08-31 · in Forth – The Early Years (1991) -
It's a bit more difficult to write a Scheme in Forth than the other way around, but how about a Logo? https://github.com/JohnEarnest/Mako/tree/master/demos/Loko I also wrote a browser based VM so you can give it a spin without compiling…
comment by RodgerTheGreat · 2015-07-07 · in Thinking Forth (1984) -
I've built a few games along these lines, the most publicized of which is Forth Warrior: https://github.com/JohnEarnest/Mako/tree/master/games/Warrio... I have some slow backburner plans for a game with similar mechanics but an easier…
comment by RodgerTheGreat · 2013-09-07 · in Games That Teach Programming: A Brief Overview -
…with Moore's tradition of just whipping up a new dialect whenever he has a new problem domain. [1]: https://github.com/JohnEarnest/Mako/tree/master/games/Warrio... [2]: http://git.annexia.org/?p=jonesforth.git;a=blob_plain;f=jone... [3]:…
comment by swdunlop · 2013-07-26 · in Chuck Moore: The Invention of Forth -
▲ 1
Mako: a stack-based VM game console in F#story by luu · 2013-06-18 · 1 comment
-
…of a function. If done properly you get fantastically readable functions, such as this gem from https://github.com/JohnEarnest/Mako/blob/master/games/Deep/D... : move-player fire waves bounce think draw-score spawn-crab storm This snippet…
comment by bun-neh · 2013-04-13 · in Why Concatenative Programming Matters (2012) -
…Mako is only a couple hundred lines of Java, and features like sound and file I/O are optional: https://github.com/JohnEarnest/Mako/blob/master/src/MakoVM.j...
comment by RodgerTheGreat · 2013-02-17 · in Forth Warrior: A Programming Puzzle Game -
▲ 126
Forth Warrior: A Programming Puzzle Gamestory by RodgerTheGreat · 2013-02-17 · 18 comments
-
I've used a very similar trick for adding partial function application to Forth: https://github.com/JohnEarnest/Mako/blob/master/lib/Algorith... If I understand correctly, though, your implementation leaks memory. In my case I use a GC to…
comment by RodgerTheGreat · 2013-01-27 · in Functional C Programming: Higher order functions, closures, lifted types -
…quirks and complex features of popular "real" languages. BASIC is small, Python will never be. [1]https://github.com/JohnEarnest/Mako/tree/master/demos/Masica [2]https://github.com/JohnEarnest/Mako/tree/master/demos/Loko
comment by RodgerTheGreat · 2012-12-01 · in Is Python The New Basic? ("Python For Kids") -
I use my Forth system for writing video games: https://github.com/JohnEarnest/Mako It's also fun to implement features conventionally associated with high-level functional languages, such as lazy generators:…
comment by RodgerTheGreat · 2012-10-07 · in 1x Forth by Charles Moore (1999) -
…special-case syntax for string constants and the like. I do have a quick-start manual available: https://github.com/JohnEarnest/Mako/blob/master/docs/makoBas...
comment by RodgerTheGreat · 2012-05-12 · in My History With Forth And Stack Machines -
…case for the language. If anybody's curious, all my development tools and forth code are on github: https://github.com/JohnEarnest/Mako
comment by RodgerTheGreat · 2012-05-12 · in My History With Forth And Stack Machines -
…simple unit testing system called the Test Anything Protocol (TAP). Here's an example of a fixture: https://github.com/JohnEarnest/Mako/blob/master/lib/Test/tes...
comment by RodgerTheGreat · 2012-04-09 · in A Forth Story... -
…counting all the list utility routines) is about 60 lines long and fairly easy to understand. [1] https://github.com/JohnEarnest/Mako/blob/master/lib/Algorith...
comment by RodgerTheGreat · 2012-04-04 · in Notch's Specification for the In-Game DCPU-16 -
…to playing games[2][3][4](etc) you'll be able to play with an interactive Forth prompt.[5] [1]https://github.com/JohnEarnest/Mako [2]http://i.imgur.com/IVNdt.png [3]http://i.imgur.com/mJ1ZD.png [4]http://i.imgur.com/XumXi.png…
comment by RodgerTheGreat · 2012-03-27 · in Girls and Computers -
…Trying to recompile Ngaro bytecode to run on Mako could be an interesting weekend project... [1] https://github.com/JohnEarnest/Mako/blob/master/examples/Thr...
comment by RodgerTheGreat · 2012-01-01 · in IBNIZ - A hardcore audiovisual VM -
…keyboard and mouse input- I wonder how hard it would be to write some simple games for this VM? [1] https://github.com/JohnEarnest/Mako
comment by RodgerTheGreat · 2011-12-31 · in IBNIZ - A hardcore audiovisual VM -
…a bit messy, but you can still write code like 100 upto sum dup * 100 upto { dup * } map sum - ( https://github.com/JohnEarnest/Mako/blob/master/examples/Alg... )
comment by RodgerTheGreat · 2011-12-13 · in (Python) Generator Tricks For Systems Programmer (pdf) -
…with plans for an ALGOL-60 implementation and a classical Lisp. Perhaps this will interest someone: https://github.com/JohnEarnest/Mako
comment by RodgerTheGreat · 2011-11-18 · in Creating Your Own Freaking Awesome Programming Language -
If you find TinyVM interesting, one of my own projects might be worth checking out: https://github.com/JohnEarnest/Mako/blob/master/MakoVM.java It's a stack-oriented VM, similarly designed to be as simple as possible, but my goal was to…
comment by RodgerTheGreat · 2011-08-26 · in TinyVM 1.0 released; adds 16 lines of code, registers, a VM stack and more -
I have a project that's kinda along those lines, but it's not based on the 6502: https://github.com/JohnEarnest/Mako
comment by RodgerTheGreat · 2011-07-03 · in TinyVM: A lightweight, fast virtual machine in < 500 lines of ANSI C