It's been a long time I posted here...
(to be clear, I was trying to fix the problems mentioned in "Tips and known issues" from the dgVooodoo2 README - perhaps the stride limit needs to be removed from dgvoodoo?)
Well, as far as I remember, I run into 2 problems with lfb access (correct me if I'm wrong) in your internal wrapping solution in DOSBox:
- If something locks 2 different buffers simultaneously (like EA does with backbuffer and depthbuffer) then both of the locks return the same buffer pointer
- (Early) Voodoo cards organized their video memory in a way that a scanline is 1024 pixel width independently on the resolution used. It means that a lock stride is 2048 bytes for 16 bit lock formats and 4096 for 32 bit lock formats (EA hard-wires 2048 bytes, it does'nt care the stride returned from the lock call.)
AFAIR, you assume that the stride is 2*xResolution for some reason, so dgVoodoo cannot return the expected 2048 or 4096. Yesterday I came across this problem again in GTA: if no PCI emulation was enabled, then the stride came from the DX driver which was not exactly 2*xResolution, so the texts got corrupted (800x600). If PCI emulation was enabled then the stride came from an internal buffer which used 2*xResolution, and the text were correct.
Unfortunately the returned stride cannot be affected in any way through the setup, so a new dgVoodoo build needed even if you fix the mentioned problems. Maybe I will assign the returned stride to the selected card type.
By the way, thanks for developing glide support into DOSBox! I can't imagine otherwise how I would have played the first 3 episode of Blood (yes, I want it only in 3Dfx)!
I love it!
The setup program detects my NV GTX590 fine, but all I see is a black screen and a mouse pointer when entering the 3D world of F22 TAW.
It is an untested game. I will have a look at this.
(Oh, man, it's beginning... This is what I wanted to avoid. All my plan was quickly finish the new version, iteratedly fix obvious bugs, and abandon it, when it just works...