So I've been reading about the x86-64 archetecture, and programming it. It's pretty cool. The 8 additional integer registers alone make it substantially better than x86-32. Also, the fastcallish (or perhaps you'd prefer 'RISCish') calling convention is nice.
The functions themselves look trivial to write. Not so cool is the fact that VC++ doesn't support inline assembly. So I guess I'm gonna have to learn to use the standalone assembler for x86-64. Things are going to get reaaally unfun (and unportable) if I have to decorate the function names manually.
On an unrelated note, I should make a transacted file class at some point - that is, a file that remembers all the modifications you make to it (and will recall them if you read from a modified area), but doesn't actually alter the file on disk until you close it. That would support the discarding of changes on close, in addition to saving.