The real V99x8 Pixel Aspect Ratio (PAR)

Page 3/3
1 | 2 |

By asiga

Rookie (17)

asiga's picture

23-05-2021, 21:34

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...

By Dolphin101546015

Champion (309)

Dolphin101546015's picture

28-05-2021, 19:22

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

By Grauw

Ascended (9809)

Grauw's picture

28-05-2021, 20:02

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.

By asiga

Rookie (17)

asiga's picture

11-06-2021, 14:57

Thanks a lot, very complete explanation!!

Page 3/3
1 | 2 |