Previous 199869 Revisions Next

r26403 Sunday 24th November, 2013 at 22:51:49 UTC by Angelo Salese
Fixed for good YJK color issues (previous one was actually wrong)
[src/emu/video]v9938.c

trunk/src/emu/video/v9938.c
r26402r26403
281281   for (y=0;y<32;y++) for (k=0;k<64;k++) for (j=0;j<64;j++)
282282   {
283283      // calculate the color
284      if (k >= 32) k0 = (64 - k); else k0 = k;
285      if (j >= 32) j0 = (64 - j); else j0 = j;
284      if (k >= 32) k0 = (k - 64); else k0 = k;
285      if (j >= 32) j0 = (j - 64); else j0 = j;
286286      r = y + j0;
287287      b = (y * 5 - 2 * j0 - k0) / 4;
288288      g = y + k0;
r26402r26403
290290      if (g < 0) g = 0; else if (g > 31) g = 31;
291291      if (b < 0) b = 0; else if (b > 31) b = 31;
292292
293      r = (r << 3) | (r >> 2);
294      b = (b << 3) | (b >> 2);
295      g = (g << 3) | (g >> 2);
293      //r = (r << 3) | (r >> 2);
294      //b = (b << 3) | (b >> 2);
295      //g = (g << 3) | (g >> 2);
296296      // have we seen this one before?
297297      n = 0;
298298      while (n < i)
r26402r26403
311311         pal[i*3+0] = r;
312312         pal[i*3+1] = g;
313313         pal[i*3+2] = b;
314         palette_set_color(machine(), i+512, MAKE_RGB(r, g, b));
314         palette_set_color(machine(), i+512, MAKE_RGB(pal5bit(r), pal5bit(g), pal5bit(b)));
315315         v99x8_device::s_pal_indYJK[y | j << 5 | k << (5 + 6)] = i + 512;
316316         i++;
317317      }

Previous 199869 Revisions Next


© 1997-2024 The MAME Team