Update this horrible thing to work on a modern system.  Sigh.