VOGONS


3DFX and DOSBox

Topic actions

First post, by mr_zen256

User metadata
Rank Newbie
Rank
Newbie

Hey Devs, I was just thinkin about how awesome it would be if DOSBox supported 3DFX. I'm sure it would probably be the last thing you are looking at implementing since DOSBox is still in its early stages and there are really only a handful of DOS based 3DFX games. Would it be technically viable for DOSBox to support 3DFX and how difficult do you think it would be to implement? Heh, maybe you could even enroll Paul from Glidos to help out 😀

Reply 1 of 20, by icemann

User metadata
Rank Member
Rank
Member

I`d certainly put that in the MUST HAVE AT SOME STAGE list. But to memory a very small number of dos games had 3dfx graphics in them.

GLQuake and Chasm are 2 that quickly come to mind. Can`t remember if Unreal could be played in dos or not.

I`d certainly love to see 3dfx supported, but for me atleast I`d more prefer the currently supported games getting the speed boosts they need (without having to increase cpu and frame skipping).

Two stones, two crosses, the rest is just icing. - 7th Guest

Reply 2 of 20, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

I think that at the moment it does not have much sense to add the Glide support - 3DFX games usually required so powerfull computer (P100 + ) that on current processors DOSBOX would be too slow.
When there are 10 Ghz processors, it will be something different. 😀

Mirek

Reply 6 of 20, by oneirotekt

User metadata
Rank Member
Rank
Member

But to memory a very small number of dos games had 3dfx graphics in them. GLQuake and Chasm are 2 that quickly come to mind.

GLQuake was a win32-only program as far as I know, like WinQuake with a GL renderer.

I believe there was a DOS version of VQuake, the Rendition Verite-optimized version of Quake, but there's probably a lot less demand to emulate those old, failed means of hardware acceleration.

HAY DOSBOX AUTHORS WHEN WILL DOSBOX SUPPORT S3 ViRGE ACCELERATION?!? 😁

Reply 7 of 20, by kekko

User metadata
Rank Oldbie
Rank
Oldbie

Yeah, you would definately need a power house PC to be able to emulate all that DOSBox currently emulates AND 3DFX

Instead it maybe will be faster: all 3dfx calls would be redirected to opengl and use hardware acceleration, so no graphic routines would be executed with dosbox, that would be free for sound and game engine

Reply 8 of 20, by MooglyGuy

User metadata
Rank Newbie
Rank
Newbie

This is true, kekko, but if the DOSbox authors wanted to be really hardcore and emulate the chipset instead of trapping function calls, there's nearly perfect Voodoo 1/2 emulation in MAME - just look at vidrhdw/voodoo.c and vidhrdw/voodoo.h.

Oh, and while this is off-topic, since I can't PM you about it and since the "DOSbox Slowness Solution" thread was closed, I'd like to know what you were smoking when you wrote the following, mirekluza: "Just check SNES console: it had 8 bit Z80 processor, less than 64 KB RAM and very good looking 2D games." I don't think you could be any more wrong if you tried, seeing as the SNES has a 16-bit 65C816 processor, which is not only not from the same series, but isn't even from the same manufacturer, and it has 128 kilobytes of RAM, not to mention the fact that its impressive graphical abilities stem from the fact that it has custom graphics hardware which supports up to 32768 colors, four independently-scrolling tile planes, hardware sprites, sprite scaling and rotation, and a separate rotate/zoom layer in Mode 7 for road effects - whereas the PC simply has a framebuffer, relying on the game coders themselves to implement any desires graphics planes, sprites, et al.

Reply 9 of 20, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator
MooglyGuy wrote:

Oh, and while this is off-topic, since I can't PM you about it and since the "DOSbox Slowness Solution" thread was closed, I'd like to know what you were smoking when you wrote the following, mirekluza: "Just check SNES console: it had 8 bit Z80 processor, less than 64 KB RAM and very good looking 2D games." I don't think you could be any more wrong if you tried, seeing as the SNES has a 16-bit 65C816 processor, which is not only not from the same series, but isn't even from the same manufacturer, and it has 128 kilobytes of RAM, not to mention the fact that its impressive graphical abilities stem from the fact that it has custom graphics hardware which supports up to 32768 colors, four independently-scrolling tile planes, hardware sprites, sprite scaling and rotation, and a separate rotate/zoom layer in Mode 7 for road effects - whereas the PC simply has a framebuffer, relying on the game coders themselves to implement any desires graphics planes, sprites, et al.

