Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
So, strange for me. Can it be OF 2.4 related, that i don't even get that far? What does System Info show if booted in safe mode? Does it even see both of the display connectors? In my case the (background booted) OS only sees one.

For the ROM: Are you sure, your card is ok? Did you test in Windows? As you get further than me at the moment, i also gave "your" ROM, v. 16, a shot. Didn't get any further than before. But i get a cristal clear image for the bootscreen without any artefacting or else. I migtht try it in the Sawtooth, to see if it works properly. You didn't get proper CI-support, right? And, if it works, we might concentrate on working with this to narrow things down.
I need to install Windows 7 to see if my card will work proper with my PCI-E to PCI bridge card, so I've not tested in Windows yet.

Only Windows 11 and nVidia doesn't have drivers for that for the GF6200, sadly.

I get CI support as long as I don't connect a display to an AGP CI supported card when I'm using the PCI card too. Seems to be a bug in OS X.

If you are going to use the ROM made for my card, try and copy over the SoftStraps from your ROM first. Check the ROM Maker thread for the tool.

I booted OS 9, set OF to output to the GeForce card, tho I'm not sure if that makes a difference as to why your's hangs at the Apple logo, yet mine does not.

/pci/@f/NVDA,Display-A

I can't disable my built-in video on the Beige do to what I suppose is a bug in OF 2.0f1 via the pci-probe-list command.

But I don't have a display connected to the built-in video after I set the output device to the GF card in OS 9. OS 9's doesn't see the CRT/VGA connected to the GF card, but XPF does.....
 
I get CI support as long as I don't connect a display to an AGP CI supported card when I'm using the PCI card too. Seems to be a bug in OS X.
Ok, i didn't try this scenario. The PCI card had allways been the only one with a display attached when trying CI functonality. But the 6800 had allways been installed.
If you are going to use the ROM made for my card, try and copy over the SoftStraps from your ROM first. Check the ROM Maker thread for the tool.
Is this neccessary, as long as the card works ok? And if so, can't it be easily done manually as described in the wiki?
I booted OS 9, set OF to output to the GeForce card, tho I'm not sure if that makes a difference as to why your's hangs at the Apple logo, yet mine does not.
I doubt, as (to my understanding) if not used as an output, the card would not get any signal at all. Also i can not even set it as an output in OS9, XPF, as it does not even appear in the pulldown for choosing the output. Even with SystemProfiler showing it with all of it's specs.
But I don't have a display connected to the built-in video after I set the output device to the GF card in OS 9. OS 9's doesn't see the CRT/VGA connected to the GF card, but XPF does.....
In my case no display beeing connected to never hindered the onboard from trying to output/ignoring installed PCI-cards. So as long as it isn't disabled, no PCI-card worked properly.
 
Last edited:
Great news! 🤩

I just trashed the G3's Kext.cache and Extensions.mkext and now i got the 6200 fully booting to 10.4.11 Tiger!

Here is, how it shows up.

beige_6200.jpg


CI as well as Quartz supported! Both display connectors recognized. Yes, i have seen the Dashboard-Ripple on a beige G3 now!

Seems, we are finally there!
 
Last edited:
What ROM did you use?

Mine or your's?
This was with your's, v. 16. But i will also try 15 again, as i get artefacting and crashes, running 3D-benchmarks like OpenGL Extensions Viewer.

Also i think it will not work with a G3 processor, cause as far as i remember CI mandatory needs a G4 to run.
 
This was with your's, v. 16. But i will also try 15 again, as i get artefacting and crashes, running 3D-benchmarks like OpenGL Extensions Viewer.

Also i think it will not work with a G3 processor, cause as far as i remember CI mandatory needs a G4 to run.
Yes, I have a G4 from a Yikes set to 433Mhz just like you.
 
Great news! 🤩

I just trashed the G3's Kext.cache and Extensions.mkext and now i got the 6200 fully booting to 10.4.11 Tiger!

Here is, how it showes up.

View attachment 2058776

CI as well as Quartz supported! Both display connectors recognized. Yes, i have seen the Dashboard-Ripple on a beige G3 now!

Seems, we are finally there!
Got it!!!

Also had to remove the kernel cache from the /System/Library/Caches folder.

You did it @joevt, thanks for all your hard work!

View attachment 2058982

very awesome to see its working will very much have to test with my own hardware at some point :)

this is quite a monumental moment first time Core Image has been achieved on an Old world Mac!


