sarah-walker-pcem / pcem

PCem
http://pcem-emulator.co.uk
GNU General Public License v2.0
1.47k stars 204 forks source link

Add NVIDIA cards for PCem v18 #205

Open vcosta opened 1 year ago

vcosta commented 1 year ago

Hello, It would be nice to have support for NVIDIA GPUs and cards in the emulator. For example, the NVIDIA NV1 which can accelerate Sega Saturn PC ports like Panzer Dragoon or PC games like NASCAR Racing. Or more to the point something like the NVIDIA RIVA TNT (NV4) or GeForce 2 MX (NV11). That would allow running some NVIDIA only games like Incoming or OpenGL software more easily.

Examples of cards with the before mentioned chips include the Diamond Edge 3D (NV1) or the Creative Labs Graphics Blaster RIVA TNT (NV4).

With regards to the RIVA TNT and GeForce 2 MX emulation perhaps the reverse engineering done for Linux graphics drivers like Nouveau would help with writing the emulator. See also: https://nouveau.freedesktop.org/NvHardwareDocs.html

As for the NVIDIA NV1, the SDK is archived at Vogons, but I do not know if that would be enough to provide a base for work on emulating it. XFree86 X server for Linux had 2D acceleration on NV1 with available driver source code at one point: https://ftp.xfree86.org/pub/XFree86/3.3.6/ https://ftp.xfree86.org/pub/XFree86/3.3.6/doc/README.NVIDIA

https://ftp.xfree86.org/pub/XFree86/3.3.6/source/X336src-1.tgz X336src-1.tar\xc\programs\Xserver\hw\xfree86\vga256\drivers\nv\

unreal9010 commented 1 year ago

As it has been said MANY TIMES before: Nvidia cards cannot be added to PCem (at least not for the time being) due to incomplete and insufficient documentation currently available. Some people actually attempted to add Nvidia cards in the past, however, none of them were able to deliver the code that actually worked. Much as I'd be thrilled to have at least one Nvidia card emulated, it's important to realize that Nvidia cards are currently not an option. Even if there was as much as information about Nvidia cards available as there is about the Voodoo cards, adding GeForce 2 would be pointless due to emulated processors being too slow for it. Currently, there is also no processor available on the market that would be able to handle Pentium III emulation, considering that even the latest top-tier Core i9 processors struggle with emulating fastest Pentium ll/Celeron processors.

leilei- commented 1 year ago

NVIDIA only games like Incoming

wasn't ever. Incoming was Direct3D5 (and already works).

unreal9010 commented 1 year ago

Incoming ran even on my SiS 6326. I don't recall any Nvidia-only games being released. There might be some tech demos but definitely no commercially released games.

vcosta commented 1 year ago

NVIDIA cards provided the best OpenGL compliant performance and compatibility when the NVIDIA RIVA TNT came out. Even the 3dfx Voodoo 3 cards typically used 16-bit depth buffers and often had Z-fighting issues in games like GL Quake. Quake runs on those cards but it is not optimal. On older 3dfx cards you had to use crummy miniGL drivers which offered subpar graphics quality as well. I have a modern AMD GPU and Incoming will not even run on it. Some other Windows 95/98 era games also have extreme difficulty with running on modern Windows OSes.

I will also note that the NVIDIA RIVA TNT predates both the Pentium III/K7. It came out in Summer 1998. Both those CPUs came out in 1999. The original NVIDIA RIVA TNT was clocked at 90 MHz. It was contemporary to the Voodoo 2, similarly clocked at 90 MHz, which also came out in 1998. Not the Voodoo 3 which came out in 1999. The NVIDIA RIVA TNT is basically a contemporary of the 3dfx Voodoo 2 and Banshee cards but has much better performance than the Banshee card (Fall 1998), it has performance close to the Voodoo 2 (Spring 1998), but much better support for multi-texturing, higher resolution depth and color buffer, and actual working OpenGL and Direct3D, unlike 3dfx cards back at the time.

