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.

domii

macrumors member
Jul 24, 2022
50
17
Grimsby, Ontario, Canada
Is it for sure a 256 MB nvram card?
Yes.
IMG_6001.jpg
IMG_6002.jpg


Get a Mac ROM dump so I can compare. #88
I couldn't find grabmem? But here is output from getrom and also copyrom (from Macintosh repository). Attached below.


Did you try any Open Firmware tests? The fill-rectangle thing. #191
Noob question. How do I get into open firmware on a old world mac? Command-option O F doesn't seem to do anything on boot.

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?
I'll work on modifying one of the roms tonight. http://themacelite.wikidot.com/nv-rom
 

Attachments

  • mac-clone-rom.zip
    3.2 MB · Views: 82

domii

macrumors member
Jul 24, 2022
50
17
Grimsby, Ontario, Canada
All this can not fix this. As you have a diiferent card, in addition to the edits, which ar topicof 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.
Ok, thanks. I haven't tried the rom maker yet either. It did start booting OSX and then artifacted, so it probably is related to the performance and timings table. I'll work on editing the rom shortly.
 

flyproductions

macrumors 65816
Jan 17, 2014
1,091
466
Looks a lot different from the PNYs we have!

I. e. has TSOP-memory instead of the PNY's BGA. And even the ROMs of DearthnVader's and mycard, which looked nearly identical, where not interchangeable. Worked fine on dektop etc. but threw artefacts and crashed the app, when trying to run benchmarks.

If you have a New World Machine to test, i could hand you another ROM i once made for some PNY card which also had TSOP-chips. But this one is (of course) not patched to work in Old World. Might be just an option to see, if you get better results.
 

DearthnVader

Suspended
Dec 17, 2015
2,207
6,392
Red Springs, NC
Hmmm, it absolutely should! Maybe you could reset PRAM and try again?
OF 1.0.x defaults to the tty for IO, you need to use XPF to set the output to your graphics card and input to kbd.

Use the 6200 ROM Maker to build a FCODE ROM from your PC VBIOS, then upload it here so maybe Joe can make to mods needed for OF 1.0.x.

 
  • Like
Reactions: domii

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
I couldn't find grabmem? But here is output from getrom and also copyrom (from Macintosh repository). Attached below.
It's in the zip file attached to that post. Named GrabMemory. It's a Mac OS 9 app.
 

domii

macrumors member
Jul 24, 2022
50
17
Grimsby, Ontario, Canada
OF 1.0.x defaults to the tty for IO, you need to use XPF to set the output to your graphics card and input to kbd.

Use the 6200 ROM Maker to build a FCODE ROM from your PC VBIOS, then upload it here so maybe Joe can make to mods needed for OF 1.0.x.
Oh, didn't know that. I used xpostfacto to switch those and now I can get into OF on the PowerTower Pro on boot.
Thanks!

I uploaded the converted rom using Arti's script, picked standard 6200 script not the one with the temp sensor disabled. - if @joevt can modify it? Please! Otherwise I will take a stab at modifying one of the pny roms tonight.
 

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
Also attaching the bfg mac rom conversion using Arti's 6200 Rom maker.
Try Test5/1ROMs/rommakerbfg.rom.

It doesn't run in my dingusppc emulation. Maybe it's more different than the other 2 roms. I did notice that the NVDA,BMP was shorter by a few hundred bytes.
 

Attachments

  • 6200 #18.zip
    310.3 KB · Views: 78

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
Can you state exactly which model of PowerTower Pro you this is from?
The rom doesn't look normal. Do you have a serial port connection to get Open Firmware info?
Code:
printenv
devalias
dev / ls
dump-device-tree

GrabMemory might have grabbed some ram. Was it ran in Mac OS 9? Not Classic? But at least half of the grabbed stuff matches the rom2 file. Might be better to grab the rom from Open Firmware if you have a serial connection.
 

domii

macrumors member
Jul 24, 2022
50
17
Grimsby, Ontario, Canada
The rom doesn't look normal. Do you have a serial port connection to get Open Firmware info?
Code:
printenv
devalias
dev / ls
dump-device-tree

GrabMemory might have grabbed some ram. Was it ran in Mac OS 9? Not Classic? But at least half of the grabbed stuff matches the rom2 file. Might be better to grab the rom from Open Firmware if you have a serial connection.
I don't have serial connection setup, I'll have to look at the thread to see what is needed? The PowerTower/PowerCentre do have 2 serial ports each, but I don't have any cables.

