I used this engine: https://github.com/32blit/32blit-sdk
It was originally built for a retro handheld but also supports the Raspberry Pi Pico and PC/Mac/Linux.
If you only want support for PC/Mac/Linux it might not be the best solution. For the Pi Pico it is ideal.
Since the engine only supports 8x8 pixel tiles, but my game uses 16x16 pixels, I had to write some engine code by myself based on the original engine.
If it helps you in any way, the code of this game can be found here: https://github.com/Blackhawk-TA/GateKeeper
The engine related stuff is on the „src/engine“ directory. The map rendering is heavily modified due to compression.
This is another, simpler game using the same engine without any modifications: https://github.com/Blackhawk-TA/TowerDefense
I hope you find the best engine for you and have fun while coding!