Funny thing happened when I was looking around the video code for an aspect ratio issue I’m having, I accidentally found the code that disables custom viewports for resolutions lower than x480.
Line 719 of gx_gfx.c, pretty much tells you that if the embedded frame buffer is not 480 you cannot use a different viewport in any other resolution, so I changed it to 240 and boom.
Then in menu_entries_cbs.c I added 608x240, applied an overlay with 20% darkness, screen width to 666 to imitate the GBP and the rest is, well see for yourself:
If you want to try it for yourself(1.0.0.2 cfgs might not be compatible): Gambatte: https://www.dropbox.com/s/yru3qks53ekt6qb/gambatte.dol?dl=0 VBA Next: https://www.dropbox.com/s/oeau1sk9f42rn24/vba_next.dol?dl=0
Remember that in order to use less horizontal filtering the width is doubled and because of the pixel difference between GBA and GC/Wii is that I use 608x240, meaning that if you want to use the original resolution of the GBA(240x160) you must use 480x160 instead, this is also an up over WiiMednafen because iirc that one only uses 320x240 instead of doubling it, but now you know how to do it so change it to your liking. One more thing; in the video I use bilinear filtering, due to using 600x200, the idea there is that there’s less blurring because of the lower resolution; it’s more or less the same but to me it’s better because I don’t have to deal with interlaced flickers and such.
I’m not too happy with this because I’m not 100% sure if this is the best way to do it but if it works for you guys I’ll make the pull request.