I understand your concern that there is limited information on the cards themselves and that the PCem emulation is still not fast enough on modern hardware to emulate Pentium III/K7 class hardware. But the software is clearly getting there as Pentium II and K6 support is already here. The initial Slot A K7 processors ran at 500 MHz. The initial Pentium III ran at 400 MHz. When you consider that there are PS3 emulators already out there, and that Cell has a 3.2 GHz PowerPC RISC processor with 550 MHz NVIDIA GeForce 7 GPU, I do not think it will be impossible to get to PIII/K7 levels of performance even on current PC hardware in the future with something similar to PCem. Also, I never even mentioned Pentium III/K7 support, so I do not understand why you put that canard into the discussion.

unreal9010 commented 1 year ago

The slowest Pentium III desktop processor that was released to market ran at 450 Mhz, actually.

The PS3 emulators you mentioned use high level emulation (HLE) approach whereas PCem uses the low level (LLE) one. This means that these PS3 emulators sacrifice accuracy and precision for the sake of performance. The purpose of these emulators is to allow as many software titles to be played on another machine (and as fast) as possible. Meanwhile, PCem is about precisely and accurately emulating computer hardware as close to the "real deal" as possible. There's a reason why your host CPU can (easily) emulate PS3's 3.2 Ghz cell processor and at the same time might "struggle" with emulating a Pentium II processor from 1998 that's clocked some 10 times lower. In theory, some Nvidia cards might even be added to PCem, although the results would probably be undesirable, considering the obvious lack of certain crucial data. Had it been really that simple and with enough information available, people would've probably added not just Riva TNT but GeForce 2 as well.

Pentium III was brought into discussion only to give you an example why GeForce 2 would be impractical to emulate at this point even if there were all possible details about the card available. Developers of PCem explained why Nvidia cards (especially GeForces) cannot be added to PCem several times in the past already so it's starting to get boring to frequently see such "requests".

Please close this ticket since you're asking about something that cannot be done at this point. If you , however, have the necessary skills and knowledge to contribute the working code of any of the Nvidia cards, then know that you are of course welcome to do it. We'd be all happy.

leilei- commented 1 year ago

and actual working OpenGL and Direct3D, unlike 3dfx cards back at the time.

Banshee and V3 had working OpenGL and Direct3D HAL just fine.

also nvidia's opengl compliance is debatable, considering id software used them to develop quake3, in which a nvidia non-compliant behavior regarding texture clamping led to the skybox lines bugs on other hardware that were compliant all along

also demanding video cards for v18's just going to stall v18.

unreal9010 commented 1 year ago

I guess the OP wasn't around when 3Dfx cards were popular. People were buying these cards not only to be able to run Glide stuff but to get decent performance in D3D and OGL as well. I was one of them too. There was a reason why my SiS 6326 had to be replaced with Voodoo 3. In fact, owning a 3Dfx card in 1996-99 was the advantage, considering that non-3Dfx cards were not able to run games in Glide API for which a good number of 3D titles released during that time were optimized for (there were even some exclusives - e.g. Gex 3D and Pandemonium 2, meaning there was no way to play these games if you owned Riva TNT). Had the 3Dfx cards been released without D3D and OGL support as the OP claims, 3Dfx would have gone out of business many years prior.

vcosta commented 1 year ago

I was around. I explicitly avoided buying a Voodoo 1/2 card because of that stupid passthrough cable to the separate 2D card which made the video look muddled. Yes you needed to use an analog cable to connect the 2D card to the 3D card, and then another analog cable to the monitor. Not that this would be a problem in an emulator. But the crummy dithered textures sure still are. The Voodoo 2 was also a card which has like 256x256 textures with 16-bit color. The RIVA TNT has 1024x1024 textures with 32-bit color. The NVIDIA RIVA TNT was a replacement for both the 2D and 3D card and had similar performance to the Voodoo 2 in 3D at a lower price than just the single Voodoo 2 card in some cases. And much better OpenGL and Direct3D driver support. And you are not limited to the 800x600 screen resolution of the single Voodoo 2.

