VOGONS

Common searches


Reply 20 of 36, by eddman

User metadata
Rank Newbie
Rank
Newbie
Retroview wrote on 2023-01-23, 21:18:

Virtual machines are good solutions, too. Sadly they don’t work for 3D right?

VMware supports D3D8/9 (EDIT: and 10/11 on Windows 7 and higher) hardware acceleration if the guest OS is Windows 2000 and higher. (EDIT: the minimum might be XP in newer versions)

D3D8 acceleration is rather poor and games usually suffer from lower performance and/or visual glitches. It can be somewhat remedied by using the d3d8to9 wrapper. D3D9 seems to be fine, however, I haven't tested it extensively either, so can't say for certain if it's trouble free.

I'm yet to test Virtualbox's 3D acceleration.

Jo22 wrote on 2023-01-24, 02:09:
Hi there! 3D acceleration isn't absolutely required for DirectX up to 6.1 or 7. Up to this level, the software renderer in Direc […]
Show full quote

Hi there! 3D acceleration isn't absolutely required for DirectX up to 6.1 or 7.
Up to this level, the software renderer in DirectX is fully capable of doing this all on its own.
Generally speaking, of course. Maybe there are exceptions.
What I mean to say is, that at the time, the software renderer was the reference, still.
3D hardware was still catching up with the Direct3D software renderer.
For a short time, MMX (introduced with later Pentiums) was able to assist DirectX, too. Or so it seemed.
Together with DirectDraw and a 2D accelerating graphics card, Direct3D did its magic*.
By the end of the 90s, the tides slowly turned. It was the 3D hardware which then took the lead.

Know any games that use Direct3D in software mode? AFAIK non-accelerated D3D rendering isn't used in software mode. With some games, DirectDraw might be used in conjunction to accelerate the 2D aspects of the game.

Last edited by eddman on 2023-01-24, 12:52. Edited 3 times in total.

Reply 21 of 36, by BEEN_Nath_58

