render_xxx_scanline_fn * scanline_render[8];
-// Screen info for various games...
+// Screen info for various games [NTSC]...
/*
Doom
TOM: Horizontal Display End written by M68K: 1727
void tom_calc_cry_rgb_mix_lut(void)
{
- memory_malloc_secure((void **)&tom_cry_rgb_mix_lut, 2 * 0x10000, "CRY/RGB mixed mode LUT");
-
for (uint32 i=0; i<0x10000; i++)
{
uint16 color = i;
blue = (((uint32)bluecv[chrm][chrl]) * y) >> 11;
color = (red << 10) | (green << 5) | blue;
}
+
tom_cry_rgb_mix_lut[i] = color;
}
}
//
void tom_init(void)
{
+ memory_malloc_secure((void **)&tom_cry_rgb_mix_lut, 2 * 0x10000, "CRY/RGB mixed mode LUT");
+
op_init();
blitter_init();
//This should be done by JERRY! pcm_init();
// gpu_done();
// dsp_done();
memory_free(tom_ram_8);
+ memory_free(tom_cry_rgb_mix_lut);
}
/*uint32 tom_getHBlankWidthInPixels(void)
// To make it easier to make a quasi-fixed display size, we restrict the viewing
// area to an arbitrary range of the Horizontal Count.
uint16 pwidth = ((GET16(tom_ram_8, VMODE) & PWIDTH) >> 9) + 1;
-// return (RIGHT_VISIBLE_HC - LEFT_VISIBLE_HC) / pwidth;
+ return (RIGHT_VISIBLE_HC - LEFT_VISIBLE_HC) / pwidth;
//Temporary, for testing Doom...
- return (RIGHT_VISIBLE_HC - LEFT_VISIBLE_HC) / (pwidth == 8 ? 4 : pwidth);
-// return (RIGHT_VISIBLE_HC - LEFT_VISIBLE_HC) / (pwidth == 4 ? 8 : pwidth);
+// return (RIGHT_VISIBLE_HC - LEFT_VISIBLE_HC) / (pwidth == 8 ? 4 : pwidth);
+//// return (RIGHT_VISIBLE_HC - LEFT_VISIBLE_HC) / (pwidth == 4 ? 8 : pwidth);
// More speculating...
// According to the JTRM, the number of potential pixels across is given by the
// return (vbb - vbe) >> 1; // Again, doesn't take interlacing into account...
// This of course doesn't take interlacing into account. But I haven't seen any
// Jaguar software that takes advantage of it either...
-//Also, doesn't reflect PAL Jaguar either... !!! FIX !!!
- return 240; // Set virtual screen height to 240 lines...
+//Also, doesn't reflect PAL Jaguar either... !!! FIX !!! [DONE]
+// return 240; // Set virtual screen height to 240 lines...
+ return (vjs.hardwareTypeNTSC ? 240 : 256);
}
//
//
void tom_reset(void)
{
-// extern bool hardwareTypeNTSC;
-
op_reset();
blitter_reset();
//This should be done by JERRY! pcm_reset();