Linking here to the Discoveries page for maximum interest:
The Great Escape: Discoveries | DaveSpace
Ultimately Dave was able to reimplement in C - as a way to check the accuracy of his understanding of the disassembled code…
In fact, my intention with the C port was not to create a portable C variant of the game. After all, if implemented accurately, the end result wouldn’t be greatly different to playing the game via an emulator - which you can already do. So the C port really exists as proof of my disassembly’s accuracy. If any of my understanding of the original game code is wrong then it’s likely that the C version would screw up. So in order to move the minimum distance from the original assembly language while preserving the exact structure of the original game, I needed to use a language which can represent every mechanism it contained.