Only reason leading edge consumers kept using the Voodoo 2 back then was Glide and the SLI support. You would get more FPS but you need to buy 3 graphics cards for a new computer. The later 3dfx Banshee had integrated 2D but came with lackluster performance, plus arrived after the NVIDIA RIVA TNT as well, although they were contemporaries on the same Xmas season intro. The 3dfx Voodoo 3 was an even later card, which solved some of the performance issues of the Banshee, but still came with putrid dithered textures. By the time 3dfx came out with the Voodoo3, NVIDIA had come with the faster clocked RIVA TNT2, with 32-bit Z-buffer, 32-bit textures, and could beat 3dfx Voodoo 3 in performance as well, besides image quality and price after they boosted the clockspeed from 90 MHz to 150 MHz. Later clockspeed increases basically made the TNT2 roughly as fast as a Voodoo 2 SLI system with a single integrated 2D/3D card in a single chip.

As for the lack of Glide it was never a problem for me and the games I used to play back then like Homeworld. The only Glide specific software I used was UltraHLE and there were Glide wrappers for it. Never noticed a difference.

I will try running Incoming on QEMU like on that video to see if it works on my system. It certainly does not run outside QEMU.

unreal9010 commented 1 year ago

It certainly does not run outside QEMU.

It does.

ruben-balea commented 1 year ago

I don't think there's a need to disrespect others or their work because you like a particular emulator.

unreal9010 commented 1 year ago

It's not really professional for a developer to blast the work of another developer (in particularly when done out of jealousy because your work cannot hold a candle to that of a developer you're blasting). PCem (and its derivatives) may not be perfect and there are certain things that could be improved (including those related to accuracy in certain situations) but at least it's the closest thing to the real deal available to date. As the former owner of at least one emulated configuration I can confirm that. No emulator is perfect and people are still making improvements to NES/Atari/Amiga emulators whose development started decades ago. Also, the project is not dead and abandoned. It's just that its progress has somewhat slowed down. And let's be honest: the last thing useful for retro games is virtualization software (e.g. Virtualbox, Virtual PC, Qemu etc...), in particularly because it's NOT properly optimized for running games. I started using such software in the mid 2000s (and tried all of the above solutions mentioned, Qemu that can also act as an emulator including) and there were plenty of good reasons why I later started using PCem.

unreal9010 commented 1 year ago

