I previously posted some questions about porting some 6801 assembly over to C++...
I found a solution that may allow me to use the original code mostly as-is (but not without some rewrites for consistency and clarity - there were a lot of ugly kludges throughout the code!).
Anyway, I realized that the process of translating the assembly code to C++ helped me understand the code, and on a few occasions I have spotted ways I could go back and rewrite / optimize the original assembly code.
But to make any REAL progress, I need to master the interrupt routine.
What I have so far in regards to translating the code is attached, and those remaining original opcodes that I do not yet know how to rewrite are commented out and marked with &&.
One of the biggest stumbling blocks to getting my mind around this routine is that it contains an EXTENSIVE amount of math.
I don't have much hope that others may even begin to understand the code (although I did run it through a checker to confirm it is syntactically valid C++), but I have to give it a try.