XXIIVV
Uxn Sticker picture
15C06 — Uxn Sticker

Uxn is a 8-bit virtual stack machine with 32 instructions.

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.

It was designed with an implementation-first mindset with the goal of targeting salvaged computers, the distribution of Uxn projects is akin to sharing game roms for any classic console emulator.

Memory

StacksWorking StackPointer1 byte
Data256 bytes
Return StackPointer1 byte
Data256 bytes
MemoryRAMPointer1 short
Data64kb

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 Uxntal documentation.

— Submit an edit to uxn.htm(11 lines)

uxntal

Uxntal is the programming language for the Uxn stack-machine.

The programming language for creating Uxn-compatible applications is called Uxntal or simply Tal, it is a unique flavor of assembly designed for this unique stack-machine. The program that tranforms Tal files, into Uxn-compatible roms, is the Uxn Assembler(uxnasm).

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

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.

incoming(14): roms tools chr format ufx format virtual machines uxnemu dexe nasu noodle macintosh ayatori assembly forth devine lu linvega

Last update on 15K02, edited 23 times. +84/139fh ----||