I write code! Some things I've made:
Pics of Bread's Awful scRipting Interpreter System for Neat Architectures - mostly abandoned 😔
POBARISNA is a hobbyist operating system I'm working on for non-x86 computers (Neat Architectures). The goal is to be entirely architecture agnostic in both behaviour and executable format, through the use of the WebAssembly virtual machine, and software vs hardware solutions whenever possible. This allows for extreme portability with little effort, at the cost of speed.
Find the code here.
Platform target goals:
- [x] Apple PowerPC
- [ ] Apple PowerPC 64-bit
- [ ] SPARC
- [ ] SPARC64
- [ ] ARMv7
- [ ] ARMv8
- [ ] OLPC x86
Details of OpenFirmware implementation (since documentation is sparse) can be found on the restless.systems wiki.
Check out the systems some of my friends are working on, too!
Heart and Soul (Ludum Dare 44 entry)
I participated in Ludum Dare, an international game development competition where developers from around the world must produce a game in 48 (or 72) hours, after which they judge others games, and get judged.
My entry, Heart and Soul, can be found here.
Download link: windows/linux zip
Here is a picture:
Kittens (live mixing software) (abandoned)
Kittens was my first real project in C++, software for sample playback and live audio mixing. It uses the excellent Q DSP library by Joel de Guzman. It also sucked, so I left this one behind.
I'll revive it someday!
Here's a GitHub link.
DOSBochs (get it?)
One night I got bored and ported the Bochs PC emulator to MS-DOS. It's extremely slow, the code sucks, the video driver I wrote sucks even harder, and it's basically useless anyway because DOS is single-tasking. Maybe I'll improve it, maybe I won't. It's a little difficult because it's a huge pile of cheap hacks... I'd have to start from scratch. And why would I?
TL;DR: have you ever woken up with a fever and done something irrational that you regret? Maybe you've been possessed by a demon before. That's DOSBochs.
x3.wiki
Like everyone, I hate fandom.com wikis. I didn't know about the existing proxies to make them more pleasant, so I wrote my own at x3.wiki. Just stick "x3.wiki/" in front of a fandom link and you should get redirected to a cleaner page.
It's a MediaWiki extension paired with a custom theme and a whole lot of jank. It does work, despite being a little slow to load and probably not being good, idiomatic PHP (I am not a PHP developer). Use it if you want to!
POBARISNA toolchain scripts
I wrote some bash scripts to more easily build bare metal GCC toolchains with newlib. Those are here. If you want to build a "full" GCC cross toolchain, these are not for you... I've used these for OSDev stuff as well as testing emulators, etc. By default it builds a PowerPC toolchain, but that can be changed :3
Convict
Convict is a little toolkit for rapidly setting up a working Crouton + app launcher setup on developer mode enabled ChromeOS devices.
I wrote it for my little brother, who uses an old laptop that I installed ChromeOS on using Brunch. Convict allows me to provide him with a URL to an Arch Linux package that he can install to run Linux-compatible games in a reasonably smooth and non-tech-savvy-friendly way. Seems to work just fine.
SWEET
A couple of quick little scripts to auto-generate WikiText to make my life easier while I'm editing the Restless Systems Wiki. Check out the README.
Build OpenFirmware on 64-bit machines
OpenFirmware builds for x86 are super broken on 64-bit devices. I put together a very simple Podman container to build OpenFirmware.
Thing(s) I didn't write are here as well!
A totally statically linked copy of dialog for use in scripts and what not
Compiled on Fedora 35, 2022-03-08. I don't blame you if you don't trust a random executable from a bread and technology! website. I built it from the original source at the author's website (above), using the following configure options:
./configure --without-x --without-shared LDFLAGS="-Wl,--as-needed -static"
This produced a 3.6MiB file, with the sha256sum 52af692d616dd968c058778469f40fec939513397179a2282316444dc54112f5
.
That was enough to work on a developer-moded ChromeOS (via Brunch) install, which was good enough for me.
Download link: just the rawdog elf
Another totally statically linked thing! This one is mruby!
Compiled on Fedora 35, 2022-03-08. Same as above, blah blah blah. Built from the git master (again, 2022-03-08). I used the following rake config, that I put in build_config/static.rb:
MRuby::Build.new do |conf|
# load specific toolchain settings
conf.toolchain
# include the GEM box
conf.gembox 'default'
# Linker settings
conf.linker do |linker|
linker.flags = [ENV['LDFLAGS'] || ["-Wl,--as-needed -static"]]
end
conf.enable_bintest
conf.enable_test
end
Then I compiled with: MRUBY_CONFIG=build_config/static.rb rake
.
This produced a 8.0MiB file, with the sha256sum 3a65243ce43d6310be73d676bc23d71922a6cdd7f10535ebeab079d53f6f34e0
.
Worked on a developer-moded ChromeOS (via Brunch) install, which is all I needed. Probably works pretty much everywhere :)
Download link: gimme the elf
iPXE build with all drivers enabled (iso and usb images)
Download link: tar file
Properly numbered Inside Macintosh manuals
The folks over at VintageApple.org have done a great service by scanning the 1992-1994 series of Apple's Inside Macintosh series of reference volumes as a series of PDF documents. However, these scans have the wrong page numbers in PDF viewers because they lack any page labels for the different sections. I've downloaded and painstakingly renumbered every one of the manuals with the proper page numbers, and uploaded them to archive.org for your reading pleasure. Any modern PDF viewer (I use qPDFview, and Acrobat should obviously work) should be able to take advantage of the new labels.
Find the new manuals here.
A containerized cross toolchain for aarch64-apple-darwin (iOS, iPadOS, tvOS, Apple Silicon)
Ever need to compile Qemu for iOS using my toolchain? (see above)
No? Well here's a patch to make Qemu commit f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65 build in the container.
Things I just want to remember for later!
Easier-to-download legit Windows 10/11 isos. Thanks Mika Simanainen!
Statically linked pacman. That's neat.