@joevt now that things have been figured out, it would be interesting to know exactly what was it in the end that needed tweaking/fixing a summery of the fixes/patches needed would be interesting to read :)



@flyproductions in my brief testing with a G3 blue and white a few years ago, you can boot 10.4.11 with a GeForce 6200 with a G3 CPU, some 3D applications may fall over and die IIRC

but OS X itself should boot fine still IIRC!
 
  • Like
Reactions: Amethyst1
very awesome to see its working will very much have to test with my own hardware at some point :)

this is quite a monumental moment first time Core Image has been achieved on an Old world Mac!
Just in quick testing the patched FCode ROM still works with the G5 too.

I'll test with a QS and MDD too, when I have time, but we are going to need some sort of 'NDRV' for OS 9 on the Old World to display video.

I've got a few ideas on that, but who knows when I'll have time to work on them.

The 'Non-Existent Hardware' 'NDRV' from the Mac OS ROM for OS 9 may work if I package it as an OS 9 based 'NDRV' or the GF6600 has some code for 'driver,AAPL,MacOS,PowerPC' so I'll look at that too and see if there is enough there.

Otherwise I'll have to figure why the 'Nvidia Driver' 'NDRV' doesn't load for cards newer than the GeForce 4. It really should load for any 'NVDA,NVMac' property it finds, but maybe it tries and goes to abort.
 
If anyone wants to donate a Geforce 6200 PCI to the pot chances are with a little help from @joevt and others we maybe able to get the card to work to output video under OS X.
So it didn't even need a donation. But in the end it was much more than "a little" help. Just genius! ...and more than even Arti was able to get out of a later Geforce in the Beige. In all, reminded me alot to the "good old days" at the Strangedogs-forum. And with great results!

So once again big thanks to @joevt!

Meanwhile i flashed my card back to ROM version 15, which was based on my card's fCode ROM. And now even 3D benchmarks run fine. Seems like even the small things matter and there are more differences between my card and the one of DearthnVader than a quick look on the PCB makes believe.

So now i had the chance to make a direct 1:1 comparisn to the Radeon 9000pro. I had to use version 3.11 of OpenGL Extensions Viewer as 3.0 refuses to run fullscreen on the G3 and all the later versions crashed with the Radeon when trying anything higher than OpenGL 1.5.

Results are somehow as expected, but even a bit more "dramatic".

Radeon 9000pro

Radeon 9000pro.png


Geforce 6200


Geforce 6200.png


As expected, the Radeon is faster in all the older versions of OpenGL due to it's 128bit memory bus vs. 64bit for the Geforce. Anyway i didn't really expect it to be nearly twice(!) as fast. On the other hand it fails for 2.0 and 2.1, which is very nice to see finally running on an Old World Mac! Also it is nice to have just four times the amount of video ram of the 9000 and still double of the 9200 in a Beige G3. So history has been made anyway!

😉
 
Last edited:
The 'Non-Existent Hardware' 'NDRV' from the Mac OS ROM for OS 9 may work if I package it as an OS 9 based 'NDRV' or the GF6600 has some code for 'driver,AAPL,MacOS,PowerPC' so I'll look at that too and see if there is enough there.

Otherwise I'll have to figure why the 'Nvidia Driver' 'NDRV' doesn't load for cards newer than the GeForce 4. It really should load for any 'NVDA,NVMac' property it finds, but maybe it tries and goes to abort.
I just tried OS9 with XPF. As the GF now showed up as a selectable output device, i was optimistic. But it didn't work. No video. So i rebooted after pram reset with onboard...just to see (again) the 6200 perfectly recognized by system profiler and this time even "seen" by XPF.

But, as this screenshot proves,...

6600_os9.jpg


...even with the card not properly recognized, in a New World Mac like the Sawtooth a 6600GT could run OS 9 fine. And i seem to remember, a 6200 could too. Not 2.560 x 1.600 of course!
 
  • Like
Reactions: Amethyst1
So here comes the - GF 6200 typical "not so realistic" - OpenMark result too.

OpenMark result.jpg


Its significantly lower than for the AGP cards, which mostely reach over 6000 with the the usual clocks.

But as it is of no real value anyway, i mostly did it to see how hot the card gets over time. And at the end of the test, temperature still was sub 65 celsius. So everything ok temperature-wise too. No active cooling needed, i'd say.

Could play around with this all day now. So nice to see it finally working!
 
  • Like
