This page is intended to contain links to my technical interests and projects.


Scripting Sphero's Star Wars Droids January 23 2018
Figuring out the BLE Sphero Droid protocol and scripting the droids from Linux.

More HID Hijinks September 14 2016
Use ADB and Pre-ADB keyboard and mouse as a USB device on modern systems via digisparks.

Classic II ROMDisk September 1 2016
Modifying the system ROM of a Mac Classic II to boot from the ROM/FPU expansion board.

Seiko RC-1000 Watch April 12 2015
Setting up a Seiko RC-1000 to sync with modern computers.

Capturing Mac SE's video from PDS January 24 2015
Using an stm324 to capture a Mac SE processor's writes to video memory, and displaying it over USB to an OSX application.

Mac Related 3D Models November 29 2014
Some 3D printable models of replacement items for classic macs.
Updated August 24 2015 with Quadra 700 feet and Apple Extended Keyboard II spacebar.

bbraun's Media Guide November 25 2014
It looks like I wrote this last year, but forgot to link it. It's still the setup I use, in combination with the cable TV setup.

Snaaaaaake! November 11 2014
A game of Snake played on 9 compact macs, via localtalk.
Updated 11/24/2014 with 5x3 array and management software.

Mac Plus ROM Adapter October 4 2014
A 1MB flash ROM for the Mac Plus, with a bootable ROM disk.

Reducing Wall Warts with ATX PSU September 14 2013
Use an ATX PSU to power all those gadgets on your desk, free up outlets, reduce inefficiency.

MAME Cabinet July 6 2013
MAME Cabinet conversion using a Raspberry Pi.

Cable TV Setup July 6 2013
A description of my cable TV system using a Raspberry Pi per channel, providing content from an iTunes library.

USB Powered Magic Trackpad June 19 2013

PS2 to Mac Plus Keyboard Converter June 8 2013
Use a PS2 keyboard with the Mac 128k/512k/Plus.
Updated 7/22, PCBs arrived! Code updated!
Updated 8/19, PCBs arrived! Code updated! Now with mouse support! Updated 9/19, PCBs arrived! Code updated! Now with both pre-ADB and ADB support! At the same time!

NetBSD/mac68k Work Entry #2: April 23 2013

HTTP TV: April 21 2013
Pandora, but for your local videos!

NetBSD/mac68k Work Entry #1: April 10 2013

AppleTalk over IP: Feb. 24 2013
Recreate the old Mac LocalTalk networking experience over the internet!

Serial Disk Driver: Nov. 4 2012
Mount a disk image over the serial port on a 68k Mac.

PRAM Used By ROM PRAM locations used by 68k Mac system ROM.

Mac ROM Shadowing: Sept. 30 2012
Shadowing the Mac ROM into RAM for performance.

djMEMC Support For Large SIMMs: Sept. 25 2012
128MB SIMMs in Centris/Quadra 610, 650, 800.

Netgear WNCE2001 Config for System 7. The WNCE2001 is an ethernet to wifi bridge (wifi client), which I use for giving 68k macs wireless connectivity. This is a native configuration tool.

ATI Radeon 7000 Mac ROM Flashing Replacing the flash chip on a PC Radeon 7000 with a 128KB version suitable for a Mac ROM.

68k Mac ROM Boot Disk: Aug. 12 2012
An improvement on my previous ROM disk efforts. This one is bootable through a key held down at boot.

netBOOT ROM driver in 68k Macs. I've been able to figure out some information about how to activate this driver, and have started putting my notes here.

Declaration ROM hacking: Mar. 25 2012
Experiments in creating old Mac DeclROMs to load drivers automatically.

A couple patches: Mar. 18 2012
HandBrake patch to preserve media type, Season, and Episode numbers when encoding m4v files. I sometimes reencode existing (tagged) H264 content at a lower bitrate for older devices. HandBrake currently strips these metadata attributes, so the file needs to be manually retagged after reencoding.
ffmpeg patch to write the same attributes above: episode_sort, season_number, media_type, hd_video, and gapless_playback. ffmpeg understands how to read these attributes from an m4v file, but it cannot write them back out. Therefore, they are not preserved when reencoding, and they cannot be set manually using -metadata episode_sort=1 syntax.

Classic MacOS Software - Mar. 18 2012
A listing of some of the Mac OS software I've written (usually System 7 centric).

68k Mac HTTP Disk - Dec. 17 2011
Use a file on a web server as a read/write local disk on 68k Macs.

Bootable 68k Mac ROM Disk - Nov. 28 2011
A bootable ROM Disk driver for Mac IIx, SE/30 machines.

