Page 2 of 3

Re: Games and patches not listed at compatibility list

Posted: Fri Jan 11, 2019 11:39 am
by WhiteMagicRaven
I suggest to investigate this

there is some patches and games that is not listed at nGlide compatibility list
NFL Blitz patch here maybe it can help resolve not playable state.

Z.A.R works with 3dfx DOS?
Doomsday early releases uses 3dfx
Doom Legacy early releases uses 3dfx

q1dos quake1 dos 3dfx
q2dos quake2 dos 3dfx
hammer of thyrion has hexen2 for dos with 3dfx

doom3 patch for 3dfx ... hdemos.php - some demos also not listed here

also huge 3dfx games list: ... post393148

Re: Games and patches not listed at compatibility list

Posted: Fri Jan 11, 2019 5:39 pm
by Gamecollector
Have added to this post. Will check for grGlideInit and glide.dll/glide2x.dll/glide3x.dll later.

Re: Games and patches not listed at compatibility list

Posted: Mon Jan 14, 2019 9:16 am
by WhiteMagicRaven
Actua Soccer patch available (static link?)

and list for comparsion with vetz 3dfx dos games

Re: Games and patches not listed at compatibility list

Posted: Mon Jan 14, 2019 7:35 pm
by Gamecollector
Z.A.R. not supports the glide API. Initial version is software (and DOS). There are ddraw, d3d and opengl patches. Glide patch wasn't developed.
NFL Blitz - original version freezes too. But there was the ACT fix (StackSwap) in the system database for the d3d version. I used similar parameters for the glide version, this method have succeded. Unfortunately the patched version not works with this fix, StackSwap parameters must be different.
Actua Soccer and Fatal Racing glide patches - looks like someone had both retail and 3dfx OEM versions then have packed different files. Both patches are unofficial. I have original versions but need to check OEM releases by myself before adding to the list. Currently - no luck, US OEM versions only. :)

Re: Games and patches not listed at compatibility list

Posted: Tue Jan 15, 2019 9:29 pm
by WhiteMagicRaven
Anyway, this unofficial patches works?
And can be added to unofficial support?
And if you got OEM versions and test also to support list?

Great 3dfx game list here , a huge work, impressed =)
i can't even imagine how many games support 3dfx , and i think there is lot games we still don't know of, and undiscovered.

We even can't read/watch/listen everything that contains 3dfx/glide/voodoo/etc - internet is ocean.

What is ACT?

Re: Games and patches not listed at compatibility list

Posted: Tue Jan 15, 2019 10:20 pm
by WhiteMagicRaven
found game not in your list:
comes from this list ... ide-games/

maybe you already processed that one?

its interesting.

hm i love to search something in unusual way XD
i always find something just by accident

hm its intereting to build 3dfx glide games databese, for other side, how everything can be processed/controlled in this ocean.

also good idea is to not completely remove games that not support glide, but keep them in list, so its known for still missing 3dfx patch.

like if you found 3dfx version or glide patch you move game from mobygames or oldgames list to native list or other supported list.

if not found keep on mobygames or old games etc lists:

So anyone see its known game. And see difference its real 3dfx game or "still in searching or even simply 3dfx patch doesn't exist"
So always keep mobygames or oldgames lists with games as databese.

Can you tell please more about Static Link in 3dfx why it can be used with glide wrappers and what need to be done to make them use it, Ideas ? Theory?

Re: Games and patches not listed at compatibility list

Posted: Wed Jan 16, 2019 1:08 am
by Gamecollector
WhiteMagicRaven wrote: What is ACT?
Application Compatibility Toolkit.
Virtua Fighter 2 is software. There is the d3d patch. The glide API isn't supported.
about static link
Dynamic linking (DL) - the program use something like "call function with XXX name from the library with YYY name" in the code. When you run the program - 1) the OS loads these external libraries in memory and 2) replaces all "call function with XXX name" to "call to ZZZ memory address". Or just 2) if the library was loaded by another program.
The main module is smaller, libraries can be shared, library code can be updated independently etc. The main trouble - backward compatibility. New version of .dll must support all old functions and all old hardware. Sometimes the result is different...

Static linking (SL) - all code for external functions is added to the main module. No external calls.

There was the common method for "dynamic linking" in DOS. Overlays. Unfortunately early DOS glide games have used the static linking...

Re: Games and patches not listed at compatibility list

Posted: Wed Jan 16, 2019 6:49 pm
by WhiteMagicRaven
so? static linked games is accessing directly to hardware by addresses of functionality?

ok than it should be possible by mapping "Direct Hardware Address Access" to "Same function that accessing it"

Making DOSBox itself like glide dynamic app.

And for start it Partial Emulation, Partial Function call.

In theory, steps:

0) Full emulation

1)Partial emulation, one external function call (almost same as Full emulation minus one address_access is mapped to appropriate external function
for dos static link exe it should be same as real hardware, its like status lie. DosBox itself detect
that something wants access address so he replace it to external call.

This is difficult and required some time to learn addresses and their equivalent function's + assembly .

in more abstract theory (as example): exe trying access address 0xfe32 with parameters 0x00 , 0xff , 0xff

in hex it looks like : (push is 0xfe84, jmp is 0xfd95)
in assembly:
push 0xff
push 0xff
push 0x00
jmp 0xfe32

#at 0xfe32
# there is some assembly (or c++ written, what ever dosbox use) magic:) code that pop from stack values and draw pixel
#at 0xfe32

but in theory if we catch 0xfe32 address we call external function from glide(2x?).dll
which is "_grDrawPixel(int r, int g, int b)"

with that in theory is possible to "lower intensity emulation of that functionality by dosbox itself and leave it for faster GPU, or d3d API or whatever API is used by glide wrapper , nGlide is d3d9"
this should speed up dosbox

second wrappers often execute functions which is enhanced comparing to real hardware, so better graphics should be.

2) more and more remapped addresses to equivalent external functions.

3) dosbox inside is looks like real hardware for static exe, while its creating exact environment.
outside its just lie, MOST! addresses remapped to functions.
the addresses which is not remapped is actually does not have glide API calls? So they stay Emulated.

dosbox itself become as just Windows exe that uses glide dll

advantages as i think:

faster dosbox execution, because big parts of assembly (emulation code is cut off) instead it uses faster function calls + they executed in other CPU or GPU threads

better graphics , as wrappers can enhance graphics and don't use funky interlace image like voodoo2 does and even more noticeable on voodoo1 (voodoo graphics), 32 color space)

ok , it sounds simple: if we have game that calls function and function access address , than we can go backward way ->
-> we have direct address access, so lets do vice versa . Map all possible addresses to functions, not mapped is being emulated.

While is sounds simple, its just way difficult deep long work, with great advantages: better graphic, more Frames Per Second (FPS).

its how i see and believe in that, nothing is impossible, instead everything is possible =).

Re: Games and patches not listed at compatibility list

Posted: Tue Jan 29, 2019 9:45 pm
by WhiteMagicRaven

Re: Games and patches not listed at compatibility list

Posted: Thu Jan 31, 2019 9:47 am
by WhiteMagicRaven
Battlecruiser 3000 A.D. 2.09 how i can install it?
installer tells me my system is not adequate for that game and quits without writting any file