Hacker News new | ask | show | jobs
by kragen 339 days ago
That'll be fantastic! I'd be delighted to see that! That would make those TI calculators the new smallest machines with a full Uxn/Varvara implementation, and much lower power than the GBA that is the current champion there; I'd really like to get some experience with what that's like, because I've found the experience of using Uxn to be inspiring so far.

I also hadn't seen the AgonLight2 before.

One quibble, though: the vast majority of 32-bit computers are microcontrollers, and most of them have less than 64KiB of RAM. (My comment at https://news.ycombinator.com/item?id=44611710 goes into more detail about the popular STM32 family.) They would be perfectly adequate for a self-sufficient personal computing experience (most of them have more total memory than the computers I used to run Turbo Pascal on, just less RAM, plus their CPUs are 1000 times faster, and they can read and write SD cards) but probably not with Varvara.

1 comments

That's a fair point.

A few of us have been discussing a modified Varvara spec that limits the system to a smaller amount of memory (e.g. 32k, 16k, or 8k). I think with a spec like that it would unlock many implementations that are not currently practical.

I think a more important consideration for currently produced microcontroller hardware is the ability to run from ROM, because then you can load your program into relatively abundant Flash instead of the much scarcer RAM. Some way of using virtual memory (take a look at Forth's approach, which doesn't require hardware support but doesn't work for code, only data) would also make a big difference. All of this doesn't necessarily depend on native-code compilation; microcontroller memory is a much more tightly pinching shoe than microcontroller speed.
It wouldn't be idiomatic Uxntal but there's a relatively simple modification where load/store is from RAM space but jump/pc is from ROM space. For a subset of existing programs it would work fine, although the assembler would need some modifications to make the memory layout(s) a bit clearer.