Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
Laaca

Homepage

Czech republic,
22.01.2011, 10:46
 

Voodoo1 (Users)

I made a upgrade of my P300 DOS only machine. Bought a Voodoo1 3DFX card.
Now I try various DOS games with 3DFX support.
Great graphics is in: Archomedean dynasty, Extreme assault
Very good in: Tomb raider 1
Disappointment: GTA 1, Shadow warrior (they look better without 3DFX)
unfortunately I was not able to get work the 3DFX patch in Blood :-(

So, if you have a opportunity, buy a 3DFX too. :-D

---
DOS-u-akbar!

marcov

22.01.2011, 14:22

@ Laaca
 

Voodoo1

> I made a upgrade of my P300 DOS only machine. Bought a Voodoo1 3DFX card.
> Now I try various DOS games with 3DFX support.
> Great graphics is in: Archomedean dynasty, Extreme assault
> Very good in: Tomb raider 1
> Disappointment: GTA 1, Shadow warrior (they look better without 3DFX)
> unfortunately I was not able to get work the 3DFX patch in Blood :-(
>
> So, if you have a opportunity, buy a 3DFX too. :-D

I have one. Maybe it would even work in one of my Athlon XPs.

I retained it mainly because I always liked Descent II on 3dfx.

glquake is also nice with Voodoo, but Quake 2 on later GPUs are simply better, so while that was a good thing at the time, it is less interesting now.

Rugxulo

Homepage

Usono,
22.01.2011, 22:55

@ marcov
 

Voodoo1

> I retained it mainly because I always liked Descent II on 3dfx.

Gog.com sells a Descent 1+2 bundle (548 MB) as well as Descent 3 + expansion (798 MB) for $5.99 each. And there's a recent video review of Descent here, as per suggested by DOSBox.com (although ironically the video actually suggests to run a native, modern OS port instead).

RayeR

Homepage

CZ,
22.01.2011, 14:33

@ Laaca
 

Voodoo1

> unfortunately I was not able to get work the 3DFX patch in Blood :-(

Don't worry, it's the same shit as in Shadow Warrior - you got just blured textures which cause pain to my eyes :P

BTW I think that Scitech MGL has HW renderer support for 3Dfx under DOS so you can try some OpenGL-like programming :)

---
DOS gives me freedom to unlimited HW access.

Laaca

Homepage

Czech republic,
22.01.2011, 18:48

@ RayeR
 

Voodoo1

I have development kit by 3DFX so theoreticaly I could write Glide applications.
But it is in C++ :-|

However I also have some open source development library which DOS version is distributed in DXE module so it could be maybe used also in Freepascal.

---
DOS-u-akbar!

Rugxulo

Homepage

Usono,
22.01.2011, 22:59

@ Laaca
 

Voodoo1

> I have development kit by 3DFX so theoreticaly I could write Glide
> applications.
> But it is in C++ :-|

http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

> However I also have some open source development library which DOS version
> is distributed in DXE module so it could be maybe used also in
> Freepascal.

wmemu387.dxe is included in FPC by default, so it must've worked at some time. But that's most likely (only old) DXE1, not the newer DXE3 (from DJGPP 2.04). I've barely dabbled in DXE at all, so I'm not much help (no surprise).

marcov

23.01.2011, 23:28

@ Rugxulo
 

Voodoo1

> wmemu387.dxe is included in FPC by default, so it must've worked at some
> time. But that's most likely (only old) DXE1, not the newer DXE3 (from
> DJGPP 2.04). I've barely dabbled in DXE at all, so I'm not much help (no
> surprise).

See unit dxe_load. It has a reference from which it was translated.

DXE3 is in the same complixity magnitude as DXE1, it should be fairly trivial.

Rugxulo

Homepage

Usono,
27.01.2011, 00:28

@ marcov
 

Voodoo1

> DXE3 is in the same complixity magnitude as DXE1, it should be fairly
> trivial.

I doubt it. I think DXE3 is a fair bit more complicated. Juan's recent "port" of Lua required DXE3, so it was DJGPP 2.04 only (instead of also 2.03p2).

In my lame paq8o8z-Jan13-src.zip is paq8fdxe.zip, which only uses DXE1 (for compatibility). It basically uses NOASM if no .DXE found else uses whatever is there (either two MMX or two SSE2 .DXEs) but with no CPUID checking! It's just a hack. I should probably put it on my website as a separate file under "other things" or whatever. But it's not too important I guess.

Here's a horribly simple example I included in there, if anybody is curious (doubt it):


/* DXE_EX.C -- stupid DXE example for DJGPP 2.03p2 and DJGPP 2.04
        rugxulo _AT_ gmail _DOT_ com
        http://rugxulo.googlepages.com
  @echo off
  gcc -DYO -c dxe_ex.c -o yo.o
  redir -eo ls /dev/env/DJDIR/bin/dxe3gen.exe >NUL
  if errorlevel 1 redir -eo dxegen yo.dxe _yo yo.o >NUL
  if not exist yo.dxe redir -eo dxe3gen -o yo.dxe yo.o
  if not exist yo.dxe redir -eo dxegen yo.dxe _yo yo.o >NUL
  gcc dxe_ex.c -o dxe_ex.exe
  if exist dxe_ex.exe dxe_ex.exe
  for %%a in (yo.dxe yo.o dxe_ex.exe) do if exist %%a del %%a
*/
#if !defined(DXE1) && !defined(DXE3)
#if __DJGPP_MINOR__ == 3
#define DXE1
#endif
#endif
#ifdef YO
yo() {
  asm(".intel_syntax noprefix");
  asm("mov al,0x48"); /* "H" */
  asm("int 0x29");    /* output char in AL to screen */
  asm("mov al,0x49"); /* "I" */
  asm("int 0x29");
  asm(".att_syntax prefix");
}
#else
#ifdef DXE1
#include <sys/dxe.h>
#else
#include <dlfcn.h>
#endif
#include <stdio.h>

int main() {

static void (*yo)(), *blah;

#ifdef DXE1
if (yo = _dxe_load("yo.dxe"))
  yo();
#else
if (blah=dlopen("yo.dxe",RTLD_GLOBAL)) {
  yo=dlsym(blah,"_yo");
  (*yo)();
}
#endif
else
  puts("\nCannot load YO.DXE");
return 0;
}
#endif

Back to index page
Thread view  Board view
22758 Postings in 2121 Threads, 402 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum