X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ftom.cpp;h=ed47bf8043f79ac42a76052ab70aca2d8297811e;hb=34c2f4526d11f2139130c4c94920dd7b1c7a6124;hp=10a29f0f1913d1f0d4d2bc1d711376d6cde7ad47;hpb=2f21d8ee63902b160acbaf4c26caaaa0e23ca62f;p=virtualjaguar diff --git a/src/tom.cpp b/src/tom.cpp index 10a29f0..ed47bf8 100644 --- a/src/tom.cpp +++ b/src/tom.cpp @@ -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)