first some good stuff:
- the implementation of uxnemu is great, really easy to lift the whole thing.
- writing devices / drivers was incredibly clear! I got this done in a matter of minutes.
the stuff I struggled with a bit
- from the documentation its unclear which operations pop from the stack. I think its assumed that all operations pop an element, and some write a single element back, but I wasn't sure, and just went and looked at the implementation to be sure.
- the reference documentation could use some more examples. INC is great, but stuff like LDR or STA would be amazing if they included examples. I recognize this is more difficult because it requires showing not just the stack, but also program memory, but it feels doable?
- the debugger in uxn32 is invaluable for a noob. I'd love to see some extentions to it though:
- pause on start, so that you don't just break at your first overflow / underflow
- state unwinding. The uxn memory footprint is so small that in a system with a larger memory footprint, storing deltas for the full ram / stacks wouldn't be too bad. Even in a constrained environment (e.g. rp2040 with ~250k ram) you could get a pretty big chunk of state deltas there.
- its strange to me that the parser requires all ops to be upper case.
- same with uppercase in # rune numbers
- the documentation (both the reference and the cheatsheet) exclusively uses 0-9 in its hex literals. I wasn't sure what base they were in. Sprinkling in a few
#FE
#C0D3
would unconfuse this