Uxn is a 8-bit virtual stack machine.
Uxn is a portable 8-bit virtual computer inspired by forth-machines, capable of running simple tools and games programmable in its own esoteric assembly language. The distribution of Uxn projects is not unlike downloading a rom for a console, as Uxn has its own emulator.
|Stacks||Working Stack||Pointer||1 byte|
|Return Stack||Pointer||1 byte|
The CPU can tunnel through 128 subroutines and find its way back with the return stack, the JSR opcode jumps while pushing a return address to the return-stack, the opcode to return from a subroutine is
JMPr. An item on the work stack can be sent to the return stack with
STH(stash) and returned with
STHr. To learn more, see the Uxambly documentation.
Uxambly is a programming language for the Uxn stack-machine.
The Uxn cpu understands 8-bit machine code, and that code corresponds to operations and values used in programs. The programming language that turns source code into Uxn roms, is called Uxambly, it's a unique flavor of assembly designed for this special stack-machine.
Stack machine programming might look at bit odd, as it uses a postfix notation, which means that operators are always found at the end of an operation. For instance, one would write
3 4 + instead of
3 + 4. The expression written
(5 + 10) * 3 in conventional notation would be written
3 10 5 + * in reverse Polish notation.
Uxnemu is a Uxn emulator written in ANSI C, and SDL2.
The thin layer that is the Uxn emulator is the only part of this project needing to be ported to make the system available on a new platform. For that reason, Uxn was designed with a focus on portability and simplicity such that it welcomes anyone to try their hand at building their own implementation. The current emulator is 400 lines of C89, with SDL2 as its only dependecy.
The Uxn roms are assembled applications for the Uxn System.
The roms are a collection of native Uxn software written in Uxambly.
incoming(13): tools virtual machines gyo uxambly uxnemu roms noodle noodle chr format ayatori assembly forth devine lu linvega
Last update on 15I06, edited 21 times. +77/127fh