User metadata
Rank Oldbie
Rank
Oldbie
eddman wrote on 2023-01-24, 09:02:
VMware supports D3D8/9 hardware acceleration if the guest OS is Windows 2000 and higher. (EDIT: the minimum might be XP in newer […]
Show full quote
Retroview wrote on 2023-01-23, 21:18:

Virtual machines are good solutions, too. Sadly they don’t work for 3D right?

VMware supports D3D8/9 hardware acceleration if the guest OS is Windows 2000 and higher. (EDIT: the minimum might be XP in newer versions)

D3D8 acceleration is rather poor and games usually suffer from lower performance and/or visual glitches. It can be somewhat remedied by using the d3d8to9 wrapper. D3D9 seems to be fine, however, I haven't tested it extensively either, so can't say for certain if it's trouble free.

I'm yet to test Virtualbox's 3D acceleration.

Jo22 wrote on 2023-01-24, 02:09:
Hi there! 3D acceleration isn't absolutely required for DirectX up to 6.1 or 7. Up to this level, the software renderer in Direc […]
Show full quote

Hi there! 3D acceleration isn't absolutely required for DirectX up to 6.1 or 7.
Up to this level, the software renderer in DirectX is fully capable of doing this all on its own.
Generally speaking, of course. Maybe there are exceptions.
What I mean to say is, that at the time, the software renderer was the reference, still.
3D hardware was still catching up with the Direct3D software renderer.
For a short time, MMX (introduced with later Pentiums) was able to assist DirectX, too. Or so it seemed.
Together with DirectDraw and a 2D accelerating graphics card, Direct3D did its magic*.
By the end of the 90s, the tides slowly turned. It was the 3D hardware which then took the lead.

Know any games that use Direct3D in software mode? AFAIK non-accelerated D3D rendering isn't used in software mode. With some games, DirectDraw might be used in conjunction to accelerate the 2D aspects of the game.

Vmware also has okayish directdraw/direct3d2-7 support. It's not as good as d3d9 but it works in various cases.

previously known as Discrete_BOB_058

Reply 22 of 36, by eddman

User metadata
Rank Newbie
Rank
Newbie
BEEN_Nath_58 wrote on 2023-01-24, 10:07:

Vmware also has okayish directdraw/direct3d2-7 support. It's not as good as d3d9 but it works in various cases.

Directdraw-only support is mostly fine. However, D3D7 and older have been terrible for me with the handful of games I've tested. The games either don't run, or launch but crash when I attempt to go in-game, or run at a severely low frame rate.

So far only Hitman 47 seems to be working, although I've played only a few minutes.

Reply 23 of 36, by Jo22

User metadata
Rank l33t++
Rank
l33t++
eddman wrote on 2023-01-24, 09:02:

Know any games that use Direct3D in software mode? AFAIK non-accelerated D3D rendering isn't used in software mode. With some games, DirectDraw might be used in conjunction to accelerate the 2D aspects of the game.

Beware, long answer ahead! 😁
Nearly all Direct3D games ran in software mode, originally. As I said before. Software rendering was the norm, not 3D acceleration. There weren't much good 3D cards, anyway.
The "Reference Rasterizer" in DirectX ran via CPU and had best image quality, too. It was the one which implemented all possible features of Direct3D.
Again, this was the mid-late 90s, another time. The 3D accelerators primarily helped people with weak CPUs. The poor ones who couldn't afford a Pentium Pro, MMX or Pentium II.. 😉
And before someone complains: No, the all-mighty 3dfx Voodoo was not a Direct3D accelerator. Not primarily, at least. It was its own thing.
Succesful, but something in its own reign. Like S3 Virge with S3D or the Nvidia NV1.. The Voodoo used Glide API and had a miniature OpenGL (MiniGL ).
By 2000, after DirectX 7 was released, the situation changed. The Software Renderer was nolonger sufficient, nolonger being updated.
Games now required a 3D card in most cases or they wouldn't run. Late games like Need for Speed II SE ran in software mode, still, for example.

Edit: Before another someone complains.. 😉 Yes, there were Direct3D 3D accelerators, as early as the mid-90s. Not all of them were bad.
However, it was a wild-wild west scenario, by today's standards. DirectX evolved so quickly and graphics drivers were hit-and-miss.
By comparison, the software renderer "just worked" (more or less). Windows NT 4 didn't have 3D acceleration, even.
It got DirectX 3a support somewhen in mid '99, with the release of SP6, afaik.
That being said, not all games required the latest DirectX/Direct 3D once a new DirectX runtime was out.
The DirectX 3 to 6 feature level was used for years. Especially in the indie scene.

Edit: I'm speaking under correction, of course. I was just a casual gamer, by comparison.
My world were 16-Bit consoles, desktop games from the Win 3.1 era and collecting "shovelware" CDs (shareware CDs). 😁
However, I was around at the time when these things were new. And I was an observer, so to say.
Always curious, I checked the local computer shops with the demo setup and did read the specs on the big boxes of games.
One of my fond memories is playing Motocross Madness on a high-end PC of the time. With those weird Microsoft controllers. ^^

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 24 of 36, by leileilol

User metadata
Rank l33t++
Rank
l33t++
Jo22 wrote on 2023-01-24, 02:09:

3D hardware was still catching up with the Direct3D software renderer.

No. 3d hardware had been planned years ahead of Direct3D. 3dfx Voodoo papers at least go back to 1994. A lot of common 3d techniques were set in stone with SGI.

Jo22 wrote on 2023-01-24, 18:08:

Nearly all Direct3D games ran in software mode, originally.

No they didn't. Only a few offer Direct3D's software mode and they're usually retained mode clunkers from 1997 (Lego Island, MSVRML, etc). Early Direct3D games that also had a software renderer were their own independently written software renderer (Hellbender, Jedi Knight, etc)

These games having software renderers of their own does not imply VirtualPC is any good for 3d acceleration.

apsosig.png
long live PCem

Reply 25 of 36, by BEEN_Nath_58

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2023-01-24, 18:08:

Nearly all Direct3D games ran in software mode, originally. As I said before. Software rendering was the norm, not 3D acceleration. There weren't much good 3D cards, anyway.
The "Reference Rasterizer" in DirectX ran via CPU and had best image quality, too. It was the one which implemented all possible features of Direct3D.
Again, this was the mid-late 90s, another time.

Only if there was no 3D acceleration available. It was available and known as HAL popularly then and was differentiated from software processing. Most games used DirectDraw in mid 90s. D3D got popular post-1997 afaik. In absence of DirectDraw hardware acceleration they used software acceleration but I don't remember calling it "Reference Rasterizer", I knew it as "HEL" (Hardware Emulation Layer) [avoid confusion with HAL]. The first time I heard about "Reference Rasterizer" was in DirectX7 which included a reference d3dref.dll file.

The Direct3D software emulation equivalent was Direct3D Ramp and RGB, which goes as old as in Shadows of the Empires.

previously known as Discrete_BOB_058

Reply 26 of 36, by eddman

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on 2023-01-24, 18:08:
Beware, long answer ahead! :D Nearly all Direct3D games ran in software mode, originally. As I said before. Software rendering […]
Show full quote

Beware, long answer ahead! 😁
Nearly all Direct3D games ran in software mode, originally. As I said before. Software rendering was the norm, not 3D acceleration. There weren't much good 3D cards, anyway.
The "Reference Rasterizer" in DirectX ran via CPU and had best image quality, too. It was the one which implemented all possible features of Direct3D.
Again, this was the mid-late 90s, another time. The 3D accelerators primarily helped people with weak CPUs. The poor ones who couldn't afford a Pentium Pro, MMX or Pentium II.. 😉
And before someone complains: No, the all-mighty 3dfx Voodoo was not a Direct3D accelerator. Not primarily, at least. It was its own thing.
Succesful, but something in its own reign. Like S3 Virge with S3D or the Nvidia NV1.. The Voodoo used Glide API and had a miniature OpenGL (MiniGL ).
By 2000, after DirectX 7 was released, the situation changed. The Software Renderer was nolonger sufficient, nolonger being updated.
Games now required a 3D card in most cases or they wouldn't run. Late games like Need for Speed II SE ran in software mode, still, for example.

Edit: Before another someone complains.. 😉 Yes, there were Direct3D 3D accelerators, as early as the mid-90s. Not all of them were bad.
However, it was a wild-wild west scenario, by today's standards. DirectX evolved so quickly and graphics drivers were hit-and-miss.
By comparison, the software renderer "just worked" (more or less). Windows NT 4 didn't have 3D acceleration, even.
It got DirectX 3a support somewhen in mid '99, with the release of SP6, afaik.
That being said, not all games required the latest DirectX/Direct 3D once a new DirectX runtime was out.
The DirectX 3 to 6 feature level was used for years. Especially in the indie scene.

I still don't get it. Games with Direct3D support that also have a separate software mode, do not even utilize any of the D3D dll files in that mode. You can delete all of them, IM, RM, Ref, etc. and software mode would still work.

Granted, I haven't tested enough old D3D games, that's why I asked for examples. It's quite interesting to check them out.

EDIT:

I've encountered an odd behavior with Zoo Tycoon, which isn't even a 3D game. It loads d3dim700.dll at launch, and would crash if it's not present. I have no idea why a non-3D game would load a file that has no 2D purpose (ddraw.dll is responsible for that stuff pre-D3D8), but I've come across explanations that some games utilize such files for things besides rendering.

P.S. I'm aware of the history of 3D on PC, 3dfx, non-MS APIs, etc.

leileilol wrote on 2023-01-24, 19:06:

Only a few offer Direct3D's software mode and they're usually retained mode clunkers ...

Now these I have to test. Do you know of any D3D immediate mode games that run in software?

Last edited by eddman on 2023-01-24, 20:57. Edited 2 times in total.

Reply 27 of 36, by BEEN_Nath_58

User metadata
Rank Oldbie
Rank
Oldbie
eddman wrote on 2023-01-24, 19:21:
I still don't get it. Games with Direct3D support that also have a separate software mode, do not even utilize the D3D dll files […]
Show full quote
Jo22 wrote on 2023-01-24, 18:08:
Beware, long answer ahead! :D Nearly all Direct3D games ran in software mode, originally. As I said before. Software rendering […]
Show full quote

Beware, long answer ahead! 😁
Nearly all Direct3D games ran in software mode, originally. As I said before. Software rendering was the norm, not 3D acceleration. There weren't much good 3D cards, anyway.
The "Reference Rasterizer" in DirectX ran via CPU and had best image quality, too. It was the one which implemented all possible features of Direct3D.
Again, this was the mid-late 90s, another time. The 3D accelerators primarily helped people with weak CPUs. The poor ones who couldn't afford a Pentium Pro, MMX or Pentium II.. 😉
And before someone complains: No, the all-mighty 3dfx Voodoo was not a Direct3D accelerator. Not primarily, at least. It was its own thing.
Succesful, but something in its own reign. Like S3 Virge with S3D or the Nvidia NV1.. The Voodoo used Glide API and had a miniature OpenGL (MiniGL ).
By 2000, after DirectX 7 was released, the situation changed. The Software Renderer was nolonger sufficient, nolonger being updated.
Games now required a 3D card in most cases or they wouldn't run. Late games like Need for Speed II SE ran in software mode, still, for example.

Edit: Before another someone complains.. 😉 Yes, there were Direct3D 3D accelerators, as early as the mid-90s. Not all of them were bad.
However, it was a wild-wild west scenario, by today's standards. DirectX evolved so quickly and graphics drivers were hit-and-miss.
By comparison, the software renderer "just worked" (more or less). Windows NT 4 didn't have 3D acceleration, even.
It got DirectX 3a support somewhen in mid '99, with the release of SP6, afaik.
That being said, not all games required the latest DirectX/Direct 3D once a new DirectX runtime was out.
The DirectX 3 to 6 feature level was used for years. Especially in the indie scene.

I still don't get it. Games with Direct3D support that also have a separate software mode, do not even utilize the D3D dll files in that mode. You can delete the files and software mode would still work.

If you delete the D3D dll files, the Direct3D path of the games does not even work; either the game throws an error at launch, complaining about the missing files, or the Direct3D option becomes disabled.

Granted, I haven't tested enough old D3D games, that's why I asked for examples. It's quite interesting to check them out.

EDIT:

I've encountered an odd behavior with Zoo Tycoon, which isn't even a 3D game. It loads d3dim700.dll at launch, and would crash if it's not present. I have no idea why a non-3D game would load a file that has no 2D purpose (ddraw.dll is responsible for that stuff pre-D3D8), but I've come across explanations that some games utilize such files for things besides rendering.

P.S. I'm aware of the history of 3D on PC, 3dfx, non-MS APIs, etc.

leileilol wrote on 2023-01-24, 19:06:

Only a few offer Direct3D's software mode and they're usually retained mode clunkers ...

Now these I have to test. Do you know of any D3D immediate mode games that run in software?

D3d immediate mode games in software? Frogger 1 has a no-3d mode that uses Ramp, Shadows of the Empire has RGB and Ramp devices too.

previously known as Discrete_BOB_058

Reply 28 of 36, by eddman

User metadata
Rank Newbie
Rank
Newbie

Thanks. Honestly didn't know there were software D3D games.

The thing is, I'd already checked Shadows of the Empire a while back and never saw any D3D software options. I tested it again just now. So the problem was, I was launching it with Sote.exe, and "Game Options" does not show the 3D Device option. I didn't know I had to use Shadows.exe for that.

I wonder with what other games I've missed their hidden options.

Reply 29 of 36, by Jo22

User metadata
Rank l33t++
Rank
l33t++
leileilol wrote on 2023-01-24, 19:06:
Jo22 wrote on 2023-01-24, 18:08:

Nearly all Direct3D games ran in software mode, originally.

No they didn't. Only a few offer Direct3D's software mode and they're usually retained mode clunkers from 1997 (Lego Island, MSVRML, etc).
Early Direct3D games that also had a software renderer were their own independently written software renderer (Hellbender, Jedi Knight, etc)

Um, Retained Mode was the *real* Direct3D to my understanding. 🤷‍♂️
It was the sophisticated one with a full concept of a scene, as far as I know.
That immediate mode was for devs who couldn't handle it (just kidding), thus implementing the 3D world in their own game/engine.
Sure, they may had trouble using software mode without extra code. That'd make sense.
D3D RM was capable of running via CPU all alone, if I'm not mistaken.

leileilol wrote on 2023-01-24, 19:06:

These games having software renderers of their own does not imply VirtualPC is any good for 3d acceleration.

I'm afraid you're slightly twisting my words here (or it's just a misunderstanding; no big deal either way).
What I meant to say: Virtual PC was good for Windows 9x, but I didn't mean to claim it was necessarily good at 3D acceleration.
(It had working 2D acceleration for all of its supported guest. Up to 16 MB of VRAM could be used by editing the VMC files.)
- It were PPC Macintosh versions 2+3 by Connectix which allowed using an existing Voodoo 1 or 2.
Connectix was that company who also got into gaming through the "Virtual Game Station"; a PlayStation player for PC/Mac. 😉
The Windows versions 2004/2007 of Virtual PC are another story. They're virtualizers, also.

However, they emulate a similar chipset than the predecessor:
S3 Trio series (previously S3 86C928), SB16 (previously SB Pro 1; buggy OPL),
Intel 440 series mainboard, PIIX4 IDE controller (Win9x can use DMA option),
DEC 21140 network card..

The development of Virtual PC dates back to the mid-/late 90s, before VMware or Virtual Box were around.
hose two don't even have "VM Guest Additions" (in VPC terminology) for DOS/DOS-based Windows.
VPC had a seamless mouse driver for Windows 3.1x, even.
And DOS drivers for shared folders, avoiding the need for network drivers.

The driving force behind their development is providing virtualization solutions for the business sector, Windows 9x is irrelevant to them.
It's rather all about Linux, Solaris, Windows NT, OS/2 etc. Virtual PC, by comparison, was more generic.
It also included private users in the past (VPC was sold in card board boxes). Later got OS/2 guest/host support.
The Macintosh versions had USB support, too, which wasn't really available on PC until Windows Virtual PC (a bad spin-off of VPC).

Using VMware/VBox for Windows 9x isn't optimal by any means, I think.
Windows 9x runs as good as if you would run it in safe-mode on an old PC, in my opinion.

The classic "VGA" emulation (in quotation marks, because it was synthetic, not based on a real card, anyway)
in VBox was removed due to security concerns just recently, thus breaking Windows XP 3D acceleration (WineD3D; another story).
That means that the existing communication channel between guest-host longer exists.
Not sure how things are at VMware, though.

Using PCem/86Box is an alternative, I would agree, since they both can emulate similarly authentic 90s hardware, like VPC did.
Even have the Voodoo option. However, they're very demanding. It's not their fault, of course, but they are.

Normal office PCs could handle Virtual PC 2004/2007 just fine.
You could easily use them to run Windows 9x and use your old software development tools,
AutoCad, Photoshop, astronomy software etc.

In PCem/86Box, the same task is much more of a pain.
You're degrading a 3GHz Pentium 4 to a Pentium 90, essentially.

Sure, some of you people with an AMD Ryzen JackTheRipper or Intel i12 processor out there may not be affected and may not mind. 😉
But on a more down-to-earth PC, say and AMD Athlon X2 or an Core2Duo, it's not much fun.
Unless 486DX emulation is good enough. For DOS/Win 3.1x, it certainly is an option.

I don't mean to be unfair, but compared to VPC 2004/2007 and before,
all the current alternatives aren't very Windows 9x friendly so far from what I can tell.

Maybe this changes somewhen in the future, once after VMware/VBox have guest additions for Windows 9x. 😂
Miracles are happening from time to time.

Maybe one of the VM developers of a major VM solution takes heart and does a bit of overtime?! 🙂♥️

Edit: Proofreading my own posts makes me slightly perplexed. 😕
I would have never thought that I would someday stand up for Windows 9x, in some way or another.
When Windows XP came out, I pretty much left the buggy Windows 98SE behind.
Hm. life is strange sometimes. 🙂

Edit: Some typos fixed. Edited. Reformatted.

BEEN_Nath_58 wrote on 2023-01-24, 19:14:

Only if there was no 3D acceleration available.

But wasn't this the norm ? 😕 -The normal people I knew in the 90s didn't even know what this was.
By "normal", I mean mortals. Those who weren't into video games, but normal computing - web browsing, word processing, failing at Linux..
They ran Windows 95/98 on beefed-up 486 PC era hardware, still. Generic hardware, not aimed torwards Windows/DirectX.
Some also had gotten a modern PC (with lots of MHz) from the super market/discounter, with some lame Trident TGUI/3DImage card installed.
Or they got an office PC (say, a Pentium MMX from late '96; still fresh in '97/'98) straight from a major PC shop, without any 3D accelerator card installed, without AGP slots.
And even if they had something moddest like an S3 ViRGE/DX or ATI MACH64/ATI Rage, it likely didn't go past DirectX 3 or 5 feature-level DDI.
The software side had to make up for the missing functionality in some way or another.

BEEN_Nath_58 wrote on 2023-01-24, 19:14:
It was available and known as HAL popularly then and was differentiated from software processing. Most games used DirectDraw in […]
Show full quote

It was available and known as HAL popularly then and was differentiated from software processing.
Most games used DirectDraw in mid 90s. D3D got popular post-1997 afaik. In absence of DirectDraw hardware acceleration
they used software acceleration but I don't remember calling it "Reference Rasterizer", I knew it as "HEL" (Hardware Emulation Layer) [avoid confusion with HAL].
The first time I heard about "Reference Rasterizer" was in DirectX7 which included a reference d3dref.dll file.

Pardon. It's been so long - I started "getting into" these things near the end of the 90s. 😅
At the time of which DirectX 6.x/Windows 98SE were around and DirectX 7 just around the corner.
It's well possible that I'm mixing some things up and am using terminology from DirectX 7.
The term HEL is more appropriate, I suppose. I remember it, too.

By the way, who coined the abbreviation for HAL?
Was HAL a reference to H-A-L 9000, by any chance? 😂

BEEN_Nath_58 wrote on 2023-01-24, 19:14:

The Direct3D software emulation equivalent was Direct3D Ramp and RGB, which goes as old as in Shadows of the Empires.

I believe I haven't heard of those since the DirectX 3 days (through older games that I played at the turn of the century). 😅

Edit: Formatting fixed (at home, on PC). Edited.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 30 of 36, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Update. Found something. These are the days of the Win 98/early DirectX era that I remember, more or less:

"1998 was the year in which work on the International Space Station began,
France won their own World Cup, the US President Clinton denies all,
and Europe agrees on having a single currency.

In music, Celine Dion remained at the top of the charts for a good number of weeks
with My Heart Will Go On, from the hit movie of the same year, Titanic,
and Seinfeld finally went off the air after 180 episodes.

But onto more important topics...

Base desktop models at the start of 1998 came with a Pentium MMX 200 MHz,
32 MB or 64 MB of SDRAM, a 4 GB hard disk, 24x CD-ROM drive and a 17" SVGA monitor.
Mid-range desktops got the new Pentium II running at 233 or 266 MHz, 6.4 GB of hard disk storage,
and a 32x CD-ROM drive. At the highest end you could get the fastest chip available - Pentium II 300 MHz.
These would come with 128 MB of SDRAM, a 19" SVGA monitor,
a video card that came with 8 MB of onboard video RAM, and a wavetable audio card."

Source: http://www.dosdays.co.uk/topics/1998.php

"Base desktop models"..
Yesteryears previous models were still being sold at the time, they didn't vanish into thin air suddenly. ☁️
That's why I said Pentium MMX 166 earlier. It might have been different from country to country, also.
International trade wasn't as quick as it is now. Some places were months behing, sometimes.

"Microsoft DirectX supports AMD MMX
[..]
Microsoft says that its new version of DirectX application programming interface will
support Advanced Micro Devices’ (AMD) extended MMX instructions and will be out in July,
giving AMD an important boost in establishing its new K6 3D microprocessor.
DirectX 6.0 will enter beta testing in May and will ship in July.
DirectX is used by thousands of software developers.
With built-in support for AMD’s extended MMX instructions,
it will help AMD gain new customers for the K6 3D, which is currently being sampled. "

https://www.electronicsweekly.com/news/archiv … md-mmx-1998-03/

There was a short weird time in which MMX (and AMD's 3Dnow!) competed with dedicated 3D hardware.
I once read an article in a German magazine which even optimistically predicted the end of accelerator cards business due to MMX.
MMX was seen as the future for all sort of things. For a blink of an eye. Modems, soundcards etc.
Everything that's requiring a DSP normaly (DSP stands for digital signal processor).
SIMD instructions like MMX could perform a set of complex calculations via CPU without requiring a GPU.
This is the complete opposite of today, in which the GPUs dominate the PC industry for about any number crunshing.
(SIMDs were also useful for optimizing drivers in general, of course. I don't mean to deny that.)

Edit: Speaking of drivers.. Strictly speaking, Windows 9x itself was a pile of drivers. The whole system was constructed of VXDs.
I mean, they were available in Windows 3.1x before in the form of *.386 files, but Windows 3.1x also used an reasonable amount of segmented 16-Bit code and 286 era *.DRV drivers, still.
It were Windows 95/98FE which went totally berzerk in terms of using VXDs. They were everywhere. Even in user applications of the time (used as DLLs).
WDM drivers as we know them, were introduced in Windows 98, but it was Windows 98SE that supported them in a sane manner.
Likewise, Windows 2k/XP adopted WDM, too, going away from the traditional *.SYS drivers used in Windows NT.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 31 of 36, by eddman

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on 2023-01-25, 04:45:

Um, Retained Mode was the *real* Direct3D to my understanding. 🤷‍♂️
It was the sophisticated one with a full concept of a scene, as far as I know.
That immediate mode was for devs who couldn't handle it (just kidding), thus implementing the 3D world in their own game/engine.

What does real mean in this context? The overwhelming majority of 3D games (even the early ones) didn't use RM. Apparently IM offered more control of the hardware, which is probably why game devs chose it over RM. It seems MS stopped updating RM after DX3.

Jo22 wrote on 2023-01-25, 04:45:

Sure, they may had trouble using software mode without extra code. That'd make sense.
D3D RM was capable of running via CPU all alone, if I'm not mistaken.

That's the thing. Apparently most 3D games didn't use any D3D components in their software mode at all, be it IM, RM, Ramp, etc. They do exist, as evident by the examples posted by BEEN_Nath_58, but they were not common.

Jo22 wrote on 2023-01-25, 04:45:
Using VMware/VBox for Windows 9x isn't optimal by any means, I think. Windows 9x runs as good as if you would run it in safe-mod […]
Show full quote

Using VMware/VBox for Windows 9x isn't optimal by any means, I think.
Windows 9x runs as good as if you would run it in safe-mode on an old PC, in my opinion.

Not sure how things are at VMware, though.

Maybe this changes somewhen in the future, once after VMware/VBox have guest additions for Windows 9x.

Yea, they are not as good as VPC. VMWare is a bit better than VBox though.
It does have drag-and-drop, Mouse and Video guest additions/drivers for Windows 9x; 2D (DirectDraw) acceleration works.
16-bit color is missing by default though and needs to be manually enabled in the config file, but then 32-bit gets disabled.
Still, there are other issues that prevent many games from working.
Dosbox-X is a much better solution if the aim is to play games with software rendering.

Jo22 wrote on 2023-01-25, 04:45:

In PCem/86Box, the same task is much more of a pain.
You're degrading a 3GHz Pentium 4 to a Pentium 90, essentially.

Sure, some of you people with an AMD Ryzen JackTheRipper or Intel i12 processor out there may not be affected and may not mind. 😉

You don't need such processors for PCem, as it doesn't utilize enough threads for such high core counts to matter.
I have a Ryzen 2600 and it emulates a Pentium 200 in most cases just fine. In some situations where the emu speed drops below 100%, I just drop the CPU to a 180 or 166 model.

Jo22 wrote on 2023-01-25, 04:45:

But on a more down-to-earth PC, say and AMD Athlon X2 or an Core2Duo, it's not much fun.

Why would you want to run it on 15-16 years old CPUs? Most people nowadays have much newer systems.

Jo22 wrote on 2023-01-25, 04:45:
But wasn't this the norm ? :confused: -The normal people I knew in the 90s didn't even know what this was. ... And even if they […]
Show full quote

But wasn't this the norm ? 😕 -The normal people I knew in the 90s didn't even know what this was.
...
And even if they had something moddest like an S3 ViRGE/DX or ATI MACH64/ATI Rage, it likely didn't go past DirectX 3 or 5 feature-level DDI.
The software side had to make up for the missing functionality in some way or another.

Well, yea, that's why many games had standalone software renderers that did not rely on 3D APIs.

Reply 32 of 36, by BEEN_Nath_58

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2023-01-25, 04:45:

Um, Retained Mode was the *real* Direct3D to my understanding. 🤷‍♂️
It was the sophisticated one with a full concept of a scene, as far as I know.
That immediate mode was for devs who couldn't handle it (just kidding), thus implementing the 3D world in their own game/engine.

Probably in Direct3D2/3 era, it was Retained Mode dominating (Lego Island? and more). As retained mode was stopped from updates past dx3, devs went to Immediate Mode (they learnt it better by then)

Jo22 wrote on 2023-01-25, 04:45:

D3D RM was capable of running via CPU all alone, if I'm not mistaken.

Yes it was.

Jo22 wrote on 2023-01-25, 04:45:
But wasn't this the norm ? :confused: -The normal people I knew in the 90s didn't even know what this was. By "normal", I mean m […]
Show full quote

But wasn't this the norm ? 😕 -The normal people I knew in the 90s didn't even know what this was.
By "normal", I mean mortals. Those who weren't into video games, but normal computing - web browsing, word processing, failing at Linux..
They ran Windows 95/98 on beefed-up 486 PC era hardware, still. Generic hardware, not aimed torwards Windows/DirectX.
Some also had gotten a modern PC (with lots of MHz) from the super market/discounter, with some lame Trident TGUI/3DImage card installed.
Or they got an office PC (say, a Pentium MMX from late '96; still fresh in '97/'98) straight from a major PC shop, without any 3D accelerator card installed, without AGP slots.
And even if they had something moddest like an S3 ViRGE/DX or ATI MACH64/ATI Rage, it likely didn't go past DirectX 3 or 5 feature-level DDI.
The software side had to make up for the missing functionality in some way or another.

Yes that's how it worked in mid-90s, before Voodoo made a big transition. It was HAL + a lot of HEL. Even the best graphics accelerators needed CPU to process in software

Jo22 wrote on 2023-01-25, 04:45:

I believe I haven't heard of those since the DirectX 3 days (through older games that I played at the turn of the century). 😅

Shadows of the Empire was DX5 in hardware accelerated mode, but I am not sure about software modes. It didn't matter much if the PC wasn't even capable of rendering things via CPU (on my modern system, it throws out a warning about missing features; I don't know if it notified me about things the game won't render is SW mode, or about things my PC can't do in software.

previously known as Discrete_BOB_058

Reply 33 of 36, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Okay, time for facts. Kids, please sit down and listen. :)

"Historical origins of Direct3D

Direct3D can be described as a graphics operating system, although it would be less pretentious,
and perhaps more accurate, to refer to it as a 3D graphics back end. Its core function is to provide
an interface with the graphics hardware, thus insulating the programmer from the complications
and perils of device-dependency. It also provides a set of services that enable you to implement
3D graphics on the PC. In this sense it is similar to other back ends, such as OpenGL and PHIGS.
But Direct3D is also a provider of low-level 3D services for Windows. In Microsoft's plan the low-
level components of Direct3D (immediate mode) serve and support its higher-level components
(retained mode) and those of other 3D engines (OpenGL).

In the beginning 3D was exclusively in the realm of the graphics workstation and the mainframe
computer. The standards were PHIGS (Programmer's Hierarchical Interactive Graphics Systems),
and GKS (Graphical Kernel System). During the 1980s it was generally accepted that the
processing power required to manipulate 3D images, with its associated textures, lighting, and
shadows, was not available on the PC. However, some British game developers thought differently
and created some very convincing 3D games that ran on a British Broadcasting Corporation (BBC)
micro equipped with a 2MHz 6502 processor. This work eventually led Servan Keondjian, Doug
Rabson, and Kate Seekings to the founding of a company named RenderMorphics and the
development of the Reality Lab rendering engine for 3D graphics. Their first 3D products were
presented at the SIGGRAPH '94 trade show.

In February 1995, Microsoft bought RenderMorphics and proceeded to integrate the Reality Lab
engine into their DirectX product. The result was called Direct3D. Direct3D has been one of the
components of DirectX since its first version, called DirectX 2. Other versions of the SDK, namely
DirectX 3, DirectX 5, DirectX 6, and currently, DirectX 7, also include Direct3D. The functionality of
Direct3D is available to applications running in Windows 95/98 and Windows NT 3.1 and later. The
full functionality of DirectX SDK is part of Windows 98 and will also be found in Windows NT 5.0
and Windows 2000. This means that applications running under Windows 98 and later will be able
to execute programs that use Direct3D without the loading of additional drivers or other support
software.
"

[..]

"Retained mode overview

Retained mode was designed as a set of API for the high-level manipulation of 3D objects and
managing 3D scenes. It is Microsoft's competition for OpenGL and other high-level 3D
development environments. It is implemented as a set of interrelated COM objects that enable you
to build and manipulate a 3D scene. Its intention was to make it easy to create 3D Windows
applications or to add 3D capabilities to existing ones. The programmer working in retained mode
can take advantage of its geometry engine, which contains advanced 3D capabilities, without
having to create object databases or be concerned with internal data structures. The application
uses a single call to load a predefined 3D object, usually stored in a file in .x format. The loaded
object can then be manipulated within the scene and rendered in real-time. All of this is done
without having to deal with the object's internals.

Retained mode is tightly coupled with DirectDraw, which serves as its rendering engine, and is
built on top of the immediate mode. OpenGL and other high-level systems exist at the same level
as retained mode. Figure 14-2 shows the elements of this interface."

[..]

"Immediate mode overview

Direct3D immediate mode is a layer of low-level 3D API. Its original intention was to facilitate the
porting of games and other high-precision and high-performance graphics applications to the
Windows operating system. It allows access to hard-ware features in the 3D chip and offers
software rendering when the function is not available in the hardware. The intention of immediate
mode is to enable applica-tions to communicate with the 3D hardware in a device-independent
manner and to provide maximum performance.

In contrast with retained mode, immediate mode does not contain a graphics engine. Code that
uses immediate mode must provide its own routines to implement object and scene management.
This means that the effective use of immediate mode requires considerable knowledge and skills
in 3D graphics."

[..]

"Hardware abstraction layer

In Figure 14-2 you see that both the Immediate and the Retained Modes of Direct3D are built on
top of the Hardware Abstraction Layer (HAL). It is this software layer that insulates the
programmer from the device-specific dependencies. The Hardware Emulation Layer (HEL)
provides support for those features that are not present in the hardware. The combination of HEL
and HAL ensure that the complete Direct3D functionality is always available."

[..]

"DirectDraw

DirectDraw, the subject of Part II of this book, is the Windows rendering engine for 2D and 3D
graphics. DirectDraw functions enable you to quickly compose images into front and back buffers,
and to apply transformations, blitting, and flipping. The result is a capability of implementing
smooth animation as required in computer games and other multimedia and high-performance
graphics applications. DirectDraw functions can be used with images that originate in the Windows
GDI, in Direct3D, or in OpenGL.

DirectDraw is implemented as an API layer that lies above the display hardware, as shown in
Figure 14-2. It enables the graphics programmer to take advantage of the capabilities of graphics
accelerators and coprocessors in a device-independent manner. DirectDraw is a COM-based
interface."

Source: DirectX 3D Graphics Programming Bible (2000)

Attachments

  • 142.gif
    Filename
    142.gif
    File size
    6.13 KiB
    Views
    142 views
    File comment
    Figure 14-2
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 34 of 36, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on Yesterday, 12:22:

The combination of HEL and HAL ensure that the complete Direct3D functionality is always available."

While this may be true in theory, practical results are quite different. For example, you cannot turn on EMBM in Drakan (and similar games) if your graphics card doesn't support that feature, even if HEL could theoretically render the effect. Same goes for paletted textures in Final Fantasy 8 on graphics cards which don't support that feature in hardware.

Maybe I'm misunderstanding what the author of the DirectX 3D Graphics Programming Bible is saying, but real-world testing using period correct hardware and software doesn't reflect that statement.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / OPTi 82C930 / AWE64 Gold / SC-155
PC#2: AthlonXP 1700+ / Abit KT7A / Voodoo3 / Audigy1 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy1
PC#4: i5-3550P / MSI Z77A-G43 / GTX 650Ti / X-Fi

Reply 35 of 36, by eddman

User metadata
Rank Newbie
Rank
Newbie
Jo22 wrote on Yesterday, 12:22:
The full functionality of DirectX SDK is part of Windows 98 and will also be found in Windows NT 5.0 and Windows 2000. This mea […]
Show full quote

The full functionality of DirectX SDK is part of Windows 98 and will also be found in Windows NT 5.0
and Windows 2000. This means that applications running under Windows 98 and later will be able
to execute programs that use Direct3D without the loading of additional drivers or other support
software.
"

Unless I'm reading it wrong, this is simply saying that since DX files are included with Windows itself, games don't have to include additional software to make it work. That's all.

Jo22 wrote on Yesterday, 12:22:

The Hardware Emulation Layer (HEL) provides support for those features that are not present in the hardware. The combination of HEL
and HAL ensure that the complete Direct3D functionality is always available."

I suppose it means to say that devs can code their games to use D3D features in software mode (HEL) if they wanted to, but seemingly not many did, evident by the games that fail to utilize certain features if they're not available in hardware. In other words, just because a game is coded to use D3D, doesn't necessarily mean it'd fallback to HEL if the hardware is missing features.

Reply 36 of 36, by willow

User metadata
Rank Member
Rank
Member

The problem with add accelerated effect in software mode, was cpu power. The arrival of 3d cards was due to the lack of power of cpu versus 3d cards like voodoo.
allow POD 3dfx mode (30 fps on pentium 90 with voodoo 1) in software mode, a cpu at maybe 1ghz would be needed. At the release of pod, the cpu the most powerfull was pentium 200 mhz.