I had a look at the sources. I think changing this routine at the end of sdl_video.cpp:
void VideoClear() {
SDL_FillRect(screen,NULL,SDL_MapRGBA(screen->format, 0, 0, 0, 255));
SDL_Flip(screen);
SDL_FillRect(screen,NULL,SDL_MapRGBA(screen->format, 0, 0, 0, 255));
}
Into this:
void VideoClear() {
SDL_FillRect(screen,NULL,SDL_MapRGBA(screen->format, 0, 0, 0, 255));
SDL_Flip(screen);
SDL_FillRect(screen,NULL,SDL_MapRGBA(screen->format, 0, 0, 0, 255));
SDL_Flip(screen);
SDL_FillRect(screen,NULL,SDL_MapRGBA(screen->format, 0, 0, 0, 255));
}
Should solve the flickering problem. I don't have the GCW toolchain installed on my computer. Could someone try it and confirm if it's working, please?
(I hope the code is readable. I'm posting from my phone)