Cherry-pick: 06433c152c067f6c94c8ae7fd16d91edb087b812
Previously it was only enabled in DOOM and the launcher because they write to PSRAM a lot, triggering the bug often.
Other emulators tend to use it only to store their ROM in PSRAM, so the write bug doesn't usually occur. Which is why the fix was disabled until now.
But it definitely causes instability regardless. In this commit it is now enabled for all emulators, but not for the esp-idf side or libretro-go.
This should be a reasonable compromise. More testing is needed to see if it makes any emulator unusably slow...
So far I'm seeing 10-15% higher CPU usage which is... not great. Thankfully most emulators were at 50-60% usage, so there's headroom...
Added -Wno-error=format in a few CMakeLists.txt.
The compiler complains that uint32_t is used for %X. It wants unsigned int, which is the same thing on the esp32...
Anyway there are way too many such instances so for now turn those errors into warnings.
Some apps still end up important rg_printf and newlib's nano version, but this isn't really an issue.
Eventually I'd like to find a clean way to always intercept printf calls...
Bypass rg_system_log in some key situations (boot, panic).
It poluted the logbuf with redundant information and it adds extra steps that could go wrong during a panic.