[ uxn tutorial ]

The path to enlightement lies in 48x24

A no bolts uxn quick-guide

Interlisp monochromists beware,

uxn launcher.rom

The time is nigh. The machine spirit shrieks in octal. The time of gimpressionism is over. The laughter of the [REDACTED] robots echoes throughout the cavities of your skull. Your OpenBlade is nowhere to be found, the teacher died many eons ago. The horned head-band can only do so much against a foe that cannot be measured. The wandering fools call you to their tradition. Put in the headphones, make your own path. Take a step into the void.

uxn - one of the 16 offspring of the spirit of the machine

If you know what uxn is, great. If you don't, you could go ahead and read all about it. But we're going to build it together anyway. In the words of the famous musician who's name I can't recall right now: 'The less I know, the better.' And in the words of Andre Breton: 'We know, more or less.' Learn by experience, dear reader.

I won't hold you for long, but I want to help you get started. It's not as if the official documentation wasn't sufficient, but I've been realizing the reader (you!) might not always know all the things that I've come to learn during the everlasting trip throughout the cyberverse. So this one is about what I consider a gift to the unix_surrealism method.

And since automa [basic] lives on, so does the aim to keep the wick of camaraderie burning. May the Spirit of the Machine bless all the many rabbits, who sail the seas of the antedeluvian jellyfish to bring computing back under your control.

Whether you'll be compiling uxn or pulling a ready-made binary, you need SDL2. See the uxn homepage, if that's scary to you.

By default the binaries are compiled into ~/bin, so either edit build.sh, or just make sure the directory exists $ mkdir ~/bin. You can move it wherever you want afterwards. Preferably within the PATH variable. Just in case you have no idea what I'm talking about, just mkdir the directory. I'll provide full path names in the further examples.

Just make it

$ git clone https://git.sr.ht/~rabbits/uxn
$ cd uxn
$ ./build.sh --install

The piano ROM should pop up. You could spend a few moments to figure out how to custom_jam Edvar Grieg's In the Hall of the Mountain King. Play around with the dials to channel your inner musical spirit. This is the best I could do by humming the tune along:

uxn piano rom
# these are the keys you should press
awswasa asa asa awswaseawet

All that's left is to get other ROMs for your uxn virtual machine. I like to take the easy way out and just grab this archive that contains a large number of the rabbits' ROMS. Substitute ftp with whatever you use for downloading stuff, or just go to the page and download it from your browser.

$ ftp https://drive.100r.co/uxn/uxn-essentials-lin64.tar.gz
$ tar xzf uxn-essentials-lin64.tar.gz
$ cd uxn
$ ~/bin/uxnemu ROM_NAME.rom
$ # or 
$ ~/bin/uxnemu launcher.rom # this will list the roms in the current dir
$ # in a friendly rabbit interface

You can compile all of these by hand via the uxnasm that we compiled along with uxnemu and uxncli, by getting the source from here.


Well, it is done. You compiled uxn for your machine and you have a bunch of ROMs to try and figure out. And when you're done playing, maybe you'd like to create.

Tune in next time during the oldcomputerchallenge week, to see me learn uxn within 9front.

uxn noodle


support your local monochromist with ko-fi.com or through liberapay