Yes, I'm facing exactly the same problem. Both for the Pixel Aspect Ratio, and the conversion of MSX RGB values to RGB24 (with sRGB adding up to the mess).
And I notice some significant differences between what I see on the real hardware and the PC/Mac screen. On RGB value arena, I notice that some brighter YJK colors get much brighter and some more saturated than on the real hardware.
Colour-wise, is it possibly a gamma mismatch? PAL and NTSC have different gamma powers, so your OS and/or monitor definitely doesn't match at least one of them, unless your emulator does a quick remapping, and it'd need to know the output gamma to do that correctly. Easy enough on some platforms, but not always exposed by the cross-platform libraries.
Was searching for NES dot clock, happened on some confirmation about the PAR here:
https://pineight.com/mw/index.php?title=Dot_clock_rates
Dot clock frequency: 5.37 MHz
Exact frequency: 945 / 176 MHz
Pixel aspect ratio: 1.14
"Exact" pixel aspect ratio: 8:7
Devices: The 256px display of the TMS9918 (TI-99/4A, ColecoVision, MSX, and SG-1000), its descendants (MSX2, Master System, Genesis), and other VDPs inspired by it (NES, TurboGrafx-16, Super NES), and 256px mode of the original PlayStation
I personally stumbled on that same number (1.14) many times during my own research over this subject. I'm not as sure about the exact PAR (couldn't follow all the math, and got similar but different results with my own math, which I honestly don't trust completely), but for practical purposes I'll defer to @sd_snatcher's opinion and I'll use 1.14 as a compromise, and 8:7 when dealing with integers (for simplicity's sake).
Btw, it's not very different from the blueMSX format for the screenshots: 544x480 as 544/480 = 1.13333333...
I feel a bit confused by reading this... from my days of MSX2 BASIC programming, I remember the aspect ratio for getting a perfect circle in SCREEN 8 was something like 1.36 or 1.4. Certainly not 1.15.
If I have a 256x212 image that was created in a MSX2 and I want to display it on a PC with the same ratio it would have on a real MSX, what horizontal scale factor should I apply?
I mean, should I resample the image to 348x212 or to 294x212? (the first one would be a 1.36 factor, the second one a 1.15 factor.
Asiga, that’s the pixel aspect ratio for 50 Hz PAL, it has flatter pixels than 60 Hz NTSC.
So, do you mean that a 256x212 SCREEN8 image should be resampled to 348x212 if you want to see on a PC how it would look on 50Hz PAL, and to 294x212 for seeing how it would look on 60Hz PAL? Or is it the opposite?
Also, I found a reddit post (here: https://www.reddit.com/r/lospec/comments/7v35tm/msx_palettes... ) by SD-Snatcher with a link to MSX2 palettes, but that link expired... are such palettes available elsewhere? (I'm interested in them for getting a conversion as accurate as possible)
You can download the palettes here.
I think TMS 50 Hz PAR is 1.352 or thereabouts. At least that's what is used in the TMS-derived SMS VDP in the SMS Test Suite for the 50 Hz version of the linearity test and the circle seems to be round. Likewise the 60 Hz one is around 1.141. I guess PAL vs NTSC vs SECAM vs RGB color encoding is less important than the vertical sync frequency in these fixed 15 kHz horizontal sync frequency video modes