I wanted to mention this here, primarily because I know nocash/Martin checks this forum, and I have had little luck contacting him directly.
No$GBA - and until i reported it in 2018, also MelonDS (bug) and Desmume (bug) - feature a 2D rendering bug that seems to have been overlooked for a long time. It appears, based on my understanding, that this is actually due to an error in the gbatek document in the section "Semi-Transparent OBJ's." I am not sure I am "parsing" the document correctly, but in any case the exact bug is documented rather thoroughly in the bug reports themselves, and I suspect gbatek has a flaw because every major DS emulator seemed to exhibit the same behavior.
In Desmume, this was the description of what triggered the bug:
Zeromus' explanationzeromus wrote:in short the problem here was: the scene enabled color effects on a OBJ window (gleam on water), and also used a transparent sprite outside that window (black sprite with sun on it), and the window was mistakenly interpreted to exclude the transparent sprite from blending with the forced blending system.
the fix: remove test of enableColorEffect from line 2011 of gpu.cpp
Arisotura's MelonDS patch
Zeromus' Desmume patch (line 2011 - this patch is messy because they also did refactoring in the same diff).
In No$GBA (this occurs on real Windows, as well as in Wine):
Versus on a real DS:
There's a save file you can use to make this issue appear, almost immediately after the save point (just a few A presses), if you have a copy of Explorers of Sky handy.