In the screenshot and while running, you can see a yellow bar, this is how long it takes to draw the land.
There is also a bouncing blue bar, one frame it shows the end of decoding a screen's worth of map and the next three, it shows the end of swapping the tile sets to draw the other three offsets of mode 1 pixels in a byte. It should be easy enough to double buffer the drawing code and split the decode over four frames.
Code: Select all
Memory usage (bytes): 1>tiles 1,016 1>land 3,871 1>drawing 943 1>decode 265 1>advance 45
I may tweak the sprites to make them compatible with a similar method of drawing, which should leave enough time for the rest of the game.
I might need to get creative with timing all the movement, although as there is no clear phase, the biggest glitch should be one pixel wide!
Anyway, as usual, no promises but it does look feasible