As of December 2021 PCem has a new maintainer. Believe it or not, but I actually tried your solution in the past (and wasn't particularly impressed). Even your Youtube videos show that there is no advantage over PCem. I just watched two of them and I could see some glitches and jerky/uneven speeds not present under PCem (e.g. in Pandemonium - yes I actually TRIED that game under PCem).

unreal9010 commented 1 year ago

Here's an example 800x600 15+FPS and no CD-music of Mechwarrior 3 https://www.youtube.com/watch?v=ez01XOeVgz0

LOL, that's MW3 running on an emulated Pentium 200. Considering that the game's minimum requirements are P166, 32 MB RAM it shouldn't come as surprise that the game is running so "slow". Back in the day, minimum requirements often meant that the game was at least runnable not actually playable, with CPUs often being an important or in some cases even a decisive factor of how fast the game would actually run. I ran the particular game back in the day too and frankly, the one from your Youtube link perhaps runs it even a tad faster than my old Celeron 300A paired with SiS 6326 did. Try running this game under PCem (set your emulated configuration to Pentium II and Voodoo 3) on a host CPU equivalent to mine then talk. I've just tried MW3 under emulated PII 400 and Voodoo 3 3000 on PCem and I can confirm that the game runs pretty close to how it would actually run on such configuration. It was fast and smooth.

Why don't you make some YouTube videos about how PCem was optimized for running games on your Core i9-12900KF?

I would have but I just don't have the time for such things. Just as I don't have the time to argue with frustrated individuals. I've got actual work to do.

Okay, so whatever you're offering might be suitable for old/low-end/slower CPUs but that's also because you went with a different approach. The people you criticize didn't criticize you for taking these "shortcuts" and choosing virtualization so why are you criticizing them? If you're not into it, just leave it. It's not mandatory to use PCem or any of its derivatives. It's important to notice that PCem is not optimized for running particular games. Rather, PCem emulates hardware components, some of which (e.g. the Voodoo cards) might be optimized for running games.

, low quality smearing texture for the sake of accuracy called "Voodoo must blur" and gameplay without CD-music on modern systems.

PCem strives to accurately emulate the components as they were not as how they were supposed to be. If you're not after an authentic "back from the day with all its ups and downs" experience you should pick something else. As for the lack of CD music in MW3: this is due to the fact that there are currently some bugs present in CD audio emulation. Fortunately, only a small number of games are affected by this. MW3 might be one of them.

Remember to display convincing stats rather than just tagging [60fps] and call it done (like the FOOL above once did for "cough .... attentions ... cough" with GLQuake)

The stats are displayed. We see emulated configuration and emulation speed the whole time during video. Also no need to insult others.

unreal9010 commented 1 year ago

Btw, I didn't know my Dark Rock Pro 4 was a cryogenic cooler🤣. Anyway, its performance is set closer to "silent mode" in the BIOS and the CPU is being cooled at stock speed.

unreal9010 commented 1 year ago

When did I ever say that PCem was never intended for retro games? As a matter of fact the dynarec was introduced so that at least the games could be fully playable at a slight cost of accuracy. It was never said that PCem is fully accurate at what it does it just strives to be as close to the real deal as possible. Currently, there are certain technical and other limitations that prevent it from being 100% accurate. Using interpreter instead of dynarec for everything, especially Pentium II machines, would be too demanding even for fastest Core i9 processors currently available. The whole thing, while not perfect, is at least on the right track.

for those who understand the technology and it's all about retro games at the BEST and HIGHEST quality on modern GPUs and CPUs without the accuracy BS.

Never seen a virtualization software that is about running retro games and especially at the very best and highest possible quality. As I said before, I tried Qemu, Virtualbox and Vmware and Virtual PC in the past, however, none of them turned out to be suitable for retro gaming. The video drivers of Virtualbox and Vmware didn't even provide DirectDraw support on Windows 95/98 so many of the Windows 9X games were unplayable. SB16 emulation was relatively poorly implemented too and most of the time DOS games would not detect the card. Qemu was not that much better either. Perhaps the best one among them was Virtual PC and even that one was, honestly speaking, a disaster when it came to gaming. I remember trying to run The Curse of Monkey Island with it. Lots of annoying dialogue and FMV skipping and cutting that eventually made the game hard to follow. Most other games were not that much better. Many ran way too fast, some way too slow and usually with lots of various graphic and sound glitches. A few ran okay. If this is the best and highest possible quality to you... I attempted to give a lot of opportunities to Qemu/Virtualbox/Virtual PC between 2006-2010 until I eventually gave up them (and looking at your videos reminded me again why).

When the CPU can't keep up, audio breaks up, hiss & pop. It becomes worse when CPU was overloaded with Voodoo emulation. I am pretty sure many 86Box/PCem users are extremely familiar with such audio fallacy during games.

This happens when your host CPU isn't powerful enough to handle the emulated configuration. A solution is to reduce CPU speed. (or buy a faster host CPU and run your desired configuration with it).

PCem should never fix the CD audio emulation

The minor audio issue mentioned affects only a small number of games (the Screamer series for instance). And besides, one of the PCem forks has already fixed it. it's not a big deal, actually.

ruben-balea commented 1 year ago

I think the OP likes PCem enough to ask for a new feature to be added to it and didn't seem concerned with the accuracy of the emulation or whether high-level or low-level emulation is better.

The only problem is that someone needs to have a deep understanding of how these NVIDIA cards work, both at the hardware and software level, in order to write the code necessary to emulate them. Talking about how fast other emulators are or how bad some graphics cards were compared to others isn't going to help anything...

ruben-balea commented 1 year ago

Hello, It would be nice to have support for NVIDIA GPUs and cards in the emulator. For example, the NVIDIA NV1 which can accelerate Sega Saturn PC ports like Panzer Dragoon or PC games like NASCAR Racing. Or more to the point something like the NVIDIA RIVA TNT (NV4) or GeForce 2 MX (NV11). That would allow running some NVIDIA only games like Incoming or OpenGL software more easily.

Examples of cards with the before mentioned chips include the Diamond Edge 3D (NV1) or the Creative Labs Graphics Blaster RIVA TNT (NV4).

With regards to the RIVA TNT and GeForce 2 MX emulation perhaps the reverse engineering done for Linux graphics drivers like Nouveau would help with writing the emulator. See also: https://nouveau.freedesktop.org/NvHardwareDocs.html

As for the NVIDIA NV1, the SDK is archived at Vogons, but I do not know if that would be enough to provide a base for work on emulating it. XFree86 X server for Linux had 2D acceleration on NV1 with available driver source code at one point: https://ftp.xfree86.org/pub/XFree86/3.3.6/ https://ftp.xfree86.org/pub/XFree86/3.3.6/doc/README.NVIDIA

https://ftp.xfree86.org/pub/XFree86/3.3.6/source/X336src-1.tgz X336src-1.tar\xc\programs\Xserver\hw\xfree86\vga256\drivers\nv\

As for Incoming, all CD's from that time will have 16 bit installers, but some of them won't work on modern 64 bit Windows, because Microsoft decided to add compatibility for only a couple of 16 bit installers on 64 bit Windows.

But I found out that installing winevdm (https://github.com/otya128/winevdm/releases/download/v0.8.0/otvdm-v0.8.1.zip) solves the problem. Basically winevdm is a replacement for the 32 bits NTVM no longer included with 64 bit Windows and it will run most Windows 3.x programs inside 64 bits Windows, and those 16 bit installers are just Windows 3.x executables.

I already had winevdm installed, that's why I found out the installer was being ran by winevdm instead of Windows, so I disabled winevdm and tried again to let Windows run it and it failed, telling me that the executable wasn't meant for this version of Windows or for 64 bit processors or something like that, because I tried to launch the installed from the launcher and also directly from its own folder, each way gave me a different error.

To install winevdm download the latest version and extract the zip contents somewhere, I've them in c:\otvdm Then you will find a couple links in that folder, "install (no console)" and "install" "install" installs winevdm with a console window enabled where you can see some debug info but i find it annoying. "install (no console)" installs winevdm without showing the console window every time you load a 16 bit executable so it's more or less like running a 32 or 64 bit executable, but the windows created by the 16 bit programs may have an extra thick border, I don't know if it's intentional or a bug, but for me it serves as a hint to distinguish those programs

Once you've winevdm installed run whatever launcher/isntaller is at the root folder of the game CD and it should work.

megadora commented 1 year ago

Why are you so threatened by PCem that you feel the need to continuously come here and attack it?

It fulfills a completely different need than your project.

QEMU 3dfx has serious issues with accuracy in some games, based on the videos you yourself post on Youtube. I can only imagine you aren't that familiar with how these games are meant to run on original hardware.

aquaboxs commented 1 year ago

Sadly, no, NVIDIA Cards cannot be added for PCem v18. Maybe add ATI Rage 128 Pro for PCem v18? for #193 I did this a few months ago. I already submitted datasheets for ATI Rage 128 Pro.

Well, "2 thumbs-up reactions" from now on, That's fine.

ruben-balea commented 1 year ago

@kjliew I still don't understand where you want to get to...

I don't know who would need to buy the retail version since Incoming came bundled with Riva TNT cards from various manufacturers, like an Asus I've, with various models of cards based on different 3dfx chips, with the Matrox Mystique, with Ati Rage Pro, with S3 Virge, I would not be surprised if it also came with some motherboards based on the Intel i740 ;-)

Some CDs with the game in Spanish say they're optimized for both 3dfx and NVIDIA because the same CD was bundled with cards using both brands of chips.

In PCem I can confirm it does work OK with the 3dfx Banshee. And it works also on Windows 10 x64 if you can manage to run a 16 bit installer not supported by Windows 10 x64, winevdm/otvdm did the trick for me.

I've never been into flight simulators or first person shooters, I'd be more lost than trying to pilot the space shuttle so I can't show you without ridiculing myself for how badly I would play how Incoming works on PCem with Windows 98SE and the 3dfx Banshee, but you can try it yourself:

I tested it with a FIC VA-503+ mainboard, a Pentium MMX 233, a 3dfx Banshee grahics card and a Sound Blaster AWE32, then installed Windows 98SE, installed Banshee drivers version 1.04.00, installed Direct X 9, installed Incoming and tried to play it as best as I could, for me it looked fine for a 25 years old game. In fact to me it looks the same as in Windows 10 x64

megadora commented 1 year ago

Can you post a video of Heavy Gear (1997) running in QEMU?

I'm curious to see how it runs.

Please post an uncut video showing 1) a movie clip, 2) weapon selection screen, and 3) gameplay.