Old NTI KVM Setup - Apr. 5 2011
A collection of my information on old NTI KVMs.

Program to view/edit GM TPI ROM Images - Nov. 13 2010
The beginnings of a program to view/edit ROM Images from GM ECM systems. This is specifically for chip code 0x8D images. My application is a 1992 5.0L in an F-body. This is a fairly generic POSIXy program which should run on any POSIXy system, such as Linux and Mac OS X.

Installing Ultrix 4.5 on a VAXstation 3100 - Sep. 25 2010
Notes from installing Ultrix 4.5 on a VAXstation 3100.

SunOS 4.1.3U1 Binaries - Mar. 25 2010
SunOS 4.1.3U1 binaries of (mostly) recent open source projects built on a 4/630MP system.

90-92 GM ECM ROM Modification - Feb. 28 2010
Notes from disabling the VATS anti-theft system in the EPROM of the ECM from a 1992 5.0L swapped into a 1983 TransAm. Updated May 8 2010

Using Retr0bright - Feb. 22 2010
Notes, experiences, and cautions when using retr0bright to treat yellowed plastics.

68k Mac Video Settings - Jan. 23 2010
Notes from attempting to encode video for playback on older 68k Macs.

SE/30 Storage Benchmarks - Jan. 12 2010
Benchmarks of various storage devices from a 10k RPM SCSI disk to the lowest end unrated CompactFlash card.

ROM Archive - Jan. 1 2010
Backups of some difficult to find/replace ROMs. Everything here I've personally extracted the chips and read them on an EPROM burner.

Photo gallery scripts - Dec. 15 2009
A couple different people over the last few months have asked what photo gallery software I use in my gallery. Basically, it's some scripts I wrote in ~1999 when I got my first digital camera and the EXIF data was a novelty. Since then, the scripts have been updated to continue working and fix a few bugs, but the output format hasn't changed. I've made them available with some minimal documentation if anyone is interested.

AppleTalk Bridging Software - Dec. 13 2009
I've written a small AppleTalk Bridge to allow EtherTalk to be bridged across the internet through a central server to multiple client sites. Hopefully, this allows for playing the old AppleTalk games with people across the internet. So far, only limited testing has been done.

iDisk on a IIgs - Dec. 7 2009
I received an iDisk virtual Disk II controller for use with Apple II systems today. This is a writeup of my initial impressions.

Repairing a //c - Nov. 12 2009
A while ago I received an Apple //c as part of a larger lot of old machines I purchased. The //c had some problems, this documents the repair process.

Ethernet on a IIgs - Oct. 31 2009
My experiences using an Uthernet card in the IIgs with GS/OS and the Marinetti TCP/IP stack as well as Contiki on the IIgs.

Converting an AEC-6280 to work in a Mac - Oct. 22 2009
Modifying an AEC-6280 PATA IDE PCI card for use booting a PCI based PowerPC Mac.

Netbooting a IIgs - Oct. 20 2009
Setting up a IIgs to boot off a LocalTalk network served by a Performa 630CD using AppleShare.

Experiments with R-IDSC-E SCSI to IDE converter - Oct. 19 2009
Using an R-IDSC-E SCSI to IDE converter with the intent of using CF cards as primary bootable storage devices in older SCSI based machines (old macs, Suns, etc.)

Experiments in IDE-CF Adapters - Oct. 19 2009
Information on using IDE-CF adapters in various computers.

C64 Twitter Client - June 15 2009
A C64 Twitter client is now available, called Breadbox64. I had to create a twitter account just to give this thing a try, and it works great. I set it up on a physical c64 breadbox from 1982 with a 1541Ultimate (without an ethernet adapter unfortunately), an MMC64 with an RR-Net adapter. It has worked well for me, with one problem following a person with non-ASCII twits. It crashes trying to display them. Other than that, it works great.

Repairing Gameboy DMG LCD - June 12 2009
I have an old original gray GameBoy DMG laying around, but several columns of pixels on the sides of the screen were missing. Sometimes pressing on the LCD or the connector would temporarily make some columns reappear indicating it was a connection problem, but it would never stay fixed for very long. I found these instructions describing a more permanent repair. The summary is, disassemble the GameBoy, and take an old ~15W soldering iron with as blunt a tip as you can find, and run it (on & heated) over the connections of the dark cable going to the LCD. The goal here is to re-bond the solder on the connections without melting the connector its self. It worked great for me, I had maybe 10 missing columns on both sides, and now all are back on.

JP1 Remote Programming - June 10 2009
Programming some standard IR television remote controls using i2c to access their EEPROM.