Bedrock: A tiny, portable 8-bit virtual computer (uxn fork)
27 points by ar-nelson
27 points by ar-nelson
oh this is quite cool
the tutorial is fairly well, written, and the differences with uxn (and the reasoning behind those differences) are explained and seem reasonable so far
my only gripe is that the lede is buried quite a bit; i had to scroll down pretty far to find the “differences from uxn” section
on further reading i do find it amusing that a system designed to last “forever” uses a single byte for the system clock’s year value
two centuries isn’t quite forever, even if it is a hot minute by software standards
Even if the goal was only to last two centuries, I’d be worried about the fact that projects like this one tend to be forked every 4.5 years, on average.
To be fair, I’m drawing a straight line with only two data points (Uxn to bedrock-pc), with all the risk that entails. I also think trying to build something long-lasting is an admirable goal, regardless of success! But still… there’s something wonderfully ironic about a system that declares itself to be the one unchanging system for all time, when that system is itself a fork of an earlier system that had the same goal.
indeed
the other amusing thing is as i was reading the documentation i found myself pondering how hypothetical future extensions (more memory, larger word sizes, more complete gamepad and more advanced graphics, etc) might be done in a “backwards compatible” way
i do think it could be done. could even be fun, albeit cursed
i also think throws something to be said about a “long term” computer system that changes and evolves over time, the way mainstream systems have. i’m not sure what exactly there is to be said, but it’s something
having read the whole thing now i do definitely like the architectural changes from uxn/varvara, (and the assembly syntax changes!) and i like that the docs are less scattered and easier to follow, tho i do think both the manual and specification need some editing passes at some point (the spec leaves a lot of things unsaid, for one thing)
i find myself seriously tempted to write an implementation in zig or something
One thing I noticed was that in the cobalt demo, the fifth tool made my fans start spinning. Maybe the javascript assembler needs a bit of optimization?