Add support for console buttons and allow moving cursor
Add cursor support
Beans is a flow based programming language built on the uxn virtual machine.
Beans' goal is to be a modular, explicit language that inspires play. Programs written in beans that are extremely decomposable, as the modules (called beans) are entirely independent from each other.
Questions, comments or feedback? Let me know on irc: irc://kyleperik.com#beans
My initial project to prove out this concept was written in javascript here: visual-cell-lang
For a walk-through of the initial ideas, checkout: Beans Genesis (May 2023)
Comparison with other frameworks: Evolution of Beans (July 2023).
Since then I've rewritten beans more formally and efficiently, without a built in visual interface. But the main concepts remain, and I hope to have a visual interface soon!
Required in PATH
:
Run the build script to assemble beanasm
and uxnbean
. Optionally
use --save
to copy to ~/roms/`.
./build.sh --save
Assemble etc/hello.bean
uxncli bin/beanasm.rom etc/hello.bean > out.can
Run it
uxncli bin/uxnbean.rom out.can
Now see that each time you press return, it prints back "Hello World!".
For more information on writing programs, checkout the spec.
After switching to the drifblim
assembler, I'm having some trouble
assembling using uxnasm
, so drifblim
is required. (if you know
what's wrong, please drop a note on IRC!)
For quick usage in the future, you can copy uxnbean.rom
and uxnasm.rom
to ~/roms
and alias them in your .bashrc
/.zshrc
:
alias beanasm='uxncli ~/roms/beanasm.rom'
alias beancli='uxncli ~/roms/uxnbean.rom'
alias beanemu='uxnemu ~/roms/uxnbean.rom'
Now it's a bit easier to compile and run beans:
beanasm etc/particles.bean > out.can
beanemu out.can