megadora commented 1 year ago

Challenge accepted https://www.youtube.com/watch?v=b51LbJtfnR8

Your insights of how the game is supposed to run on original hardware is always welcome & valued. Please leave the comments under the video or any other videos you may see fit. Or, if you would make a demo imitation with PCem to highlight its advantages for Heavy Gear (1997), please be my guest.

You're running the game in Direct3D. Any reason? It gets slightly better performance in 3dfx mode.

I'd say the game is semi-playable in QEMU, but I wouldn't want to play it like that.

On real hardware with a Voodoo 1, the game averages around 30 fps in 3dfx mode ( https://vintage3d.org/3dfx1.php ). PCem pretty much matches that.

The problems I noticed in the QEMU video you posted:

On PCem, videos play fine, cursor is fine, and frame rate is more consistent.

How about in 640x480 software mode? I actually prefer to play in software mode on a ~450 MHz PC, which gives a slightly higher frame rate (at the cost of no texture filtering). The game speed is tied to the frame rate, though, so anything above 40 fps feels too fast. The sweet spot is 30-40 fps.

ruben-balea commented 1 year ago

@ruben-balea Here's another suggestion for you.

Incoming also has the demo with gameindex. Do a Google Search to get it. Make a demo imitation similar to qemu-3dfx and have the video recorded. You can choose to match qemu-3dfx hi-res at 1024x768 with "-screenmode" for what worth of Voodoo Banshee and silence those laughs at 640x480. 16bpp is fine.

You don't really have to play the game. Thank you for stepping up in redeeming PCem "PRIDE & integrity". I would rather this be done by those who made the claims after all these humiliation, just like the [60fps] GLQuake or Turok demo once posted.

Well, honestly I don't even know if my computer can compress a video while running PCem, I probably haven't used any screen capture software in the last 20 years so I don't know how much CPU they use nowadays. My computer is quite slow, it has an i7-3770k set to maximum power saving both in BIOS and Windows, in Windows it's also set for passive cooling, it already struggles to emulate a Pentium 100 and the Banshee with the bilinear filtering & screen filter enabled... Anyway I prefer not to have to change the power settings because I want my computer to use as little electricity as possible.

I used Windows 98SE with these "Updated drivers"

As an alternative to a pixelated video I took some screenshots instead so you can see how the graphics look and the average FPS: https://mega.nz/file/vhxx3TjS#uCMRFW3nk_e7LWZU63CijUuw0avYbzDBlLLjVrgCoZ0

I did this just to show that NVIDIA emulation is not essential to run Incoming on PCem. I'm not worried about the performance of the emulated Windows 9x era hardware since I only need to emulate 286 and 386 systems. For the few Windows 9x games that I don't have on GOG or Steam I use Windows 2000 on Virtualbox, for example for Command & Conquer RA2

unreal9010 commented 1 year ago

Of course, he may really need that kind of CPU prowess for something else

BINGO! At least you got that one right. And even if it was solely for PCem, my investment would still not be as much of a waste as was the "investment" of your time for development of something that is (honestly speaking) useless and serves no real purpose at all. Ask QEMU developers themselves in case you don't believe me. You couldn't upstream your project to QEMU and now you're mad at PCem developers. Maybe if you spent less time arguing with people online, you'd actually be able to come up with something that we all would benefit from.

unreal9010 commented 1 year ago

And yet managed to provide Matrox Millennium emulation months after allegedly "abandoning" the project.

ruben-balea commented 1 year ago

Well, honestly I don't even know if my computer can compress a video while running PCem, I probably haven't used any screen capture software in the last 20 years so I don't know how much CPU they use nowadays. My computer is quite slow, it has an i7-3770k set to maximum power saving both in BIOS and Windows, in Windows it's also set for passive cooling, it already struggles to emulate a Pentium 100 and the Banshee with the bilinear filtering & screen filter enabled... Anyway I prefer not to have to change the power settings because I want my computer to use as little electricity as possible.

I salute you for being an honest man. Then your screenshots with average FPS have absolutely no meaning at all. PCem might not run at 100% all the time, the demo has sound effects and that could sound really ugly when PCem cannot keep up. Our friend with Core i9-12900KF already told us so. Despite all of that, the sky and terrain texture quality are laughable, anything but "accurate" compared to real Voodoos.

You were fool if you believe an i7-3770K is slow, I don't. With qemu-3dfx, you will LAUGH at our friend with Core i9-12900KF.🤣🤣 who spent a fortune at his last upgrade. Of course, he may really need that kind of CPU prowess for something else other than retro gaming to justify his spending. Otherwise, Intel/AMD should have honored kickbacks to PCem on every CPU sold for running such a great propaganda on the accuracy BS in PC emulation for retro gaming.

My i7-3770k can run much faster but it's slowed down in order to draw less power and be quieter because I don't need a lot of GHz to surf the internet or to run software and games that would work perfectly on a Pentium 3, the only reason I have to use this CPU is to have 8 threads available for some very specific tasks.

If you need to watch PCem it in realtime I guess you should have at least one Windows 98 hard disc image for testing qemu, you can make a copy of it and use it on PCem, spend a few minutes reinstalling drivers and you will be done.

While hardware CPU virtualization is really useful for me to be able to use Windows 2000 on Virtualbox it is useless to emulate a 386 on the Raspberry Pi 3B which is one of the things that I do with PCem. Where I would like to have the option of hardware CPU virtualization would be in DOSBox, not in PCem, if Bochs doesn't need to use hardware CPU virtualization I don't see why PCem would.

ruben-balea commented 1 year ago

Well, I guess it is evident that PCem doesn't want to be just Bochs from those exaggerating retro gaming posts on VOGONS or PCem own forums. The later had been a total disgust with all the BS to no limit, heil to the Queen of emulation!🤣🤣 Oh, and the way they had thought about GPL. It was childish, wasn't it?

I have no idea about those discussions so i can't comment, I only read the PCem forum topics about any features I like or when I think I can help others, just like here where just I wanted to help the OP to be able to play a game but without having to be specifically using PCem. It doesn't make sense to me to focus on a particular emulator when there are many of them and each one is better suited to certain tasks, it would be like trying to assemble a car engine using only an adjustable wrench while having a well equipped tool cart collecting dust in a corner.

Randrianasulu commented 1 year ago

https://github.com/xemu-project/xemu/commits/master/hw

a bit more on-topic? Not sure how low-level it is, and it also for xbox (so not desktop or even IGP). But something geforce-like

michael-manley commented 11 months ago

Lets keep things to the topic at hand, not talk about other emulators!

themrsbusta commented 11 months ago

If is THAT hard to insert a Nvidia or ATI card on the emulation...what about make a virtual graphics card to act as a pass thru? much harder? Windows 10 doesn't support NFS Hot Pursuit 2 and XP on the PCem K6-III doesn't have a 3D DX7,8,9 card. 😂

ruben-balea commented 11 months ago

I can't answer that but you can try VMware Workstation Player meanwhile, it's free for personal use.

I use both VMware and VirtualBox to run some games that are not compatible with Windows 10, but the VirtualBox 3D driver for Windows 2000/XP is more complicated to install, you had to start Windows in safe mode and then run the "Guest Additions" installer.

Under VMware Windows XP and Vista are limited to DX9 while Windows 7 or later have support for DX10 and DX11 You need to install VMware Tools on the guest OS, on VMware Workstation Player click the "Player" menu on top left corner, then "Manage" and then "Install VMware Tools"

I'm not sure if that particular game will work because I haven't tried it myself, but you may need to install Daemon Tools Lite or equivalent on the guest OS and use it to mount the game CD/DVD image within the guest OS, VMware emulated CD/DVD-ROM drive is unable to emulate special features of copy protected discs.

If you decide to try VMware or VirtualBox remember to choose the correct guest operating system when you create a new virtual machine, otherwise 3D acceleration may not work and/or you can end with emulated hardware not supported by older Windows versions.

Torinde commented 10 months ago

If is THAT hard to insert a Nvidia or ATI card on the emulation...what about make a virtual graphics card to act as a pass thru? much harder? Windows 10 doesn't support NFS Hot Pursuit 2 and XP on the PCem K6-III doesn't have a 3D DX7,8,9 card. 😂

There is SoftGPU and QEMU VirGL drivers, @michael-manley to comment on how/if those fit with PCem.