To build the emulator, you must install SDL2 for your distro. If you are using a package manager:
sudo pacman -Sy sdl2 # Arch
sudo apt install libsdl2-dev # Ubuntu
sudo xbps-install SDL2-devel # Void Linux
brew install sdl2 # OS X
To build Porporo and the required roms:
Since parts of Porporo are built with itself, we need to have a partial implementation of the varvara ecosystem(
src/uxncli), and an assembler(
src/uxnasm). Compiling porporo begins by building these two tools, then assembling the roms required by porporo(
potato.rom). These 3 roms then needs to be converted to C style arrays with
format-c.rom rom. When this is done we can finally compile porporo.
F1, lock varvara.
F2, center varvara.
F4, exit varvara.
F5, soft-reboot varvara.
esc, set normal mode.
m, set move mode.
d, set draw mode.
tab, see all files.
enter, run file.
shift+enter, send filename.
The rom expects a file named
.wallpaper in the chr format that is large enough to fill the screen. The way I do it is by, first getting the screen size(let's say
1328x640), creating a
wallpaper.tga image at that size, converting it with tgachr, generating a file named
wallpapera6x50.chr, and finally renaming it to
uxncli ~/roms/tgachr.rom wallpaper.tga
mv wallpapera6x50.chr .wallpaper
Potato is the menubar rom that holds some of the state of porporo in its zero-page:
0x00* action vector
0x02 action value
Porporo listens special console messages types:
0xff run command
0xfe set action type
The following resources are a good place to start:
You can also find us in
#uxn on irc.esper.net.