VOGONS


First post, by ubertrout

User metadata
Rank Member
Rank
Member

I remember running a Matrox m3d years ago and always wanted to experience that again, but I got rid of that actual card pretty quickly. I'm now pleased to share a build of 86box which runs PowerSGL games pretty much perfectly: https://github.com/z2k-retro/86Box/releases/tag/pcx-v0.1

It emulates the card itself rather than wrapping the API. I know there are other projects to do that and this is meant as a seperate thing. The emulated m3D sits in an 86Box Windows 95/98 machine as a second card beside the 2D card, just like the real thing, and runs the real Matrox drivers. That means PowerSGL games, Direct3D games through the m3D’s driver, and the PowerVR ports of Quake and Quake II all work the same way they did in 1997.

Here's results comparing frames dumped from this build of 86box against the same frames rendered on the real card:

  • SGL demos (SGLTri, logo): exact
  • Moto Racer demo: 0–13 pixels
  • Shadows of the Empire: 0–5 pixels
  • Ultim@te Race: exact, including fog and mip-mapping
  • Quake (PowerVR) timedemo: exact
  • Quake II (PowerVR): 1 pixel
  • Unreal: 0–2 pixels
  • MDK: exact

Tomb Raider, Hexen II and Terracide also look right but I haven't done dumps yet.

Some quirks are the card’s own, and the emulation reproduces them. For example, Shadows of the Empire has issues but those same issues reproduce on the m3d on the dumped frames. That said, there's clearly still work to do.

The tools, renderer and a full technical reference are here: https://github.com/z2k-retro/powervr-pcx2-tools

That includes:

On speed: on a Core Ultra 7 270K, games are smooth, including Quake II. On my older i7-3960X which I used for most of the testing (due to the working PCI slot wired directly to the southbridge) speed is a problem and it's often more of a somewhat playable slideshow. The renderer runs on its own threads, so the main limit is 86Box’s CPU emulation, the same as with a Voodoo. I used a 450 Mhz Pentium 2 as my emulation choice since that's what the card would have actually thrived with. Unlike with a Voodoo the PowerVR cards needed a fast CPU, something which was somewhat contrary to their attempt to be a cheaper option in market segmentation.

This specifically emulates the Matrox m3d - other drivers may work but I wouldn't try. MechWarrior 2 still needs testing with the Windows 95 version. Generally speaking most of what I throw at it runs fine but this isn't a finished product yet.

In the interest of full disclosure: I wrote this with substantial help from Claude Opus 5.5 Medium. I did the hardware, the testing and the direction, and every result above was checked against the real card. The README says the same.

If you can:

Try games and report anything that looks wrong, with a screenshot and the 86Box log, on the tools repo’s issues page.
If you have an m3D or an Apocalypse 3Dx/5D, the tools can compare frames on your card in a few minutes. A second card, or a PCX1, would be especially useful.
If you have PATCH309.EXE, VideoLogic’s 1998 “Shadows of the Empire support” patch, I’d love to see what it changes.

I’ll keep updating the release as more games are checked.

Reply 1 of 4, by ubertrout

User metadata
Rank Member
Rank
Member

Checked a few more games: Mechwarrior 2 works perfectly, as does Moon Racer (a early demonstration of the card's ability to do colored lighting) and everything else I've tried this far. Only exception so far is POD, which crashes before loading into mission. Probably just need to use a different version of the game. Everything is checked by dumping frames during gameplay emulation and having the real m3d re-render the frames and then comparing.

Reply 2 of 4, by starlord

User metadata
Rank Newbie
Rank
Newbie

That looks great.

Speaking of Matrox, do you plan to add also impression plus support?

Reply 3 of 4, by ubertrout

User metadata
Rank Member
Rank
Member

I'm only planning on working on hardware I physically own and I don't _think_ I own one of those. If I can find a PCI one and documentation exists then I'm open to it.

This was honestly partially unlocked by just how much Impression/Videologic publicly released, including the driver source code and SDK. Combined with probing the card over PCI the rest was just detail. And of course AI filling in so many of the gaps. This wouldn't have been possible at all last year.

Reply 4 of 4, by ubertrout

User metadata
Rank Member
Rank
Member

Pushed out a couple of new releases and this is stable and fully usable without any obvious gaps in testing/compatibility. If you have a PowerSGL / PowerVR 1 game it should run in this as if you had a real card.

Current release: https://github.com/z2k-retro/86Box/releases/tag/pcx-v0.2.1

Games/Demos Tested

  • SGLTri (SDK demo)
  • SGL logo demo
  • PowerVR tech demo: mask and sphere
  • PowerVR tech demo: Stained Glass
  • X demo (non-interactive)
  • Winter Race 3D demo
  • MoonRacer
  • PureVex
  • MechWarrior 2 (PowerVR patch)
  • Flight Unlimited (Compaq OEM)
  • POD
  • World Cup 98
  • Tomb Raider demo
  • Sub Culture
  • Wipeout XL
  • GLQuake
  • Quake II
  • Moto Racer demo
  • Shadows of the Empire
  • Ultim@te Race
  • Unreal
  • MDK
  • Forsaken (demo)
  • Hexen II: Continents of Blackmarsh
  • Terracide Demo