Genesis Plus GX, 448i mode & CRT Royale

I think CRT-Royale has a problem with 448 interlaced resolution in Sega (Genesis Plus GX) were it is not scaling it properly and showing a way smaller window than it should.
480i of SNES and PS1 are scaled correctly and touch the inside border of 1200p screen as expected.
I would expect 448i to be slightly smaller than 480i on the horizontal plane only (like with 224p and 240p), but it is wrongly rounded down to the closest integer of 448p instead of 224p and the result is the window is very small.
So the 448i mode in CRT Royale does not scale properly on a 1200p screen as 480i.

In other words, CRT Royale Interlaced mode does this:
480i correctly integer scaled as 240p.
448i wrongly integer scaled as 448p.
Or it seems so to me.

Developers, can you please check this out.
Please test with 240p Suite for Genesis in 448i mode.
Integer Scaling = On.

So does it act differently (i.e., as you would expect it) with no shader?

Yes.
224p and 240p integer-scaled properly.

There is indeed a problem with 448i mode in CRT Royale.
For some reason the Integer-Scaler treats the signal as 448p instead of 224p.

Found the problem.
It is not with CRT-Royale.
Please keep this thread open for reference.

Genesis Plus GX reports to retroarch x1=448p in 448i mode.
Snes9x and Beetle-PSX continue to report x1=240p/224p in 480i mode.

This screws the scaling of 448i mode in GPGX with CRT Royale.
I assume I would have to report to @ekeeke the dev of GPGX.

Have you tried messing with the “interlaced mode 2” core option? That is, does it act any differently set to ‘double-field’ vs ‘single-field’?

Yep, it should be on Double-Field for GPGX to output interlaced signal.
Snes9x and Beetle-PSX always output double-field in interlaced resolutions.

As I stated in the previous post, GPGX port for Retroarch should always report x1 as 224p/240p even in 448i/480i double-filed interlaced resolutions.
It is currently not the case with GPGX, and as a result CRT-Royale processes it incorrectly.

psx/snes9x uses hardcoded fixed “base” dimension. gpgx probably outputs using the framebuffer dimensions hence double height in interlaced modes. this was a similar case with sega saturn

“was”, meaning it was fixed at some point for sega saturn?

i changed saturn to render or use “base” width/height instead of doubling vertical lines(framebuffer though is still using full lines). needed to do that in the core since some games which switches between each modes keeps re-scaling in interger mode… GPGX might have something that behaves the same

Thanks wertz!
Here is my report to ekeeke on gihub.
If you will, you can explain that to him much better than I do so he can fix this.

I can see a problem with using a fixed base width/height for PAL games which may differ in base resolution from NTSC.
But a less novice enthusiast should know better than to use PAL versions of the game. :grin:

It has been fixed, and now conforms to how other cores behave.
Moreover, GPGX has new and improved MAME (YM2612) lightweight sound cores that equal to Nuked cores for less powerful machines with no compromise on quality.

Now we wait till @twinaphex merges form the main branch to libretro, for the new features.