3DO Arcade - SAOT BIOS

After recently involving myself in the 3DO emulator 4DO I started looking over miscellaneous 3DO forums. Over at the Arcade-Museum.com forum I came across a post by willkaotix of klov who had the 3DO based arcade game Shootout At Old Tucson and had desoldered the ROM with an interest to get it dumped. This was back on 2015-10-18. Having not seen a conclusion to the thread nor the ROM floating in the wild I reached out to willkaotix.

3DO Emulation

I recently decided to take on the task of cleaning up the 3DO emulator 4DO which is based on FreeDO. Specifically the libretro core version. I reached out to the project lead on 4DO and he’s supportive of my efforts to rework and improve 4DO via the libretro port (rather than fork or adopt the Windows only 4DO codebase). So far I’ve fixed a significant issue with rendering (appeared like a vsync problem), ported over specific game hacks, improved joypad handling, added CHD support, and I’m now in the process of doing a major cleanup of the code and APIs.

scorch: silent corruption checker

A new tool designed to provide a workflow around hashing files and then checking them later in order to find corruption. Combined with external backup solutions (such as CrashPlan or Amazon Cloud) this tool lets you forgo heavier tools like SnapRaid which require dedicated drives. This doesn’t provide recovery of data. Only corruption detection. https://github.com/trapexit/scorch

WTF?! Kubernetes’ rbd_util.go

https://github.com/kubernetes/kubernetes/blob/release-1.4/pkg/volume/rbd/rbd_util.go#L57 po := path.Join(sys_path, name, "pool") img := path.Join(sys_path, name, "name") exe := exec.New() out, err := exe.Command("cat", po, img).CombinedOutput() Does Kubernetes not have code review? Fork/exec’ing cat to read content from files? This is embarrassing bad.

ChromeOS & OpenVPN: Using OVPN Files to Setup OpenVPN on ChromeOS

First you need to split the “ovpn” file into the CA cert, client cert, and client key. If you’re using Crouton with ChromeOS you can do this on the ChromeOS device. Otherwise you’ll need to do this on another machine. The below is from an Ubuntu desktop. I’ve also created a small script to do the same: split-ovpn $ ls client.ovpn $ awk ‘//{flag=1;next}/</ca>/{flag=0}flag’ client.ovpn > ca.crt $ awk ‘//{flag=1;next}/</cert>/{flag=0}flag’ client.

Backup, Recovery, & Maintenance Howtos

https://github.com/trapexit/backup-and-recovery-howtos There is a lot of information scattered throughout the internet about creating backups of files, filesystems, hard drives, solid state drives, etc. However, there is really no one place where the different methods and technologies are described, compared, and packaged as full stack solutions. Recovery is almost a black art. Random tools you find talked about on miscellaneous forums. Rather than using a wiki which can get messy I’ve created a git repo of Markdown files which try to walk through different backup solutions, end to end.

Resetting Your Wii to (Almost) Factory State

Resetting / revirginizing your Wii to (almost) factory state WARNING: This will completely erase everything on your system. You’ll need giantpune’s wiiqt tools. It appears they’ve been abandoned for some time so I’ve cloned the code to https://github.com/trapexit/wiiqt just in case. For Windows: ohneschwanzenegger, nandExtract, nandBinCheck, giantpune-tools-dlls. On other platforms they’ll need to be built locally. Use BootMii [hackmii_installer_v1.2] to acquire an up to date version of your Wii’s nand.bin. We want to make sure that the bad block list is up to date.

Introducing mergerfs: another fuse union filesystem

https://github.com/trapexit/mergerfs https://github.com/trapexit/mergerfs/blob/master/README.md