Reactions: LightBulbFun
@joevt now that things have been figured out, it would be interesting to know exactly what was it in the end that needed tweaking/fixing a summery of the fixes/patches needed would be interesting to read :)
You can read about the changes in #386 (updated). That post also tells you what to compare to see each change.

I am working on Open Firmware 1.0.5 fixes today.
 
I am working on Open Firmware 1.0.5 fixes today.
The attached should work for all versions of Open Firmware (tested with dingusppc for 1.0.5, 2.0f1, and 2.4)

As before, Test2/1ROMs/PNY_6200_PCI.rom is for @flyproductions and Test4/1ROMs/6200256.rom is for @DearthnVader

For 1.0.5, I used the roms created for 2.0f1/2.4 and added code grabbed from 2.4 to implement us which the 6200 rom uses for delays smaller than a millisecond. Note that for 1.0.5, the large 256 MB BAR can only be mapped successfully if the nvramrc is enabled and includes the bug fixes for the following fcodes:
0x89b map-range
0x8cb (map-in)
0x8c9 (allocate-addresses)
0x8cd probe-alloc
0x8c6 (alloc-mem-addr)
0x8cc (map-out)

I believe those bug fixes should come with the nvramrc scripts that Mac OS 9 or XPostFacto installs. The nvramrc script needs to be updated if you zap the pram.

The patches are documented in the PowerSurge.of file. Don't try to enter that into nvramrc even if you remove the comments since its too large - I have code in my version of XPostFacto to use unused space in nvram for larger scripts. For dingusppc, I removed the keyboard stuff and commented out the "Setup mac-address" patch and the "scsi-int" patch to make it fit in the normal nvram area. See "Notes/nvramrc for 7500 XPostFacto PowerSurge.txt". It includes the following to enable logging during nvramrc execution but these 6200 roms don't contain any logging (suitable for flashing). Seeing the ] probe-all message indicates that the nvramrc script completed to the end.
Code:
install-console
." [ probe-all" cr
probe-all
." ] probe-all" cr
banner

The nospace command in the BBEdit worksheet removes comments from the nvramrc file. But you shouldn't need to worry about nvramrc if the OS set it correctly.
 

Attachments

  • PowerSurge.of.zip
    8.6 KB · Views: 88
  • 6200 #17b.zip
    634.3 KB · Views: 82
Last edited:
The attached should work for all versions of Open Firmware (tested with dingusppc for 1.0.5, 2.0f1, and 2.4)

As before, Test2/1ROMs/PNY_6200_PCI.rom is for @flyproductions and Test4/1ROMs/6200256.rom is for @DearthnVader

For 1.0.5, I used the roms created for 2.0f1/2.4 and added code grabbed from 2.4 to implement us which the 6200 rom uses for delays smaller than a millisecond. Note that for 1.0.5, the large 256 MB BAR can only be mapped successfully if the nvramrc is enabled and includes the bug fixes for the following fcodes:
0x89b map-range
0x8cb (map-in)
0x8c9 (allocate-addresses)
0x8cd probe-alloc
0x8c6 (alloc-mem-addr)
0x8cc (map-out)

I believe those bug fixes should come with the nvramrc scripts that Mac OS 9 or XPostFacto installs. The nvramrc script needs to be updated if you zap the pram.

The patches are documented in the PowerSurge.of file. Don't try to enter that into nvramrc even if you remove the comments since its too large - I have code in my version of XPostFacto to use unused space in nvram for larger scripts. For dingusppc, I removed the keyboard stuff and commented out the "Setup mac-address" patch and the "scsi-int" patch to make it fit in the normal nvram area. See "Notes/nvramrc for 7500 XPostFacto PowerSurge.txt". It includes the following to enable logging during nvramrc execution but these 6200 roms don't contain any logging (suitable for flashing). Seeing the ] probe-all message indicates that the nvramrc script completed to the end.
Code:
install-console
." [ probe-all" cr
probe-all
." ] probe-all" cr
banner

The nospace command in the BBEdit worksheet removes comments from the nvramrc file. But you shouldn't need to worry about nvramrc if the OS set it correctly.[/code]
Oooh I have a 9600 so I look forward to giving this a test when I can unearth it alongside my G3 beige :) (hopefully sometime after the weekend!)
 
Last edited:
The attached should work for all versions of Open Firmware (tested with dingusppc for 1.0.5, 2.0f1, and 2.4)

As before, Test2/1ROMs/PNY_6200_PCI.rom is for @flyproductions and Test4/1ROMs/6200256.rom is for @DearthnVader

