(Translated by https://www.hiragana.jp/)
3dfx voodoo chip emulation \ VOGONS

VOGONS


3dfx voodoo chip emulation

Topic actions

First post, by kekko

User metadata
Rank Oldbie
Rank
Oldbie

I'm working on this on my spare time. Up to now only minimal detection code is implemented; I got a big help on this by wd and gulikoza.
The aim is a software implementation of the voodoo1 (SST-1) chip. Documentation mainly comes from SST-1 official specs, found on this page.

The card seem correctly recognized (that was the easy part)
28a7oue_th.png

The chip is programmed through memory-mapped i/o, the code framework for chip registers handling is already in place (no reg is actually handled yet).
2qkm3ci_th.png

If you're wondering why dosbox should have this, well, voodoo chip emulation would virtually give:
- higher compatibility with titles (even those with integrated .ovl)
- portability
- integration with dosbox internal renderer: full-screen, different output modes and video capture would be supported
- no need of external libs
- d3d support for win9x games !!!

I'm looking for people that want to help; please post any comment on this thread.

____________________________________________________________________________

EDIT: I attached the latest patch here. Apply to official sources:
voodoo_20101127.diff patch

You can use the Windows diff/patch tools in order to apply a patch to the sources:
Windows diff/patch tools

Use this syntax to apply a patch:
[code]patch -p0 -E <diffname.diff[/code]

Last edited by kekko on 2011-01-02, 18:20. Edited 1 time in total.

Reply 1 of 386, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Thought aaron giles already did a full software voodoo emulator with MAME

Reply 2 of 386, by kekko

User metadata
Rank Oldbie
Rank
Oldbie

You're right, but that implementation is much more complex than needed for our purposes (also emulates voodoo2/banshee, way more complex than voodoo1);
moreover, there's the source code license issue...

Reply 3 of 386, by leileilol

User metadata
Rank l33t++
Rank
l33t++

Any MMX or SSE optimizations in mind? Are you even going to emulate the characteristic Voodoo dither and all the switches? Emulating the Voodoo1 in software is already an ambitious goal.

apsosig.png
long live PCem

Reply 4 of 386, by kekko

User metadata
Rank Oldbie
Rank
Oldbie

well, I was thinking about running the rasterizer on another thread, should be quite straightforward to do

Reply 5 of 386, by OSH

User metadata
Rank Member
Rank
Member

Kekko, when will be a binary version available?

Reply 6 of 386, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

When it's finished.

Reply 7 of 386, by OSH

User metadata
Rank Member
Rank
Member

wd, I know, but I've asked kekko, not you. Perhaps he will make a binary for test purposes only, BEFORE this project will be completely done.

Reply 8 of 386, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Yes and the first thing needed is people asking when it's finished.

Reply 9 of 386, by kekko

User metadata
Rank Oldbie
Rank
Oldbie

I had not much free time lately, but I'm still working on this.
Most of the games pass the detection routines now, some of the directx games crash on ddraw and need further debugging, while others are sending geometry data and textures to the chip, so they're working! (more or less)
there should be some good news in the coming days... meanwhile, enjoy this screenshot from tr3:

6zuj5x_th.png

Reply 10 of 386, by OSH

User metadata
Rank Member
Rank
Member

Keep up good work Kekko!

Reply 11 of 386, by Freddo

User metadata
Rank Oldbie
Rank
Oldbie

This is very cool, I wish you the best of luck with it! 😀

Reply 13 of 386, by robertmo

User metadata
Rank l33t++
Rank
l33t++

you can do cycles=max 105% in dosbox 0.74

By the way, shouldn't 3dfx emulation be done by another core in order to get any speed up effects compared to software mode?

Reply 14 of 386, by rcblanke

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for your efforts kekko, keep it up!

Reply 15 of 386, by valnar

User metadata
Rank Oldbie
Rank
Oldbie

kekko,
I'll donate some $$ to get this working and integrated into DOSBox. Send me your Paypal.

Awesome idea!

Reply 16 of 386, by kekko

User metadata
Rank Oldbie
Rank
Oldbie

As I anticipated, we have some good news, and sooner than expected...
Aaron Giles has just updated mame's voodoo code license to a BSD license, starting from patch 0.139u2.
I would like to thank Aaron and Stiletto for their support.

valnar wrote:

kekko,
I'll donate some $$ to get this working and integrated into DOSBox. Send me your Paypal.

Awesome idea!

hehe, thank you, but I can't accept; I'm working on this on my spare time and I don't know if and when this will be finished. For this reason I'm looking for some help.
Donate to the dosbox project instead, but only if you manage to convince them to help me 😉

Reply 17 of 386, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

You threw your own head into the swamp, now you gotta pull it out yourself 😉

Donations to the project are spent on the server costs, so not lost in pizza.
But yeah maybe money-feed kekko once he's finished, otherwise he always
has the feeling of responsibility which hurts the fun factor.

Reply 18 of 386, by kekko

User metadata
Rank Oldbie
Rank
Oldbie

wise words, my friend 😀
p.s. just kidding about the donation-for-help, I believe we all know and appreciate all the efforts spent to keep this project up and running 😀

Reply 19 of 386, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

So far you managed to get the chip detected right ? You haven't started on working on the texture stuff or do you have something there already ?

Water flows down the stream
How to ask questions the smart way!