# The real V99x8 Pixel Aspect Ratio (PAR)

Page 3/3
1 | 2 |

Thanks al lot, sd_snatcher!

May I ask how did you obtain the SCREEN8 palette? It seems that Red and Green are just an homogeneous subdivision of 256/7, while Blue has the last step greater than the others (0,73,146,255). How did you measure it?

Regarding aspect ratio, in the palettes you mention 1.38, which is what I remember from my BASIC programming days, but in the reddit post you say 1.14. Is that the PAL vs NTSC difference? I think I'll have to unbox my PAL MSX2 and connect it, because I tried the 1.38 ratio and it looks too horizontal to my eyes... I was a PAL user, but I don't remember it being so horizontal...

MSX Palette Screen 8:

```for i=0 to 255
rm=(i\32)
gm=(i\4) and 7
bm=i and 3
next i
```

MSX->PC

```rp = rm*36
gp = gm*36
bp = bm*84```

PC->MSX Screen 8

```rm = (rp\32)*32
gm = (gp\32)*4
bm = bp\64
color = rm OR gm OR bm```

PC->MSX Screen < 8

```rm = rp\32
gm = gp\32
bm = bp\32```

Dolphin101546015: The blue component in screen 8 is not linear, the four 2-bit values translate to 3-bit values 0, 2, 4, 7 which are then output linearly. This is because the V9938 has a 9-bit DAC with 3 bits per channel. The V9958 has a 15-bit DAC so even the 3-bit colour values are not linear and they are further mapped to 5 bits each, though the quantisation error is more subtle there. See my post here.

So asiga for the blue component you indeed end up with 8-bit values 0, 73, 146, 255 if scaled linearly. Note that this is for the gamma of CRT screens, and for correct display on modern PC monitors you also need to correct for gamma (2.4 -> 2.2), you can do this by applying a ~1.1 curve. This gamma correction can also be done with an embedded CRT colour profile in the image file and editor, which is arguably the better way.

asiga wrote:

It seems that Red and Green are just an homogeneous subdivision of 256/7

255 / 7 actually.

Thanks a lot, very complete explanation!!

Page 3/3
1 | 2 |