I flashed the card, now when booting I do get a clear apple logo, but when the video switches I just have a blue screen. Doesn't seem to matter if the primary is the 6200 or the ATI. I tried with just the 6200 as well.

IMG_6009.jpg
IMG_6011.jpg
IMG_6013.jpg
IMG_6014.jpg


In OF I just did a device list, display is a bit more skewed when I set it to the 6200 as the output device in xpostfacto.

I can try the GetMemory again later.
 
Last edited:

domii

macrumors member
Jul 24, 2022
50
17
Grimsby, Ontario, Canada
The rom doesn't look normal. Do you have a serial port connection to get Open Firmware info?
Code:
printenv
devalias
dev / ls
dump-device-tree

GrabMemory might have grabbed some ram. Was it ran in Mac OS 9? Not Classic? But at least half of the grabbed stuff matches the rom2 file. Might be better to grab the rom from Open Firmware if you have a serial connection.
Can I do it over ethernet? e.g. telnet to the mac's ip address?

edit: Found a 6ft mac serial cable on Amazon - next day for $14.
 
Last edited:

flyproductions

macrumors 65816
Jan 17, 2014
1,091
466
but when the video switches I just have a blue screen. Doesn't seem to matter if the primary is the 6200 or the ATI. I tried with just the 6200 as well.
Same that we had. Did you try deleting the kext.cache and if present extensions.mkext in System/Library/? This solved the hang at bootscreen for me.
 

domii

macrumors member
Jul 24, 2022
50
17
Grimsby, Ontario, Canada
Same that we had. Did you try deleting the kext.cache and if present extensions.mkext in System/Library/? This solved the hang at bootscreen for me.
Ok, tried some things. With the 6200 in top slot without the ATI.
It boots quicker. And went further to the crash screen.
So held down shift and was able to boot to Safe Mode..

Enabled show hidden files in terminal, tried deleting extensions.mkext and extensions.kextcache. Did not find kext.cache

But still when I reboot the screen goes black or with some artifacts. Do I need updated nvidia drivers for 10.4.11 or are the ones included working for all?

IMG_6015.jpg
IMG_6018.jpg
IMG_6019.jpg
IMG_6020.jpg
 

flyproductions

macrumors 65816
Jan 17, 2014
1,091
466
Enabled show hidden files in terminal, tried deleting extensions.mkext and extensions.kextcache. Did not find kext.cache
You deleted the right files. Sorry for mistyping. DearthnVader also had to delete the kernel cache. Don't know exactly where this is located, but i think in System/Library/Caches/.

But, if you still have no proper clear image, even with a safe boot, there is still something wrong with your fCode ROM. Maybe some manual patches according to Wiki are still necessary (given, the card is not faulty).
 

domii

macrumors member
Jul 24, 2022
50
17
Grimsby, Ontario, Canada
You deleted the right files. Sorry for mistyping. DearthnVader also had to delete the kernel cache. Don't know exactly where this is located, but i think in System/Library/Caches/.

But, if you still have no proper clear image, even with a safe boot, there is still something wrong with your fCode ROM. Maybe some manual patches according to Wiki are still necessary (given, the card is not faulty).
I'm looking at the rom, going to lower the gpu clock and memory speed and see if anything improves. The initial boot settings work, just when the driver kicks it gets scrambled. Worth a test..

Screen Shot 2022-09-16 at 9.21.05 PM.png
 

domii

macrumors member
Jul 24, 2022
50
17
Grimsby, Ontario, Canada
Bingo!

I set the gpu to 200mhz, and the memory to 400, and it booted without any issues into OSX!

Did some googling, Model is bfgr62256ocp, 350MHz gpu, 410MHz effective memory and 400MHz RAMDAC..
But the original rom I backed up was set to 510MHz. Wondering if someone overclocked it before. Must be.

Anyways, I changed the clock back to 350 and memory to 205 (410MHz), and it booted perfectly.

1996 Mac clone with PCI video, running core image in OSX.. crazy!
Am sure the benchmarks will be dreadful, I'll do those in a few days.

Thanks & dankeschön, @joevt @flyproductions @DearthnVader

I had half gutted that Mac to eliminate as many issues. Now back to trying to get a 1+ghz G4 in it, and 1GB memory..
eventually : )

IMG_6021.jpg
 
Last edited:
  • Like
Reactions: LightBulbFun

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
I'm looking at the rom, going to lower the gpu clock and memory speed and see if anything improves. The initial boot settings work, just when the driver kicks it gets scrambled. Worth a test..
I don't understand the steps. Maybe I would if I tried the apps.... but maybe you can explain it.

