In case you're interested, I've reverse-engineered the animation code of PoP from the Apple II version.
Based on this document released by Jordan a couple of weeks ago: http://jordanmechner.com/wp-content/uploads/1989/10/popsource009.pdf
Of course the source code documentation itself is quite meaningless, since the labels and variable names mentioned in the document make no sense, unless you have the source too.
But the information it contains was enough to get me started. With the information on page 14 in the PDF, I found the framedeflist and the seqtable in memory, and started disassembling the code that uses it, thereby finding all the Char* variables mentioned on pages 17/18, and then I went from there.
I've started to reproduce the whole source code, with labels. It already includes most of the other parts of the code aswell, such as handling the
level layout, moving the kid around, detecting joystick/keyboard and more.
There are still huge holes in my understanding of the code, but like a crossword puzzle, the more I fill in, the easier it becomes to understand the rest.
I've also verified that the framedeflist and the seqtable are the same in the PC version, so the information I've found also applies there, and it's directly
useful for freeprince. The state machine code in freeprince is nice, but it has very little to do with the actual way that PoP works, and this is
the reason why the animation positioning (locomotion) in fp is so broken.
Also see this thread on the state of getting the source code released:http://jordanmechner.com/blog/2009/05/p ... /#comments
It's a matter of Jordan sending the disks to someone who can read them and convert the files to PC text formats.