I know dwedit did something like this a few years ago, but I never managed to compile its code and make it run (even though the precompiled binary worked fine). Anyway, the code was just an incomprehensible mess:


This morning I've read that the GBA bios still had the piece of code that switches the GBA into GBC mode, like Nintendo planned to do in the beginning (before deciding that it would be better to do it with a hardware switch).

I've disassembled the part that performs this switch and made a little demo to show that it works! Here it is:


But it doesn't end here! It can also apply an affine transformation to the GBC video output, and even enable mosaic effect or GREENSWP register! The GREENSWP register works a bit different than in GBA mode, by the way.

The bad thing is that the video output only works in GB Micro, in GBA and GBA SP it shows a black screen, and in DS it doesn't work at all (it doesn't have a GB CPU).

I've also uploaded a video: