Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

DearthnVader

Suspended
Original poster
Dec 17, 2015
2,207
6,392
Red Springs, NC
This is going to end up being one of those long thread sagas, hopefully.

Been looking at PPC emulation in DingusPPC and thinking about ways to add 3D acceleration to the emulator. So I wanted to dig out my oldest Mac hardware that could do OpenGL and RAVE and run some tests and experiments.

I have a Rev B. iMac with the PCI Rage Pro and 6MB VRAM and my trusty Beige G3 Rev A with the Rage II+DVD PCI chip with 6MB VRAM. These chips are pin compatible, the Rage Pro has a faster GPU clock, faster VRAM speed, and an enhanced Triangle Setup Engine over the Rage II+.

In very limited testing so far, the Rage Pro is much faster in OpenGL in StarWars Eps. 1 Racers( one of the first OpenGL only games for the Mac ) Even tho the Beige G3 has far more RAM( 768MB ) a faster G4 CPU( 433Mhz ) more L2 cache and the same bus and RAM speed as the iMac, the iMac with it's 96MB of RAM 233Mhz G3 CPU and Rage Pro PCI is night and day faster in game play. Frames are dropping like mad on the Rage II+ and the image quality you see on the screen looks like a software render vs the iMac.

Gameplay on the iMac is smooth and does not appear to be dropping frames, the controls respond instantly and the game is not sluggish due to dropped frames like it is on the Beige.

Eps. 1 Racer has no SW render mode, the game will only run in OpenGL, but it has no builtin benchmark or console that I know of so it's all the eye test, but it's very clear the Rage II+ fails the eye test, the game is playable, but you will notice it dropping frame and the racer not responding to the controls right away as it skips.

Oddly the old benchmarking tool ThroughPut that measures RAM to VRAM moves at 32bit CPU, 64 Bit FPU, 128 bit Altivec, and 256 bit BusMaster measures exactly the same on the Beige and the iMac. So the bottleneck is not the systems, they can both move the same amount of data to VRAM at the same speed except Altivec on the lacking G3.

This game has no Altivec enhancements and I don't know of any games pre OS X that do?

So that would not be a matter, mind you the Rage Pro has almost double the memory bandwidth and the enhanced Triangle Setup Engine, so that is likely the difference.

In Rave on Tomb Raider 1 both systems seem to preform equally well and look about the same, with one small glitch in the menu system of text not showing up on the passport on the Rage II+ when it does on the Rage Pro.

Oddly the screenshots from SW E1 Racer look identical quality between the two systems, but the screen shots from the Beige G3 do NOT look like the image quality I see on the screen. I think there is a difference between what shows up in the framebuffer and what is actually rendered to the screen on the Rage II+.

Could be a bug in the drivers, or the game, or it could be a shortcut taken by ATI/Apple to make the Rage II+ be able to do OpenGL at all, as the Linux open source 3D drivers do not support the Rage II+ at all as the reason stated was it lacked the ( Enhanced ) Triangle Setup Engine.

I'm having an issue getting Quake III to run on either system, and that is a game with a console, and a builtin timedemo, and I likely know more about how to set this game up to benchmark and find bottlenecks on the Mac OS than anyone alive. So if I can get this game running I'll add more on OpenGL later.

As far a RAVE I'm going to test UT's RAVE mode as it has a builtin benchmark and I'll report back.
 
  • Like
Reactions: philgxxd
Regarding emulation:
1) Consider an emulator graphics controller. It would require an Open Firmware driver and a ndrv. For Open GL, maybe it could be a shared library in Mac OS 9 that translates calls to native host OpenGL? Not sure what to do about RAVE. Did anyone make a RAVE driver that works ontop of OpenGL?

2) Intel VTD virtualization? What does AppleVTD kext do? Can we make a kext to setup the PCI bus master memory mapping required to support bus master PCI cards? PCI cards that are not bus master can be made to work without Vt-d but I don't think there's any useful card that doesn't require bus master (to do DMA). 2D and 3D acceleration require bus master?
 
Regarding emulation:
1) Consider an emulator graphics controller. It would require an Open Firmware driver and a ndrv. For Open GL, maybe it could be a shared library in Mac OS 9 that translates calls to native host OpenGL? Not sure what to do about RAVE. Did anyone make a RAVE driver that works ontop of OpenGL?

2) Intel VTD virtualization? What does AppleVTD kext do? Can we make a kext to setup the PCI bus master memory mapping required to support bus master PCI cards? PCI cards that are not bus master can be made to work without Vt-d but I don't think there's any useful card that doesn't require bus master (to do DMA). 2D and 3D acceleration require bus master?
There is a set of drivers that translate Glide for Classic Mode to OpenGL on OS X.

I think it was this:https://sourceforge.net/projects/macglide/postdownload
 
I think we are going to have issues with PCI to PCI-E bridges and video cards in these old world Macs.

Just tried a flashed x1950XT and it works fine in the PCI slot of my G5 with this PCI to PCI-E bridge, it also boots to video in my QS G4 in the PCI slot.

I don't have in drives in my QS right now but I don't have any reason to believe it doesn't work just fine.

The Beige G3 boot chimes, but no video from this card or the built-in Rage II.

We can likely get them to work with G3 B&W and G4 Yikes machines, but Old World may end up being a lost cause.

I'm going to flash the 6600 with the Old World rom and see if it will work with the bridge.....
 
I think we are going to have issues with PCI to PCI-E bridges and video cards in these old world Macs.

Just tried a flashed x1950XT and it works fine in the PCI slot of my G5 with this PCI to PCI-E bridge, it also boots to video in my QS G4 in the PCI slot.

I don't have in drives in my QS right now but I don't have any reason to believe it doesn't work just fine.

The Beige G3 boot chimes, but no video from this card or the built-in Rage II.

We can likely get them to work with G3 B&W and G4 Yikes machines, but Old World may end up being a lost cause.

I'm going to flash the 6600 with the Old World rom and see if it will work with the bridge.....
Wrong thread? https://forums.macrumors.com/thread...ll-work-in-a-beige-power-macintosh-g3.2303689
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.