I decided to try porting PoP in early 2019.
-This port is based on the BBC Master port by Bitshifters https://bitshifters.github.io/posts/prods/bs-pop-beeb.html (Props to them!)
-Based on the original Apple2 code by Jordan Mechner https://github.com/jmechner/Prince-of-Persia-Apple-II (Props to him!).
The background graphics also comes from the BBC port.
-On the art side:
@TIX Character art+ Princess room
@miker music bank 1+ sfx bank 1
I start with a horizontal scroll, represented internally with 1 byte per pixel, which allows me to do this for a 8 pixel screen byte:
cpx HorizontalScroll+offset1
ror
cpx HorizontalScroll+offset36
ror
...
cpx HorizontalScroll+offset22
ror
sta Screen0+pos
The offsets are precomputed and because the scroll is slightly zoomed up (it's 256x6 when horizontal) I can replace
cpx HorizontalScroll+offset36
ror
cpx Horizonta