]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/tom.cpp
Mask out ALT for now, small optimization in screen rendering code.
[virtualjaguar] / src / tom.cpp
index 10a29f0f1913d1f0d4d2bc1d711376d6cde7ad47..ed47bf8043f79ac42a76052ab70aca2d8297811e 100644 (file)
@@ -770,12 +770,15 @@ void TOMExecScanline(uint16 scanline, bool render)
 
 //Interlacing is still not handled correctly here... !!! FIX !!!
        if (scanline & 0x01)                                                    // Execute OP only on even lines (non-interlaced only!)
+//     if (!(scanline & 0x01))                                                 // Execute OP only on even lines (non-interlaced only!)
                return;
 
 //Hm, it seems that the OP needs to execute from zero, so let's try it:
 // And it works! But need to do some optimizations in the OP to keep it from attempting
 // to do a scanline render in the non-display area... [DONE]
-#if 0
+//this seems to cause a regression in certain games, like rayman
+//which means I have to dig thru the asic nets to see what's wrong...
+#if 1
        if (scanline >= (uint16)GET16(tomRam8, VDB) && scanline < (uint16)GET16(tomRam8, VDE))
        {
                if (render)
@@ -1384,6 +1387,8 @@ if (offset == VP)
        WriteLog("TOM: Vertical Period written by %s: %u (%sinterlaced)\n", whoName[who], data, (data & 0x01 ? "non-" : ""));
 if (offset == HDB1)
        WriteLog("TOM: Horizontal Display Begin 1 written by %s: %u\n", whoName[who], data);
+if (offset == HDB2)
+       WriteLog("TOM: Horizontal Display Begin 2 written by %s: %u\n", whoName[who], data);
 if (offset == HDE)
        WriteLog("TOM: Horizontal Display End written by %s: %u\n", whoName[who], data);
 if (offset == HP)