For 1.0.5, I used the roms created for 2.0f1/2.4 and added code grabbed from 2.4 to implement us which the 6200 rom uses for delays smaller than a millisecond. Note that for 1.0.5, the large 256 MB BAR can only be mapped successfully if the nvramrc is enabled and includes the bug fixes for the following fcodes:
0x89b map-range
0x8cb (map-in)
0x8c9 (allocate-addresses)
0x8cd probe-alloc
0x8c6 (alloc-mem-addr)
0x8cc (map-out)

I believe those bug fixes should come with the nvramrc scripts that Mac OS 9 or XPostFacto installs. The nvramrc script needs to be updated if you zap the pram.

The patches are documented in the PowerSurge.of file. Don't try to enter that into nvramrc even if you remove the comments since its too large - I have code in my version of XPostFacto to use unused space in nvram for larger scripts. For dingusppc, I removed the keyboard stuff and commented out the "Setup mac-address" patch and the "scsi-int" patch to make it fit in the normal nvram area. See "Notes/nvramrc for 7500 XPostFacto PowerSurge.txt". It includes the following to enable logging during nvramrc execution but these 6200 roms don't contain any logging (suitable for flashing). Seeing the ] probe-all message indicates that the nvramrc script completed to the end.
Code:
install-console
." [ probe-all" cr
probe-all
." ] probe-all" cr
banner

The nospace command in the BBEdit worksheet removes comments from the nvramrc file. But you shouldn't need to worry about nvramrc if the OS set it correctly.[/code]
Thanks Joe, you've gone above and beyond on this for everyone!

Sadly I sold my 9600 so I can't test these right now.

I'd be interested in how you implemented :us; as it also has issues with Openbios.

I'll PM you with some other thoughts.
 
  • Like
Reactions: LightBulbFun
Sadly I sold my 9600 so I can't test these right now.
Same here! I sadly own no other Old World Mac with PCI, just the beige G3. So i can only test OF 3.0 and 2.4 functionality. Sure i could flash this ROM to see, if it still works in my machines. But this wouldn't help much for 1.0.5.
 
I'd be interested in how you implemented :us; as it also has issues with Openbios.
:us is implemented exactly how it is on Open Firmware 2.4. It's identical to :ms but the results differ by a factor of 1000. There's some patching required to make it exactly the same (without putting a defer in the functions). The 0 in _get-usecs-601 and _get-usecs-60x are replaced with calls to rtc@ and tb@ respectively. colon_definition_function_e0b is used by 6200 rom to $find " us". It aborted when it did not exist. Now, if it doesn't exist, it tries to find all the functions to make its own us. If they don't all exist then it still aborts.

This is a very Apple Open Firmware specific implementation. Open BIOS would probably do it in C code?

Code:
	tokenizer[ f20 next-fcode ]tokenizer
	
\ \	external

	0 value _tbusecs
	defer _get-usecs
	defer _rtc@
	defer _tb@
	defer _blpatch
	defer _pvr@
	defer _@startvec

	: _get-usecs-601 0 d# 1000000 * swap d# 1000 / + ; \ _rtc@
	: _get-usecs-60x 0 _tbusecs um/mod nip ; \ tb@
	: _us _get-usecs + begin _get-usecs over > until drop ;

	headerless

	tokenizer[ e0b next-fcode ]tokenizer

