Owen Feldman wrote custom firmware for the Steam Controller and used it to run Zork, a 1977 text adventure, by emulating a full Intel 8080 CPU and CP/M operating system on the controller's internal processor.

The implementation is a Rust-based 8080 and CP/M emulator ported directly to the Steam Controller's hardware. I/O routes over USB since the controller has no screen or keyboard. The CP/M disk image lives on the controller itself, while Zork's disk data streams over USB in real time. Feldman found an undocumented Steam tool for flashing firmware, discovered the original Valve firmware sitting in the same directory, unsigned and protected only by a CRC checksum, and bricked the controller twice before getting his own firmware stable.

The full technical breakdown is on Feldman's personal site, and that is where you should go. The reverse engineering detail on the firmware flashing process, specifically how he navigated the undocumented tool and the checksum-only security model, is the part worth reading closely. This is not a surface-level project, and the write-up reflects that.

[READ ORIGINAL →]