Initial commit. Bunches of #defines, and a lot to do.