4 ms·
A good demonstration of how stack architectures can produce stunningly concise code. I'm definitely going to poke around with the documentation and examples. I
by RodgerTheGreat 15y ago
A good demonstration of how stack architectures can produce stunningly concise code. I'm definitely going to poke around with the documentation and examples.
I have a Forth VM of my own[1] that also has graphical capabilities, but it's designed for creating NES/SNES style games from tiles and sprites- interesting to compare some of the design decisions. I notice that IBNIZ has support for handling 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 https://github.com/JohnEarnest/Mako
- sitkack 15y agoHave you taken a look at the Ngaro VM over at http://retroforth.org/docs/html/Implementations.html http://retroforth.org/docs/html/Implementations.html ? Beautiful abstractions in Mako btw. I like it. Did you see the recent discussion on the VM used in http://en.wikipedia.org/wiki/Another_World_(video_game) http://en.wikipedia.org/wiki/Another_World_(video_game) http://www.reddit.com/r/programming/comments/no0dy/another_world_code_review/ http://www.reddit.com/r/programming/comments/no0dy/another_w... From what I can tell IBNIZ is meant as an ultra minimal target for demos. Not necessarily end user games. I think it is probably overly constrained. Much like a http://en.wikipedia.org/wiki/Lipogram http://en.wikipedia.org/wiki/Lipogram
- RodgerTheGreat 15y agoThanks! I encountered Ngaro shortly after I started designing Mako. Aside from I/O functionality they are fairly similar, but I think storing the stacks and registers in addressable memory is a more flexible design than keeping them separate as Ngaro does. For one thing it means it's possible to remap the stacks at runtime and easily implement cooperative multitasking.[1] Games of the type I'm writing don't really need Ngaro's file I/O capabilities, but they could be very useful if I wanted to make a bootstrapped version of my Forth compiler. Trying to recompile Ngaro bytecode to run on Mako could be an interesting weekend project... [1] https://github.com/JohnEarnest/Mako/blob/master/examples/Threads.fs https://github.com/JohnEarnest/Mako/blob/master/examples/Thr...