It looks like this starts with a simple rotating XOR key, as described.
Additionally, it looks like it does at a second XOR pattern against the columns. Maybe something more? The shirt and the background were decoded as the same color, so that's a hint. It is also confusing how the leggings lose their checkerboard pattern, so that's probably a hint, too. If you look carefully, the legging reappear on the far left of the screen. Yet the horizontal alignment of the two images below are pixel-for-pixel, so that should be an encryption artifact, and not the result of a misaligned image.
In the raw file, I see a regular abrupt pattern begin every 40 bytes and it continues... perhaps for two additional bytes? (My wager is that screen data is gathered in that position and applied as an XOR against subsequent pixels until the next 40 byte mark. The XOR would zero out similar pixels, which looks like background removal. It would create trails on vertical lines, which is confirmed in the initially decoded image. It could also remove a checkerboard pattern.)
Images below include a game screenshot, and an image after resolving the initial XOR challenge. I did not locate the palette. I don't think it is fixed in the code. It could also be elsewhere, like in the OPP or OPN file. (Swapping those with other image disks might isolate that.) It could also be those last five bytes of the undecoded image file. I see the last five bytes as "f0 33 35 37 bf" and in another "f0 32 34 36 ee". Okay... that makes sense. I think those first four are probably our colors?
The decoded file was directly imported into Micro Painter, which objected to the file being truncated, but it displayed what it had to work with. Both images were an Altirra screenshot.
I was just looking for a small puzzle on my lunch break.
Hope this moves the ball forward for someone.
Edited by jmccorm, Thu Jan 18, 2018 1:06 PM.