This is what Ekeeke told nintygaming:
"the Wii always output the same resolution signal, which is 720x480 (720x576 for PAL) interlaced/progressive or 720x240 (720x288 for PAL) non-interlaced (also called double strike or "Original" in emulators).
the maximal active screen SIZE (size that can be rendered by the Wii GPU in one pass) corresponds to the size of the embedded framebuffer (EFB) and is 640x528.
the video hardware can then be configured to position (generally centered but it´s up to the developer) your rendered screen (640x448 or 640x224 for example) in the video signal window (720x480 or 720x240 as explained first), the "inactive" pixels being output to black.
what i do in "original" mode is to render the emulated active screen (320x224 for most Genesis games but some games use 256x224 and Master System or Game Gear games do as well) then DOUBLE it horizontally to 640x224 or 512x224 inside the embedded framebuffer, using Wii GPU texture hardware (GX) scaling.
GX scaling by default applies heavy bilinear filtering when upscaling so I have to disable hardware filtering if I want the image to remain sharp and not blurry. The fact that the screen width is simply doubled prevents scaling (generally visible when games are scrolling if you use a non-integer scaling ratio with no filtering).
This other way is to use a feature of the Wii Video encoder which is able to upscale horizontally the framebuffer rendered by the Wii GPU up to the max. resolution (720 pixels), without any noticeable filtering ( understand, not blurry).
So what I do is taking the rendered frame buffer, 640x224 (384x224 with overscan emulated) or 512x224 and let the Video Encoder upscale it to a COMMON and FIXED size (something like 644 pixels, which comes from my calculation based on Genesis and Wii pixel clocks, and match my observation against my real Genesis output on the same TV). And yes, the 256x224 original screen also needs to be upscaled to that common width because pixels in this mode wasn't square pixels at all on the real thing, while Wii pixels always are. Similarly, pixels in 320x224 mode aren't exactly square, which is why the screen is still upscaled to little than simply 640 pixels. All of this is because of the different pixels used on Genesis in the different resolution modes and on the Wii.
i don't know how retroarch handle those "resolution" modes, as i said, Wii resolution is fixed, only active screen size can be changed, scaled, etc
lack of sharpness [when in 256 horizontal and not 512]
is undoubtedly due to filtering being applied, either through software or through hardware:"
What you and others term therefore '240p' is actually an interlaced / progressive resolution of 720x240. So let's get one things clear - by default alone it is not the same as the 'native resolution' used by a SNES/Genesis or whatever else.
The problem for a multi-emu/multi-game app like RetroArch is that ekeeke's approach to getting a picture that looks as close to a native resolution is to 'double' horizontally the picture - so, a 256 x 224 goes to 512 x 224 for instance - doesn't scale well when you're dealing with resolutions like - say - 384x224 for CPS1/CPS2/CPS3 - all of a sudden you're looking at 768 x 224 then. So this approach is not scaleable for all systems.