Looking inside MAME code I find out that not only more step 1.x games use MPC106, but there're step 2.x games which, seemingly, need an older Real3D model whose PCI ID is 0x16C311DB. I also added the following comment copied from MAME:
- Code: Select all
// Some step 2+ games need the older PCI ID (obvious symptom:
// vbl is enabled briefly then disabled so the game hangs)
These changes made possible to eliminate the patches for step 1.5 variants of Virtua Striker while still making them playable, VS298 now doesn't need a patch either, VON2 still boots correctly. In general the correct PCI ID is returned for step 2.x games which now is the same whether the PCI configuration space or DMA register are accessed.
Another change to Star Wars Trilogy patches taken from MAME made JTAG work, so I could remove the workarounds in <New3D.cpp>, while still skipping the force feedback lever check. Test menu is still accessible and a black background is correctly drawn behind making the text much more readable, as it should be (see swtrilgya for comparison).
An apparent regression is that now the game runs at half the speed, at least on low performance PC: it seems the old patch incidentally influenced the frame timing so made the game run fluid. But this problem is only related with the official frame timing algorithm, in my build I use a different one and all games run fluid.
This situation, in my theory, should be not surprisingly similar to what happens for Sega Rally 2 and the Deluxe variant, the current patch for the former makes it playable but disables JTAG, maybe someone with the needed skills can make a single line patch for SR2 based on what Bart made for the Deluxe version...
I removed the patches for LeMans24: the game needed those when network code was absent so that booted *always* in stand alone mode. Now if you compile Supermodel with network support and enable it in config, you can boot LeMans24 and when the screen waiting for connection appears just press F2 and configure the machine to be stand alone. I noticed that even with multi-thread enabled Supermodel doesn't crash if no network connection is attempted with another emulated machines.
Other changes are just cosmetics: I converted tab indentations to spaces, as the rest of the file.
EDIT:
I forgot to mention that I reinserted in <Games.xml> the patch to enable the secret test menu in Scud Race. Obviously leave it as you please.