Follow

on my mind today is using uxn but writing up a more game-focused (and me-focused) device-computer rather than using varvara... will be chewing on this one for a bit

· · Web · 2 · 0 · 3

maybe i want something even weirder than this... i would like for code to be modifiable at runtime (the "play"er is also an editor). this would be doable with assembled uxn code, but relative references would break if bytes were added or removed, meaning i'd probably want to store/edit the uxntal source and assemble it at runtime... but what if instead the virtual machine didn't support relative access/jumps and instead kept label information in its bytecode, somehow?... 🤔

@scout I'd love to see something like varvara but with ports to draw vector polygons like in Another World! Or even something that expects 3 shorts(x,y,z) to draw 3d shapes :D

@scout assembling is so fast, that you could probably get away with re-assembling all the time, you could use the bicycle as an example.
wiki.xxiivv.com/site/bicycle.h

@neauoire hmm, maybe i am just scared of needing to figure out how to include an assembler 😅 i think there's something neat about working directly with bytecode and assembly is so close to that... but maybe it's not worth losing the ability to have named labels and comments

@scout Well.. maybe you could imagine a different kind of assembler, one that works more like CollapseOS, where page of memory are simply 256 bytes, you could use glyphs to draw each word/number, and little drawing to highlight labels, and jumps would be like arrows drawn between cells..

I've been thinking about this sort of thing for a little while myself, it's why I made the runic language for uxntal. 🤔

@scout relative addresses could be be made to not break if they are pointing somewhere in the same page.

It would be a totally different puzzle than writing assembly, here's a page of forth words in collapseOS to give you an idea of what I mean.

github.com/schierlm/collapseos

@neauoire interesting! so you sort of work around the problem by replacing a whole block (but making that a manageable task) if you want to add or remove bytes? it seems like there would end up being some wasted space at the end of each block, but that might not be an issue.

seeing the uxntal runes is part of what is pushing me to think this way, so they're "working" in a way! it seems poetic to me to work directly with the machine instructions if it can be made manageable

@scout Exactly, it's kind of a problem-space that's not explored much at all.

The way I look at this, there would be this interactive editor rom, that lets you click runes into location in any one of the page of this "book".

And then there would be this other application, a "keyboard" or sort, with only 16 keys, with 4 modes(k, 2, r, hex) that send through stdout, to the editor bytes to store.

@neauoire ah, this is fun to think about! (: now i'm more determined to create my ideal programming interface that explores this, somehow... i will keep thinking about it, this is a promising direction!

Sign in to participate in the conversation
Merveilles

Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them.