Call me perverse, but I love the archaeological side of dealing with legacy software too. You start off with code that makes no sense at all, and gradually as you brush away soil from the pot shards, a story emerges. Working on porting Diablo to the PS1, there were tiny bits of inline assembler scattered everywhere. Eventually the light dawned: the original programmers had been struggling to understand C's signed/unsigned integer conversions so they fell back to the x86 instructions they were more familiar with.