kjliew / qemu-3dfx

MESA GL/3Dfx Glide pass-through for QEMU
GNU General Public License v2.0
396 stars 54 forks source link

I made a donation but I sent you e-mail... #106

Closed 33Spot closed 11 months ago

33Spot commented 11 months ago

5 days ago i sent you e-mail with informations about compiling qemu.

Hi I just donated to your project today. Here are additional info for binary compilation

os: Linux Mint (Ubuntu 20.04 focal) architecture: x86_64

and 5 games elected:

  1. FX fighter turbo
  2. quake 2
  3. Virtua Fighter 2
  4. SiN
  5. Alien vs Predator

my e-mail is treespot@gmail.com

I found your e-mail so i thought that i sent you a message and later i found out that you wrote that you will be checking on platform i guess you wil be checking in here instead then. Please do not treat me as upper-class donors.

kjliew commented 11 months ago

Thank YOU for supporting the Project and Game Preservation. I confirmed receipt of your donation on PayPal, though neither Platform of Choice nor any Game Elections showed up in the note. Not to worry, I sincerely regretted if there was a misunderstanding that made you waited from my response.

UPDATE: I found your email in the spam list. I have marked it as "Not Spam" from now on.

kjliew commented 11 months ago

Details on Game Elections

  1. FX Fighter Turbo - This is a 2D DirectDraw game that requires significant slow-down when played on modern system. Unfortunately, the game's renderer seems to be using Blit() rather than Flip() that makes frame rate regulation inconsistent and hard to achieve smooth results. It is recommended that you check out other PC emulation. For QEMU, here's the simple steps to play the game.
    
    Game presumed to be installed in  D:\Games\FxFighter
    Set Desktop Display colors to 256-color
    $ cd /d/Games/FxFighter
    $ wine-get install 2.0.5 ddraw
    $ reg import wine.reg (see below)
    Save & Import REGEDIT4 (as wine.reg)
    [------------- cut ---------------] 
    REGEDIT4

[-HKEY_CURRENT_USER\Software\Wine\AppDefaults\FIGHT.EXE\Direct3D] [HKEY_CURRENT_USER\Software\Wine\AppDefaults\FIGHT.EXE\Direct3D] "BlitFpsLimit"=dword:0000002f "ScaleWindow"=dword:028001e0 "SwapInterval"=dword:00000001 [------------- cut ---------------]

You may need to tune `BlitFpsLimit` to achieve the desired playing speed.

2. **Quake II**

Game presumed to be installed in D:\Games\Quake2 Default OpenGL will be selected as video driver $ cd /d/Games/Quake2 $ touch opengl32.dll $ wine-get updogl $ echo "ExtensionsYear,1999" >> wrapgl32.ext