You're using a Windows app to modify the BIOS rom, then you use rom maker to transfer those settings to my fcode rom #18?

Can you post the final roms for compare?
 
  • Like
Reactions: domii

domii

macrumors member
Jul 24, 2022
50
17
Grimsby, Ontario, Canada
I don't understand the steps. Maybe I would if I tried the apps.... but maybe you can explain it.

You're using a Windows app to modify the BIOS rom, then you use rom maker to transfer those settings to my fcode rom #18?

Can you post the final roms for compare?
I was using Nibitor to check the original BFG rom, on http://themacelite.wikidot.com/nibitor they recommend using it to get the correct timings.

While I had it open, I noticed it did all sorts of stuff, and decided to open the mac rom to see if it could read it - and yes it does.
And it lets me change values - so much easier to use that to change the clock, memory values and verify the 7 sets of timings.. than hunting through the hext editor looking for hex value 4A D4

But I was worried it may corrupt the mac rom, so after changing the rom, I used Hex Fiend on my Mac to open both roms and do a compare.. to make sure and yes it only changed the two values. So I started poking about a bit more. I think in timings area one still needs to be careful not to mess up the 0115011212FC string.

Attaching the rom,

1) did nvflash -b backup of the bfgrom
2) used Arti's 6200 script on my powertower mac in 10.4 to build the mac rom
3) sent it to you and you made #18
4) opened it in nibitor in windows to change gpu clock and memory speed
5) verified it using hex fiend on my mac

but yes, I just hacked your #18 using a windows tool..

Screen Shot 2022-09-17 at 12.04.31 AM.png

Screen Shot 2022-09-17 at 12.04.44 AM.png
 

Attachments

  • test4.rom.zip
    30.7 KB · Views: 88
Last edited:
  • Like
Reactions: flyproductions

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
I was using Nibitor to check the original BFG rom, on http://themacelite.wikidot.com/nibitor they recommend using it to get the correct timings.

While I had it open, I noticed it did all sorts of stuff, and decided to open the mac rom to see if it could read it - and yes it does.
And it lets me change values - so much easier to use that to change the clock, memory values and verify the 7 sets of timings.. than hunting through the hext editor looking for hex value 4A D4

But I was worried it may corrupt the mac rom, so after changing the rom, I used Hex Fiend on my Mac to open both roms and do a compare.. to make sure and yes it only changed the two values. So I started poking about a bit more. I think in timings area one still needs to be careful not to mess up the 0115011212FC string.

Attaching the rom,

1) did nvflash -b backup of the bfgrom
2) used Arti's 6200 script on my powertower mac in 10.4 to build the mac rom
3) sent it to you and you made #18
4) opened it in nibitor in windows to change gpu clock and memory speed
5) verified it using hex fiend on my mac

but yes, I just hacked your #18 using a windows tool..
Looks like the Mac rom wasn't corrupted. Only that single byte was changed (FF -> CD) from the #18 version I sent. None of the fcode was changed. (0115011212FC are the following:
Code:
encode-bytes \ 0x0115
encode+        \ 0x0112
" "(...)".         \ 0x12, length 0xFC

However, that means that the fcode checksum was not updated.
#19 has the corrected fcode checksum.

I found some e-mails regarding the themacelite.wikidot.com and nibitor for the 5200. I don't think we ever got as far with that as with this 6200 rom. Thanks to Open Firmware 2.4 for having all the fcode names, and dingusppc for being able to use Open Firmware 2.4 and @flyproductions for getting the info and testing.

From: JL
Reply-To: JL
Date: Mon, 18 Jan 2010 16:04:56 +0000 (GMT)
To: joevt
Subject: Fw: ROM Tools...

Hi,

I'm looking to spend sometime debugging the nvidia FX5200 PCI Roms to work on oldworld 2.1/2.4 open firmware - it would be the icing on the cake after my work on getting Leopard running on oldworld macs:

I was just wondering if you have any experience of editing PPC nvidia mac roms and if so if you just used hexedit to change them, or detokenized them, and re-tokenized them after changes? If so could you point me in the directions of these tools?

Thanks very much,

JL.

============================

You won't understand anything by using just HexEdit. You need to look at the forth code. Do you have my detok, toke, and DumpPCIRom MPW Tools from Jan 25, 2007? You need to understand the forth code if there's a problem with the version of Open Firmware on the Mac you are running on and not with the graphics card timing. Does the card work in the latest Macs that have a PCI slot, such as a Power Mac G4? After getting the forth code from the card, you can modify it (such as adding debug statements to output to the serial port to follow how the code works and see how far it gets if it hangs).