Ok, I reply so you have no feeling I have been hiding before you 😀 (it was not me who closed the thread and it could have go on if you were not "shouting" so much).
Yes, I was wrong with processor (CPU: 16-bit 65816 (3.58MHz)). But just look on frequency (even PC XT had more)
As for custom graphic chips: yes, I know. And this is a similar way to how Amiga was constructed. these machines were designed to allow to make very good 2D graphic (better than PC with equivalent power).But if you try to run any real 3D game with smooth scrolling, you will found it is far worse.
A machine constructy specially for some purpose will be always better in that area than a machine with the same power constructed without that purpose in mind.

As for 3DFX: yes, emulation using OpenGL would be accelerated, but those games required a lot of computer power even apart from 3DFX. The oldest 3DFX supporting game I met required Pentium 90 (and of course a 3DFX card additionaly to that).

Mirek

Reply 10 of 20, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Actually I wrote a working test version of Glide support for DOSBox. It uses OpenGlide as a Glide wrapper. It is interesting to note that TombRider works very smoothly, whereas it's almost unplayable in software mode even in VGA. I have to say I never got Glidos to work stable since sound support is still left for XP to handle. Dosbox sound support is much nicer 😀. Of the other games, I got Descent2 and Screamer2 working but they are much slower. It seems they do a lot of 2D graphics by directly locking the framebuffer and that's extremely slow in OpenGl.

Reply 11 of 20, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

@gulikoza: If you really made it work, I will be glad to admit an error in my judgement 😀. If it works acceptable on current computers, I hope you will submit it as a patch. I do not miss it myself (I do not know about any RPG using 3DFX ...), but I guess others will be happy.

Mirek

Reply 12 of 20, by priestlyboy

User metadata
Rank Oldbie
Rank
Oldbie

Awesome, you rock gulikoza. If you do release the patch and if it does work. I'll give it a go in my CVS builds. Which are always an experiment in itself.

Ieremiou
----------
Helping Debug DOSBox.

Reply 13 of 20, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Well, I don't know if my code is useful since it's not a true emulation but it works more like glidos. It's split into 3 parts: dos dll (glide2x.ovl) that forwards glide calls to dosbox, dosbox code (loads glide2x.dll and does the address space translation) and a windows glide wrapper (works great with OpenGlide, did some tests with dgVoodoo wrapper as well, but it for some reason produces messed-up graphics). The code is quite messy, a lot of pointer arithmetics, not sure I'd want something like that in dosbox 😁. But then again, I wonder if a true emulation of the voodoo hardware was written, would it even be possible to map low level hardware calls to opengl or would it have to be done in software. In any case, I think it would be much harder to do and a lot slower.
I guess it's also too win32 specific but if OpenGlide was ported to sdl for example, it could basically be used on most platforms that dosbox runs...

Reply 14 of 20, by Zorbid

User metadata
Rank Member
Rank
Member

Openglide has already been ported to MacOS, I assume a Linux port is a possible thing.

Using SDL_GL would be more portable, but there is little point in using glide emulation in an environement without 3d acelerated hardware (thus, only Linux, MacOS ans Windows are concerned).

You could also try other wrappers, especially D3D ones, I've read that D3D is faster at framebuffer operations than OpenGL (not sure, though). eVoodoo comes to mind. Note that the latest versions of eVoodoo Glide2x.dll are in fact passthrough to any Glide3x wrappers/drivers.

Reply 15 of 20, by Freddo

User metadata
Rank Oldbie
Rank
Oldbie

I would very much like to see DOS Glide support in DOSBox someday. I would prefer it to be fully emulated, but the stuff gulikoza is working on sounds awesome aswell. Good luck gulikoza! 😎

Reply 16 of 20, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

Well, all the famous glide games have native (often opensource) version. for win/linux.

But, for example, Schleichfahrt looked so much better (and faster) with a Voodoo. With it being a little-known game, no one released sources or wrote a native win/linux/... version. And that was a game that worked (sort of) on a high-end 486 using software rendering. With the glide patch it was truely smooth. Looks like a viable candidate for dosbox-glide-emu.

Reply 17 of 20, by Targaff

User metadata
Rank Member
Rank
Member
`Moe` wrote:

Schleichfahrt looked so much better (and faster) with a Voodoo. With it being a little-known game, no one released sources or wrote a native win/linux/... version.

I'm not sure Archimedean Dynasty can be justifiably painted with the brush of little-known game. There are several threads relating to it here, most notably in the GliDOS General forum.

Reply 18 of 20, by mr_zen256

User metadata
Rank Newbie
Rank
Newbie

One DOS based Glide game I would love to see playable on DOSBox is Carmageddon. You'd definately need a grunty machine tho. It's great that you can play it with Glidos but seeing it in DOSBox with 3DFX support would be awesome.