I've been messing a bit with the old 3DMark versions recently, including 3D Mark 2000 plus the the other two: Final Reality and XL-R8R. If I don't get distracted by something else, I will post versions with some new patches here some time this weekend. There's something still left to do. It will be nice to have everything in one place. 😀
Anyway, 3DMark 99 runs at 60 FPS even in real fullscreen mode because DirectDraw (yes, everything DX7 and below uses some basic DirectDraw functions) defaults to VSYNC on and it must be disabled explicitly. And yeah, AMD drivers not giving a damn about some user choices has been my experience as well.
I've also checked 3DMark 2000, found out teleguy did some patches. I corrected plain JMP instructions for bypassing RAM/VRAM/texture memory check with the ones that treat the integers as unsigned. Because for example original JGE (Jump Greater than or Equal) won't work correctly, but JAE (Jump if Above or Equal) will. 😁 Also found and removed restriction with CPU Speed test only running if 16-bit color is selected. 3DMark 2001 will no longer show the thing about 128 MB memory requirement unless run on machine with actually less RAM. All versions that had issue with reporting memory amount will now report it (more) correctly, at least up to 4 GB.
Then, I modified some API calls for reading registry so they work when running as standard user and with disabled file/registry virtualization. This is just so the registration information can be read successfully in such scenario.
Small things like that basically.
Regarding Single option for Frame Buffer, I think glitches are expected due to the nature of single buffering. Need at least 2 buffers for this sort of thing.
I'm not sure about the hang of 3D Mark 2001 on certain configurations, we're probably looking at some separate issue. I've had GeForce GTX 750 Ti until recently, sadly, it was starting to make my system hang, so back to Radeon 4890. The only newer AMD GPU I have is the integrated Radeon R2 in a laptop, where things seem to work when allowing usage of all CPU cores. I think single-core workaround is better applied on case-to-case basis, you can get higher scores with all cores, particularly when combined with dgVoodoo 2. It can really make a noticeable difference in Max Payne games on low-end hardware, which use a version of the engine used in 3D Mark 2001.
A must thing that 3D Mark 2001 needs on newer operating systems from Windows XP compatibility mode is the RedirectMP3Codec shim, otherwise, an error occurs.
There's also something about 3D Mark 99, I suggested using the EmulateHeap shim with it (posted a compatibility database in some other thread), but I'm not sure whether it's actually needed or not. Still crashes sometimes on my end, usually after transition to new test. It seems more likely on my Windows 10 install than on 8.1, everything else being equal. Weird.
That thing in Windows 8/8.1/10, so called maximized windowed mode, it's a sort of hybrid between windowed mode and fullscreen mode. MS introduced it when they were overhauling their desktop composition engine and the original DIrectDraw without some wrappers can do some crazy things that don't go well with composition, hence why composition gets disabled on Vista/7, but in later systems, such operations won't disrupt it anymore. But there are consequences. It's been a while, but I checked some sample one time that drew something directly on the desktop and it didn't work too well on 8/8.1/10. From my observations in general, only 8/8.1 have an issue with extremely low frame-rate, a workaround if one insists on this mode is enabling NoGDIHwAcceleration shim with Compatibility Administrator.