Copy Screen / Screengrab / Screenshot and Draw It Like a Sprite

Published 2023-06-12

I wanted to take a screenshot and draw it back to the screen like a sprite.

This is useful for screen transitions, like in Bubble Bobble where you scroll up to the next level.

The nice folks on the Pico-8 discord helped me put together this, which copies the screen to 0x8000 (the extended map location in 2.4+). Then when we want to draw it we copy it over the whole sprite sheet, draw that like a sprite, then reload the original sprite sheet.


Other methods could be used like using memcpy to paint direct from memory - which would be a lot faster. This thread may offer some help with that.

If anyone would like to improve on this example please do. There's not a lot of posts on the subject that offer any working examples so the more the merrier.