The first thing you would need to do with the card is make sure it's Open Firmware driver loads in Open Firmware correctly so that you can initialize the screen, draw to it, and change the resolution in Open Firmware.

I haven't done any work on the NVIDIA ROMs myself. The people that post to http://strangedogs.proboards.com/ have done a lot of work on NVIDIA cards.

They have a download site of ROMs:

Notes on NV Roms:
The hex they show can probably be found in the forth code as a sequence of encode-bytes encode+ instructions which build an Open Firmware property called NVDA,BMP (or maybe it's one of the other properties) which is probably a copy of the data that would appear in a BIOS rom and which is used by the Open Firmware code. Note that the hex they show may contain forth tokens so it may help to use a hex editor to find their offset, then look for the offset in the forth code (detok has a show offsets option).
For example, the 01 15 01 12 12 FC string that they talk about are the Fcode tokens: encode-bytes, encode+, b(\")

Editing timing info on Nvidia Mac roms.

This is a PC app. Maybe it can work on a datafork file containing the bytes from the NVDA,BMP property.

There's a Softstrap Copier.app utility to copy softstrap info from PC BIOS rom to a Mac Open Firmware Rom.

You can see how the utilities modify the ROMs by viewing the forth code before and after the change and doing a text compare.

I tried creating an ATI Multi Flasher which would flash an NVIDIA FX 5500 card but I don't remember how far I got. I made the app but don't know if it was used successfully. You probably already have a flasher that will do the job anyway (such as the one included with Graphiccelerator.app or NVIDIAFirmwareUpdate 1.1


============================

Hi,

Thanks very much for taking the time to reply.

I've not got a copy of the detok, toke, and DumpPCIRom MPW tools... is this lurking on the old strangedogs board (if so I can't seem to find it) or would you be able to send via e-mail?

The 5200 PCI has been flashed and works on the NewWorld macs (B&W G3 upwards) - as a starting point I was thinking of comparing the successful load in newOF and seeing how far it got in oldOF and comparing the words/methods available in OF.

Thanks for the links - and suggestions - a great place to start.

JL.

============================

The tools are on the strangedogs website. I'm organizing my Open Firmware notes and stuff and then I'll put them on a website where you can download them. I should be done by Sunday.

Open Firmware probes a PCI card by doing stuff to the card's registers and creates properties that describe the address ranges (reg I think - it's all in the notes). Then it checks if the card has an Open Firmware rom and executes that. The Open Firmware rom can modify those reg properties so you will want to see what the properties are when the card does not have an Open Firmware rom on it (use the original PC BIOS rom) and compare that on both a Newworld and Oldworld Mac. Then compare that with the properties you see on both a Newworld and Oldworld Mac when using the Open Firmware rom.

Can you describe the problem you see when the card has an Open Firmware ROM on a Beige G3?

The Rom might be using new fcode tokens that don't exist on Old World Macs. My detokenizer might give you warnings for that.

The get-inherited-property method has a bug in Open Firmware 1.0.5 and so does map-in but you're using Open Firmware 2.0f1 I think. It's something to keep in mind if you decide to try to make it work in an older Mac like the Power Mac 8500/8600/9500/9600.

Old World Macs can't save name registry properties greater than 8 bytes in length in NVRAM. I've made an extension for Mac OS 9 (and patches to XPostFacto for Mac OS X) to work around that problem. This shouldn't be a problem since a card should work without that property existing in NVRAM. The property is used by the card's Open Firmware driver for setting up the startup resolution. It's also used by the Mac OS 9 or Mac OS X drivers but that's later in the boot process.

============================

Oops - I meant to say the tools are not on the strangedogs website.

My ISP only allows 22MB of files on their server so I placed them on one of my computers here that you can access using sftp.

In a Terminal window:

cd ~
sftp ______.com (password is _______)
cd Public
cd "Drop Box"
get OF.zip
quit


The OF.zip file (340 MB) contains a bunch of other zip files and a Read Me.rtf which you should read first. Tell me when you're done getting the file so I can remove the test account.

Let me know if you have any questions.

You should get the forth code from the rom using DumpPCIRom, tokenize that into a new rom using toke, then use DumpPCIRom on the new rom and compare the 4th code of the two roms to make sure the tools are faithfully detokenizing and tokenizing the rom.

============================

Hi Joe,

Thanks - have now got the OF.zip file

Will be posting on a few forums (applefritter and strangedogs) if I get anything sorted.

JL.
 

Attachments

  • 6200 #19.zip
    310.4 KB · Views: 90
  • Like
Reactions: flyproductions
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.