Flycast Naomi Resolution


Is there any way to force 15khz mode on Naomi ROMs through the Flycast core?

I’ve tried setting the resolution to 320x240 within the core, but UI elements on games like Marvel Vs Capcom 2 don’t scale correctly leading me to believe it’s being scaled down to 240p, rather than running natively at 240p.

I know this is done through dipswitches on real hardware, but can’t seem to get this to work in Flycast.

As far as I can find online, naomi hardware always outputs 480 lines and the dipswitch just swaps between high-res (480p) and low-res (480i), just like a Dreamcast.

That is, forcing 240p is indeed downscaling it, which will cause dropped lines. I believe forcing 240p in a shader using linear downscaling should avoid some of that at the cost of a small amount of blur/softness.

“15 Khz” does not necessarily mean 240p, it can also mean interlaced 480i. That’s the case for the Naomi. Is there any benefit in emulating this (accuracy aside) ? I mean, I can see the benefit of making it look more like a standard SDTV, but I never would want interlace flicker if I don’t need to.

There could be games that will look ok in 320x240 because they’re also just doubled on the real hardware, no example comes to my mind though. It’s different for the home console, there are a few titles available there that output 240p.

We tried the 15khz dipswitch and confirmed it will output 480i. I’m not sure what’s the benefits of it but i don’t mind adding it as a core option.

Supposedly you need an additional IO board to properly convert 480i to 240p on naomi.

Hi all,

Thanks for replying, I was under the impression that certain games were able to output at 240p when in 15khz mode. The reason I asked is that sprites in games like Marvel Vs Capcom 2 look upscaled and jagged in 480p as described here Marvel Vs Capcom 2: One of the Greatest Accidents to Ever Happen.

@BarbuDreadMon BarbuDreadMon if you’re able to add this as an option for the sake of completeness and to be able to test that would be appreciated. I wonder if the same setting for Atomiswave would be useful to add as well? Would bring it up to parity with MAME as that usually offers dipswitch settings as well.

No, it appears the naomi board was outputing this at 480i through vga, and i think arcade cabinets rendering at 240p are using some kind of signal converter.

Ah okay, that makes sense. I always thought that MVC2 sprites looked a little rough and did some research and found the above post which then prompted me to ask thinking that would be the missing link. I’m guessing 15khz mode + changing the resolution on Flycast to 240p would still not look right?

Yes, that’s the first thing i tried and it looks awful. I assume it’s because it downscale instead of deinterlace. Maybe deinterlacing is something that can be done in flycast’s renderer, currently idk but that’s something worth investigating.

That would be ideal, but there is shaders with deinterlace passes from what I remember. I’d be happy to play around with that in accordance with the 15khz if you’re able to add it as a core option?

The core option was added, see for more informations


@BarbuDreadMon That’s great, something to try out :slight_smile: Thank you.

Unlike the naomi dipswitch, the 15Khz dipswitch of the atomiswave system plugged into jamma output real 240p and not 480i.

1 Like

Hi I’m experiencing a similar issue I wonder if anyone might be able to point me in the right direction. Trying to play Marvel Vs Capcom 1 (Clash of Super Heroes) which although not a naomi game is reported to run at 240p but similar to the issues here, when I start the game I can’t get 240p output to happen naturally on its own and when forced in the core options I get a picture that is obviously downscaled incorrectly with lots of shimmering. How can I make flycast properly output this in 240p mode?

MvC2 has a dipswitch that controls whether it’s standard res or VGA. I’m not sure if that’s exposed in this core or not, but that’s likely what you would need.

The dipswitch setting did get added for the Naomi side, but it doesn’t seem to work as expected, likely because the video path is not the same as it would be on an actual machine and because of mixed resolution elements of the games I’ve tried it on.

@Abwezi - You’re possibly out of luck as Flycast doesn’t switch between 240p and 480i internally.

One thing to maybe try is either downscale the 480i output from Flycast using shaders or use CRT-Geom and turn off the interlacing emulation. I didn’t have much luck with that on MVC2 or CVS2, but I think that may be as they use mixed resolution elements.

However, I believe the original MVC ran at 240p in arcades, so you may be okay if the DC port is also 240p. Please let me know how you get on.

1 Like

I was able to get it looking well enough by turning off interlace detection with CRT Royale and tweaking a couplenother settings. Now I’m attempting to play Jojo’s Bizarre Adventure and I’m encountering a different issue. I seem to be only able to start the japanese dump. US dump crashes at the Sega logo after the dreamcast startup animation every time. Any ideas?

The US dump freezes if using PAL broadcast. Other than that it boots fine for me.