~rabbits/porporo

Varvara Multiplexer, written in Tal/ANSI C(SDL2)
(menu.tal) Fix incorrect filename display when more than 15 items in menu
2d52c7f2 — Jason Morley a month ago
Fix macOS builds

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~rabbits/porporo
read/write
git@git.sr.ht:~rabbits/porporo

You can also use your local clone with git send-email.

#Porporo

Porporo is an experimental operating system specification for Varvara, written in Uxntal and ANSI C. For more details, see the devlog.

#Build

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:

make run

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(menu.rom, wallpaper.rom, 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.

#Global Controls

  • F1, lock varvara.
  • F2, center varvara.
  • F4, exit varvara.
  • F5, soft-reboot varvara.

#Action Controls

  • esc, set normal mode.
  • m, set move mode.
  • d, set draw mode.

#Roms

  • tab, see all files.
  • esc, exit.
  • mouse1, or enter, run file.
  • mouse2m or shift+enter, send filename.

#Wallpaper.rom

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 .wallpaper. Voila!

uxncli ~/roms/tgachr.rom wallpaper.tga
mv wallpapera6x50.chr .wallpaper

#Potato.rom

Potato is the menubar rom that holds some of the state of porporo in its zero-page:

  • 0x00* action vector
  • 0x02 action value

#Messages

Porporo listens special console messages types:

  • 0xff run command
  • 0xfe set action type

#Need a hand?

The following resources are a good place to start:

You can also find us in #uxn on irc.esper.net.

#Contributing

Submit patches using git send-email to the ~rabbits/public-inbox mailing list.