: colon_definition_function_e0b													\ (e0b)				[0b5 0b7]
	$find																		\					[0cb]
	invert																		\					[026]
	if																			\ (0x5)				[014]
		" rtc@"      $find if to _rtc@
		" tb@"       $find if to _tb@
		" blpatch"   $find if to _blpatch
		" pvr@"      $find if to _pvr@
		" @startvec" $find if to _@startvec
	
			['] _get-usecs-601 8 + ['] _rtc@ behavior _blpatch
			['] _get-usecs-60x 8 + ['] _tb@  behavior _blpatch
			_pvr@ 10 >> 1 = if
				['] _get-usecs-601
			else
				_@startvec 9c + @ d# 1000000 / to _tbusecs
				['] _get-usecs-60x
			then
			to _get-usecs
			['] _us
			exit

		else 2drop then
		else 2drop then
		else 2drop then
		else 2drop then
		else 2drop then

\ \		" :e0b" myabort
		abort																	\					[216]
	then																		\					[0b2]
	;																			\					[0c2]

Same here! I sadly own no other Old World Mac with PCI, just the beige G3. So i can only test OF 3.0 and 2.4 functionality. Sure i could flash this ROM to see, if it still works in my machines. But this wouldn't help much for 1.0.5.
OF 2.4 and 3.0 tests would be appreciated.
 
I replaced #17 with #17b since I forgot to set the rom size of test2 to 64K.
 
Managed to get my hands on a BFG 6200 PCI.

Got around to installing 10.4.11 today - on my PowerTower Pro with a NewerTech G3 card. Should be similiar to a Powermac 9500, and OF 1.05.

I don't get any video in OS9 from the 6200, but profiler shows it.
In OSX it boots partially, I get heavy artifacted screen, then it ends up freezing - I think..

Tried swapping the order of cards (Radeon 9200, and BFG 6200), and also removing the radeon and booting just with the 6200.

Tried both roms, and trashed Extensions.cache, and kernel cache.
I did a look around inside the the caches and extensions folders, but didn't find Kext.cache and Extensions.mkext ?

And I didn't quite follow, was I supposed to load the powersurge.of file in xpostfacto?

Or maybe I should modify the rom using themacelite guide to get the correct softstraps?
I did backup the original rom just before flashing. A quick look, the device ID is the same.

edit: sorry I am rambling, tired, and a bit of a noob with this, or rusty/crusty, take your pick ;-)

IMG_6006.jpg
IMG_6007.jpg
 

Attachments

  • BFG6200.ROM.zip
    42 KB · Views: 64
Last edited:
Managed to get my hands on a BFG 6200 PCI.
Is it for sure a 256 MB nvram card?

Got around to installing 10.4.11 today - on my PowerTower Pro with a NewerTech G3 card. Should be similiar to a Powermac 9500, and OF 1.05.
Get a Mac ROM dump so I can compare. #88

I don't get any video in OS9 from the 6200, but profiler shows it.
In OSX it boots partially, I get heavy artifacted screen, then it ends up freezing - I think..
Did you try any Open Firmware tests? The fill-rectangle thing. #191

And I didn't quite follow, was I supposed to load the powersurge.of file in xpostfacto?
If you have Open Firmware 1.0.5, then you're supposed to verify the contents of nvramrc to make sure it has all the map-in/map-out patches.

Or maybe I should modify the rom using themacelite guide to get the correct softstraps?
I did backup the original rom just before flashing. A quick look, the device ID is the same.
Probably. I don't have instructions for the process of transferring straps from PC BIOS rom to Mac FCode rom. Someone else here can explain?
 
  • Like
Reactions: domii
I don't get any video in OS9 from the 6200, but profiler shows it.
Same here. But to fix this, some edits to the OS9-Nvidia-drivers might have to be made. See #419 for suggestions to this topic.
In OSX it boots partially, I get heavy artifacted screen, then it ends up freezing - I think..

Tried swapping the order of cards (Radeon 9200, and BFG 6200), and also removing the radeon and booting just with the 6200.

Tried both roms, and trashed Extensions.cache, and kernel cache.
I did a look around inside the the caches and extensions folders, but didn't find Kext.cache and Extensions.mkext ?
All this can not fix this. As you have a diiferent card, in addition to the edits, which ar topic of this thread and had to be made to make the 6200 run in Old World Macs at all, the ROM needs to be patched to match your cards particular hardware (memory timings, clocks etc.). For my card, i did this following the guides offered in the old Wiki, especially the suggestion in "6/ appendix" "You can get better results if you edit every string after each occurence of D4 03 3C in Mac ROM according to PC ROM settings."

Another method would be to make use of the earlier mentioned "6200 ROM Maker". Might even be easier. But i have no personal experience with this.

But unless you do those patches according to the PC-ROM of your card, it will likely not work properly.

Or maybe I should modify the rom using themacelite guide to get the correct softstraps?
I did backup the original rom just before flashing. A quick look, the device ID is the same.
Yes! As mentioned above, this should be your way to go. But only the softstraps will not be sufficient. Nor at all will be the device-ID. it's in fact the same for all 6200s.
 
Last edited:
  • Like
Reactions: domii
One further quick note after "using" the Beige with the 6200 for a few days now:

- Dual displays works fine!
- If the Mac was turned off for some time, at the first attempt it allmost allways boots into a black screen. A second boot, either by holding the power button to hard shut down or rebooting via Screen Sharing when fully booted, usually brings it back to life.
 
Last edited:
  • Like
Reactions: Amethyst1
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.