3. **Virtua Fighter 2** - Similar SEGA AM3 game engine as Last Bronx. Just follow the video ["From Install to Play in 15 mins"](https://www.youtube.com/watch?v=pf-KOqraU9s). Here's the recap.

Game presumed to be installed in D:\SEGA\Virtua2 $ cd /d/SEGA/Virtua2 $ wine-get install 4.12.1 ddraw $ reg import wine.reg (see below) Save & Import REGEDIT4 (as wine.reg) [------------- cut ---------------] REGEDIT4

[-HKEY_CURRENT_USER\Software\Wine\AppDefaults\VF2.EXE\Direct3D] [HKEY_CURRENT_USER\Software\Wine\AppDefaults\VF2.EXE\Direct3D] "ScaleWindow"=dword:828001e0 "SwapInterval"=dword:00000001 [------------- cut ---------------]

4. **Sin** - Enhanced idTech Quake2 engine. Unfortunately "Ritual" logo and intro cutscene playback are flawed. End-game cutscene is expected to be flawed as well. Game play is perfect anyway.

Game presumed to be installed in D:\Games\Sin Apply last official patch 1.11 Default OpenGL will be selected as video driver $ cd /d/Games/Sin $ touch opengl32.dll $ wine-get updogl $ echo "ExtensionsYear,1999" > wrapgl32.ext

5. **Alien vs Predator** - Tested version is Alien vs Predator Gold (USA) retail 2-CD release. The game will crash if you aborted play and start another game without fully exiting the game. So always start the game out fresh.

Game presumed to be installed in D:\Games\AvP1 $ cd /d/Games/AvP1 $ wine-get install 1.9.7 ddraw $ reg import wine.reg (see below) Save & Import REGEDIT4 (as wine.reg) [------------- cut ---------------] REGEDIT4

[-HKEY_CURRENT_USER\Software\Wine\AppDefaults\AVP.EXE\Direct3D] [HKEY_CURRENT_USER\Software\Wine\AppDefaults\AVP.EXE\Direct3D] "ScaleWindow"=dword:828001e0 "UseGLSL"="disabled" [------------- cut ---------------]


Imperfect games preservation do not count toward Game Elections, so **1 of 5 Game Elections** accounted. Quake II is on the house. Thank you for supporting the project and Game Preservation.
33Spot commented 11 months ago

Hi! Thank you for all of supporting information about how to run those games. However there is just one thing. This game FX Fighter Turbo its not 2d game it is 3d game which has support for 3dfx and it is not a dos game. FX Fighter is a dos game and FX Fighter Turbo is a windows 98 (executable file compiled for windows) game with support for 3dfx. here is a video https://youtu.be/_Ivg-IRmNrI showing how this game is being run. However on this video i think they did not manage to run this game in 3dfx mode but it is possible.

śr., 25 paź 2023 o 09:52 kjliew @.***> napisał(a):

Details on Game Elections

  1. FX Fighter Turbo - This is a 2D DirectDraw game that requires significant slow-down when played on modern system. Unfortunately, the game's renderer seems to be using Blit() rather than Flip() that makes frame rate regulation inconsistent and hard to achieve smooth results. It is recommended that you check out other PC emulation. For QEMU, here's the simple steps to play the game.

Game presumed to be installed in D:\Games\FxFighter Set Desktop Display colors to 256-color $ cd /d/Games/FxFighter $ wine-get install 2.0.5 ddraw $ reg import wine.reg (see below) Save & Import REGEDIT4 (as wine.reg) [------------- cut ---------------] REGEDIT4

[-HKEY_CURRENT_USER\Software\Wine\AppDefaults\FIGHT.EXE\Direct3D] [HKEY_CURRENT_USER\Software\Wine\AppDefaults\FIGHT.EXE\Direct3D] "BlitFpsLimit"=dword:0000002f "ScaleWindow"=dword:028001e0 "SwapInterval"=dword:00000001 [------------- cut ---------------]

You may need to tune BlitFpsLimit to achieve the desired playing speed.

  1. Quake II

Game presumed to be installed in D:\Games\Quake2 Default OpenGL will be selected as video driver $ cd /d/Games/Quake2 $ touch opengl32.dll $ wine-get updogl $ echo "ExtensionsYear,1999" >> wrapgl32.ext

  1. Virtua Fighter 2 - Similar SEGA AM3 game engine as Last Bronx. Just follow the video "From Install to Play in 15 mins" https://www.youtube.com/watch?v=pf-KOqraU9s. Here's the recap.

Game presumed to be installed in D:\SEGA\Virtua2 $ cd /d/SEGA/Virtua2 $ wine-get install 4.12.1 ddraw $ reg import wine.reg (see below) Save & Import REGEDIT4 (as wine.reg) [------------- cut ---------------] REGEDIT4

[-HKEY_CURRENT_USER\Software\Wine\AppDefaults\VF2.EXE\Direct3D] [HKEY_CURRENT_USER\Software\Wine\AppDefaults\VF2.EXE\Direct3D] "ScaleWindow"=dword:828001e0 "SwapInterval"=dword:00000001 [------------- cut ---------------]

  1. Sin - Enhanced idTech Quake2 engine. Unfortunately "Ritual" logo and intro cutscene playback are flawed. End-game cutscene is expected to be flawed as well. Game play is perfect anyway.

Game presumed to be installed in D:\Games\Sin Apply last official patch 1.11 Default OpenGL will be selected as video driver $ cd /d/Games/Sin $ touch opengl32.dll $ wine-get updogl $ echo "ExtensionsYear,1999" > wrapgl32.ext

  1. Alien vs Predator - Tested version is Alien vs Predator Gold (USA) retail 2-CD release. The game will crash if you aborted play and start another game without fully exiting the game. So always start the game out fresh.

Game presumed to be installed in D:\Games\AvP1 $ cd /d/Games/AvP1 $ wine-get install 1.9.7 ddraw $ reg import wine.reg (see below) Save & Import REGEDIT4 (as wine.reg) [------------- cut ---------------] REGEDIT4

[-HKEY_CURRENT_USER\Software\Wine\AppDefaults\AVP.EXE\Direct3D] [HKEY_CURRENT_USER\Software\Wine\AppDefaults\AVP.EXE\Direct3D] "ScaleWindow"=dword:828001e0 "UseGLSL"="disabled" [------------- cut ---------------]

Imperfect games preservation do not count toward Game Elections, so 1 of 5 Game Elections accounted. Quake II is on the house. Thank you for supporting the project and Game Preservation.

— Reply to this email directly, view it on GitHub https://github.com/kjliew/qemu-3dfx/issues/106#issuecomment-1778709325, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMBLUDIXW242UGZSJQ43PUTYBDALXAVCNFSM6AAAAAA6NCJCX6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZYG4YDSMZSGU . You are receiving this because you authored the thread.Message ID: @.***>

kjliew commented 11 months ago

This game FX Fighter Turbo its not 2d game it is 3d game which has support for 3dfx and it is not a dos game.

You're right. It's not a DOS game and it installed bunch of BRender drivers in .BDD in the "DLL" folder that include one with 3Dfx Glide and even one with Direct3D. The game FIGHT.EXE seemed to be hardcoded to use DDRAW BRender driver. Renaming the 3Dfx Glide BDD into DDRAW.BDD did observe Glide activation but no rendering was made. The game however has S3 ViRGE S3D support in separate S3FIGHT.EXE. You may wish to look out other PC emulation that offer S3 ViRGE to check out the S3D version of the game.

The YouTube video you just linked is the default 2D DirectDraw renderer version. Googling around it does not seem that anyone had ever produced any rendering results with 3D acceleration even for S3D. The S3FIGHT.EXE crashed on 86Box v4.0.1 emulating an S3 ViRGE 325. You should file a bug there if they will fix the emulation to be able to have this game in S3D.

I highly doubted its support for 3Dfx. The game's cover art from mobygames showed the S3D logo and nothing else on 3Dfx, which was quite a selling point for any games released back then.

33Spot commented 11 months ago

Achh... so i see.... ok having a memory of my childhood.... i remember playing this game on a computer with s3 Virge + 3dfx diamond monster... Later on my virge card back then it got corrupted somehow and i had tseng4000 ,which again worked with diamond monster 3D and i could play it with 3dfx support this way. But yeah now I understand this.... I was playing with Pcem (in which you could put exactly those cards) but I was having real performance issues. Maybe its too big question i don't know at this point. Pcem is using rom files (biose of cards etc. dumped into roms) Is there a way for quemu to read such bios roms and use it so that virtualized system is assured that there is 3svirge or tseng 4000 + diamond monster 3D running and so that the game would run ?

śr., 25 paź 2023 o 19:17 kjliew @.***> napisał(a):

This game FX Fighter Turbo its not 2d game it is 3d game which has support for 3dfx and it is not a dos game.

You're right. It's not a DOS game and it installed bunch of BRender drivers in .BDD in the "DLL" folder that include one with 3Dfx Glide and even one with Direct3D. The game FIGHT.EXE seemed to be hardcoded to use DDRAW BRender driver. Renaming the 3Dfx Glide BDD into DDRAW.BDD did observe Glide activation but no rendering was made. The game however has S3 ViRGE S3D support in separate S3FIGHT.EXE. You may wish to look out other PC emulation that offer S3 ViRGE to check out the S3D version of the game.

The YouTube video you just linked is the default 2D DirectDraw renderer version. Googling around it does not seem that anyone had ever produced any rendering results with 3D acceleration even for S3D. The S3FIGHT.EXE crashed on 86Box v4.0.1 emulating an S3 ViRGE 325. You should file a bug there if they will fix the emulation to be able to have this game in S3D.

I highly doubted its support for 3Dfx. The game's cover art from mobygames https://www.mobygames.com/game/19860/fx-fighter-turbo/cover/group-38485/cover-104582/ showed the S3D logo and nothing else on 3Dfx, which was quite a selling point for any games released back then.

— Reply to this email directly, view it on GitHub https://github.com/kjliew/qemu-3dfx/issues/106#issuecomment-1779721509, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMBLUDIOK2V2XEA7YDKPFMTYBFCTJAVCNFSM6AAAAAA6NCJCX6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZZG4ZDCNJQHE . You are receiving this because you authored the thread.Message ID: @.***>

kjliew commented 11 months ago

So I see, now I understand this, PCem craves for IPC really hurts for anything before Intel Skylake microarchitecture, not to mention on mobile IvyBridge. Otherwise, I am pretty sure emulating Pentium 90MHz for FX Fighter Turbo wouldn't have been any issues. The game only needs a Pentium 60MHz. You probably should try the game again on PCem together with its S3 ViRGE emulation for S3D. Unfortunately, PCem is 0xDEAD, if it doesn't work then the story ends there.

Pcem is using rom files (biose of cards etc. dumped into roms) Is there a way for quemu to read such bios roms and use it so that virtualized system is assured that there is 3svirge or tseng 4000 + diamond monster 3D running and so that the game would run ?

In QEMU context, having propriety dumped ROMs is *STUPID*, so the virtualized system does not work in such a way. It is always smarter to virtualize rather than boundless stupidity in emulation of Accuracy *BS***** .

PCem emulation speed is terrible The Mighty shit-head Unprofessional Moderator @vogonsorg even called out an 11th-gen Core i7-1165G7 as *terrible*. For QEMU, the Core i7-1165G7 with Iris Xe Graphics is *superb* for retro gaming, handsomely beating out the last breeds of officially Windows 98 supported GPUs on real hardware.

kjliew commented 11 months ago

Update for FX Fighter Turbo. I think you may just play the game with QEMU TCG instead of KVM, to achieve the natural 10X slow-down by emulation, so the Core i7-3610QM is roughly equivalent to a Pentium 233MHz, which is more than enough for the game. For QEMU TCG, you should just remove all means for frame rate regulation in REGEDIT4 import.

[------------- cut ---------------] 
REGEDIT4

[-HKEY_CURRENT_USER\Software\Wine\AppDefaults\FIGHT.EXE\Direct3D]
[HKEY_CURRENT_USER\Software\Wine\AppDefaults\FIGHT.EXE\Direct3D]
"ScaleWindow"=dword:028001e0
"SwapInterval"=dword:00000000
[------------- cut ---------------]

FYI, 86Box v4.0.1 S3 ViRGE emulation works for the S3D version S3FIGHT.EXE using updated drivers instead of Windows 98 in-box drivers. There is nothing much to say about S3D version. It obviously tells the story why S3 had failed while 3Dfx Voodoo Graphics excelled in PC 3D graphics acceleration back then.

33Spot commented 11 months ago

HI! I am sorry i did not respond lately. I was trying to find some informations on how to install/run this qemu-tcg. Could you please write me something about it. How could I install it and use it ? I wanted to ask too what do you think about qemu front-ends ? or do you recommend any ? For now i did not have much time to setup qemu and try it with some games/benchmarks yet. But most definetely i will ,its just this week is being for me a little tough.

czw., 26 paź 2023 o 03:37 kjliew @.***> napisał(a):

Update for FX Fighter Turbo. I think you may just play the game with QEMU TCG instead of KVM, to achieve the natural 10X slow-down by emulation, so the Core i7-3610QM is roughly equivalent to a Pentium 233MHz, which is more than enough for the game. For QEMU TCG, you should just remove all means for frame rate regulation in REGEDIT4 import.

[------------- cut ---------------] REGEDIT4

[-HKEY_CURRENT_USER\Software\Wine\AppDefaults\FIGHT.EXE\Direct3D] [HKEY_CURRENT_USER\Software\Wine\AppDefaults\FIGHT.EXE\Direct3D] "ScaleWindow"=dword:028001e0 "SwapInterval"=dword:00000000 [------------- cut ---------------]

FYI, 86Box v4.0.1 S3 ViRGE emulation works for the S3D version S3FIGHT.EXE using updated drivers instead of Windows 98 in-box drivers. There is nothing much to say about S3D version. It obviously tells the story why S3 had failed while 3Dfx Voodoo Graphics excelled in PC 3D graphics acceleration back then.

— Reply to this email directly, view it on GitHub https://github.com/kjliew/qemu-3dfx/issues/106#issuecomment-1780281796, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMBLUDPZVU7RTQA5PYKKPHLYBG5G5AVCNFSM6AAAAAA6NCJCX6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBQGI4DCNZZGY . You are receiving this because you authored the thread.Message ID: @.***>

kjliew commented 11 months ago

Refer to build.spec for resolving dependencies.

Run the following command in the terminal to install the package. sudo may be required. $ sudo tar xf qemu-8.1.2-3dfx-833431f-ubn20.04.tar.zst -C /

Verify installed QEMU $ qemu-system-i386 --version