First post, by davidmorom
I want to share a way I found to run Pandemonium! in glide mode with Voodoo 3/Banshee and, maybe, Voodoo 4 and 5.
All the credit must go to kjliew, who a couple of years ago, as part of his qemu-3dfx project, wrote a glide.dll to glide2x.dll wrapper (https://github.com/kjliew/qemu-xtra/). By using this wrapper, is possible to launch the game with a Voodoo 3 card.
I made some modifications to the wrapper to optimize it for this game:
- Simplified the LFB emulation code to reduce the slowdown of the title screen. This doesn't seem to affect the rest of the game, as it seems that LFB access is only used in the title screen and FMV videos.
- Implemented a 30 fps framerate limiter, to avoid the severe throttling issues this game has on anything faster than 200MHz.
- Modified the way the glide window is handled, to be able to access the menu options bar when pausing the game. This has, however, the negative effect of corrupting some textures until a new level is loaded, because some parts of the video memory are overwritten by Windows when accessing the configuration dialogs. This doesn't happen on a Voodoo 1 because it has its own TMU memory, separated from the main system video memory. This is hard to fix, it would require to modify the game logic to reupload textures after exiting pause mode.
I compiled it for i586, so any Pentium should be capable of running it. Just place this glide.dll file in the game installation folder, and run pandy3.exe.
I tested it on AMD K6-2 400MHz, with a Voodoo 3 and Voodoo Banshee, on Windows 95 and with the latest 3dfx reference drivers. I also tested on PCem with similar hardware configuration, and it works pretty nicely in all cases.
If someone is interested in trying it, it will be nice to have more feedback, specially with Voodoo 4 and 5, as I don't have this models to test.
EDIT: updated the attachment to include source code.