permacomputing

Source repository for the main permacomputing wiki site
git clone http://git.permacomputing.net/repos/permacomputing.git # read-only access
Log | Files | Refs

commit 8b1664f884fc1019a9fccf29363a1c5dcfad500e
parent aaacb77e325078f68e0007459c3e8b834818436f
Author: neau <neau@web>
Date:   Wed, 22 Jun 2022 16:33:20 +0200

empty web commit

Diffstat:
MUxn.mdwn | 20+++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/Uxn.mdwn b/Uxn.mdwn @@ -1,11 +1,23 @@ # Uxn -**Uxn** is a simple [[virtual machine]] platform geared towards graphical +**Uxn** is a simple [[virtual machine]] geared towards graphical applications, with features reminiscent of classic home computers. -Unlike most "fantasy platforms" such as [[TIC-80]], Uxn was designed with an implementation-first mindset with a focus on creating portable and long-lasting tools and games. +Unlike most "fantasy platforms" such as [[TIC-80]], Uxn was designed with an implementation-first mindset with a focus on creating portable tools and games for pre-existing devices(emulators exist even for devices such as the Gameboy Advance). -Emulators exist even for devices such as the Gameboy Advance. The [[C]] implementation of the virtual machine is about 100 lines. A self-hosted assembler for the Uxntal assembly language is about 400 lines of Uxntal, and assembles to a 1200 bytes rom. +The [[C]] implementation of the virtual machine is about 100 lines. A self-hosted assembler for the Uxntal assembly language is about 400 lines of Uxntal, and assembles to a 1200 bytes rom. + +This stack-machine has no registers - Program Counter(PC), Memory(M), Devices(D) and Return Stack(rs). Uxn has 32 opcodes: + + 80 a b c M[PC+1] 08 a b?c 10 a b M[c8] 18 a b+c + 01 a b c+1 09 a b!c 11 a {M[c8]=b} 19 a b-c + 02 a b 0a a b>c 12 a b M[PC+c8] 1a a b*c + 03 a c 0b a b<c 13 a {M[PC+c8]=b} 1b a b/c + 04 a c b 0c a b {PC+=c} 14 a b M[c16] 1c a b&c + 05 b c a 0d a {(b8)PC+=c} 15 a {M[c16]=b} 1d a b|c + 06 a b c c 0e a b {rs.PC PC+=c} 16 a b D[c8] 1e a b^c + 07 a b c b 0f a b {rs.c} 17 a {D[c8]=b} 1f a b>>c8l<<c8h + 2x a16 b16+c16 4x a b c {rs.b+rs.c} 8x a b c b+c Relationship to permacomputing: @@ -13,6 +25,8 @@ Relationship to permacomputing: * The design characteristics call for small applications that use little computing power. * The general issues with [[virtual machine]]s apply: running a virtualized program takes much more processing power than an equivalent native program would. It is therefore advisable to use VMs only for computationally simple applications. +Parts of the project are geared toward the specification of a [[Universal Virtual Computer]], such as the Uxn sign language, and its glyph writing system. + See also: * [Uxn at 100r.co](https://100r.co/site/uxn.html)