https://100r.co/site/uxn.html
100R Menu
* about us
* mission
* philosophy
* pino
* videos
* support
* store
* press
knowledge
* off the grid
* liveaboard
* sailing
* cooking
* costs
* weather
* resources
* raspberry pi
* 6502 assembly
blog
* log
* working offgrid efficiently
* tools ecosystem
* buying a sailboat
tools
* orca
* dotgrid
* ronin
* left
* nasu
* uxn
games
* markl
* oquonie
* donsol
* paradise
* hiversaires
* verreciel
books
* thousand rooms
* wiktopher
* busy doing nothing
* library
travel
* US West Coast
* mexico
* french polynesia
* cook islands
* niue
* tonga
* new zealand
* fiji
* marshall islands
* japan
* North Pacific Ocean
Meta
* index
uxn
[main]
Uxn is a portable 8-bit virtual computer capable of running simple
tools and games programmable in its own little assembly language. It
is also playground to learn basic computation skills.
We've already started porting some of our tools like nasu, left and
Noodle to ROMs that can be played on Uxn. All are written in Uxambly,
the programming language for the Uxn computer. To learn more, see the
technical documentation.
Why create a smol virtual computer?
We want to produce lasting versions of our tools and games, and by
using simpler systems(the UxnVM is only 200 lines of C) we can build
more resilient software due to their lack of dependencies, and
support older hardware when possible. The Uxn emulator is extremely
simple, and can be ported to an unsupported system fairly easily.
Follow the development of Uxn on the Rasperry Pi Pico.
As it stands today, most software is built with extreme
short-sightedness, designed to be run on disposable electronics and
near impossible to maintain, we decided to not participate in this
race to the bottom. Our aim is to create a machine that focuses on
answering the handlful of tasks we need, which is centered around
building experimental audio/visual software.
To borrow the words of Viznut Heikkila on permacomputing, we're
interested in cultural and ecological permanence. "That is, how to
give computers a meaningful and sustainable place in a human
civilization that has a meaningful and sustainable place in the
planetary biosphere".
story
Back in 2016, we experienced frequent failures with both software &
hardware, largely due to our small energy storage and lack of
reliable connectivity. The solution was to create tools that would be
better suited to our needs. The objective was to replace the bloated,
closed-source or subscription software that we were using to do
creative work, such as Photoshop, Xcode and Ableton. We were somewhat
familiar with web technologies, so we decided to build our programs
on this new framework called Electron.
While solving some of our issues, Electron was rapidly increasing in
size and soon joined the rest of the software that we wanted to do
away with. Our focus shifted toward reducing our energy use, and to
ensure reliability by removing all dependencies.
To transition toward our new goals, we developed offline web versions
as temporary stand-ins while researching ways to build more resilient
software. We eventually ported our tools to C, but while we had
achieved ideal energy usage, portability was still an issue, so we
kept looking. We learnt 6502 assembly, seeing players run our NES
game on all these different platforms gave us a new idea.
And so, in 2021 we took our biggest leap yet toward longtermism and
designed a small virtual machine with a focus on implementability;
meaning that moving forward, our software will live on a virtual
machine. In other words, the code will stop having to be ported, but
instead to make something available on a new platform would our needs
or devices change, the emulator remains the only piece of code to be
ported, which is explicitly designed to be easily implemented.
This is where we are now. uxn may solve our cross-platform issues,
while being extremely light. It took us a long while to get here, we
hope that one day the Uxn versions of our software replace the
desktop and web versions [16.05.21].
`Go slow, and fix things.'
Uxn is currently under development, we use #uxn on freenode to
coordinate development [07-05-21].
[01] [03] [02]
---------------------------------------------------------------------
Edited on Mon May 17 13:55:54 2021 [edit]
Hundredrabbits (c) 2021 -- BY-NC-SA 4.0