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.
Also a ISO9660 CD ROM should be readable on Old World OF.
Thanks, but i just found the Beige's floppy together with it's cable. So i'm ready to test.

Maybe i get better results, as in new world Macs the card works with this ROM. How long did you have to wait until the debugging stuff had finished?
 
Thanks, but i just found the Beige's floppy together with it's cable. So i'm ready to test.

Maybe i get better results, as in new world Macs the card works with this ROM. How long did you have to wait until the debugging stuff had finished?
Like 25 mins. if you output to screen with a G4 433Mhz and the built-in Rage II video, but I have the issue that the debug ROM effects booting of OS X.

It must overwrite something needed by XPF.......

Hopefully OF 2.5.x is less buggy than 2.0.x, but this is what a successful finish of Joe's V5 debug rom looks like:

IMG_0473.jpeg
 
Last edited:
  • Like
Reactions: flyproductions
Like 25 mins. if you output to screen with a G4 433Mhz and the built-in Rage II video,...
Thanks!

So i checked to find that the floppy must have died somewhere down the road. At least it shows no sign of life. But i burned the ROM to an ISO and hafe seen ISO files under packages in the Beige's OF. So it should be supported. Question left is, how it is accessed from OF to load the file.
 
devalias and find the alias to you cdrom drive.

Also you have to flash it back to PC.
Card is flashed back to PC and can be selected in OF

devalias shows...

Code:
0 > devalias
pci                 /pci@80000000
mac-io              /pci/mac-io
kbd                 /pci/mac-io/via-cuda/adb/keyboard
mouse               /pci/mac-io/via-cuda/adb/mouse
ttya                /pci/mac-io/escc/ch-a
ttyb                /pci/mac-io/escc/ch-b
scsi                /pci/mac-io/mesh
scsi-int            /pci/mac-io/mesh
ide0                /pci/mac-io/ide@20000
ide                 /pci/mac-io/ide@20000
ata-int             /pci/mac-io/ide@20000
ide1                /pci/mac-io/ide@21000
enet                /pci/mac-io/bmac
swim                /pci/mac-io/swim3
fd                  /pci/mac-io/swim3

A CD, ISO 9660, containing only the test-ROMs, named "test1.rom", "test2.rom"... is inserted. So CD must be one of the ides or ata-int. But which one?
 
Card is flashed back to PC and can be selected in OF

devalias shows...

Code:
0 > devalias
pci                 /pci@80000000
mac-io              /pci/mac-io
kbd                 /pci/mac-io/via-cuda/adb/keyboard
mouse               /pci/mac-io/via-cuda/adb/mouse
ttya                /pci/mac-io/escc/ch-a
ttyb                /pci/mac-io/escc/ch-b
scsi                /pci/mac-io/mesh
scsi-int            /pci/mac-io/mesh
ide0                /pci/mac-io/ide@20000
ide                 /pci/mac-io/ide@20000
ata-int             /pci/mac-io/ide@20000
ide1                /pci/mac-io/ide@21000
enet                /pci/mac-io/bmac
swim                /pci/mac-io/swim3
fd                  /pci/mac-io/swim3

A CD, ISO 9660, containing only the test-ROMs, named "test1.rom", "test2.rom"... is inserted. So CD must be one of the ides or ata-int. But which one?
You have IDE CD or SCSI? I have both in mine, but it shipped with SCSI.
 
it's ide. But i have scsi available, if this works better.
Just need to check if it has the open word.

Code:
dev scsi-int/@3 \\ this assumes the SCSI ID of the CDROM is 3
words

dir scsi-int/@3:1,\

OR

dev scsi/@3
words

dir scsi/@3:1,\

OR OR

dir scsi/@3:,\

ISO9660 should have the files on the first partition @3:1 but OF will also check if it can find the file system if you leave our the partition number as above.

Also, I think IDE is ide1 if you have the CDROM as master on bus 1.

Diff:
dev ide1/@0
dir ide1/@0:1,\
dir ide1/@0:,\

SCSI works for me, I can get a DIR of an ISO9660 disk, ide1 does not.

IMG_0480.jpeg
 
Last edited:
  • Like
Reactions: flyproductions
I hope you have a few CD's, as I forgot to add that you will likely have to clip the PCI Header from the FCODE ROM, everything to 0x40, new ROM should start with F1.
 
Yes, it hs the open word. As well as load, write, read.

But when i try dir, i get this:

Code:
0 > dev ide1/@0  ok
0 > dir ide1/@0:1,\ mac-files: bad node # unable to open the DIR device
Sometimes it takes a few tries, blame Apple for buggy OF!

Also try:

Code:
dir ide1/@0:,\

Like I say, SCSI works for me, but not IDE, I have no words.

Make sure you are using a pure ISO9660 not a Hybrid ISO/HFS CD, that won't work.
 
Last edited:
Ah, success!

Code:
0 > dir ide0/@0:1,\
.                   00000010 000021 000002048 000 000
..                  00000010 000021 000002048 000 000
TEST2.ROM           00000000 000025 000065536 000 000 AA
TEST3.ROM           00000000 000057 000065536 000 000 AA
TEST4.ROM           00000000 000089 000065536 000 000 AA
TEST5.ROM           00000000 000121 000065536 000 000 AA
 ok
 
Ah, success!

Code:
0 > dir ide0/@0:1,\
.                   00000010 000021 000002048 000 000
..                  00000010 000021 000002048 000 000
TEST2.ROM           00000000 000025 000065536 000 000 AA
TEST3.ROM           00000000 000057 000065536 000 000 AA
TEST4.ROM           00000000 000089 000065536 000 000 AA
TEST5.ROM           00000000 000121 000065536 000 000 AA
 ok
Diff:
dev pci/@x \ where X is device slot for the 6200
load ide0/@0:1,\TEST2.ROM \ you may need to do this more than once if you have to
words \ should see open and close
" pci/@x" select-dev \ This won't work without the open word
4d encode-int " subsysem-id" property \ nessesary if it os other than 0x4d
load-base 1 byte load

wait........
 
...but, if i try to load, i get this:

Code:
0 > load ide0/@0:1,\test5.rom load-size=ffc0 adler32=91bd8356 loader: unrecognized client program format

Even without the uneccessary stuff (load-size=ffc0 adler32=91bd8356) i get the "loader: unrecognized client program format"-error
 
Last edited:
...but, if i try to load, i get this:

Code:
0 > load ide0/@0:1,\test5.rom load-size=ffc0 adler32=91bd8356 loader: unrecognized client program format

Even without the uneccessary stuff (load-size=ffc0 adler32=91bd8356) i get the "loader: unrecognized client program format"-error
You need to clip the PCI Header, everything to 0x40 with a hex editor.

New ROM should start with F1, the start of the FCODE.

Again blame Apple!
 
  • Like
Reactions: flyproductions
Let me know if load triggers the evaluator on OF 2.5x( load then go! ).

You'll know if the 6200 card gets the open and close words after the load command.

Apple and their bugs!

On New World load does not trigger the evaluator, but you still have to clip the PCI Header. On the PowerMac 9600 you can load a full PCI ROM with the Header, then you just start it from the FCODE offset 0x40 on nVidia ROMs.

So you add 0x40 to the load-base:

800000 1 byte-load vs 800040 1 byte-load.

That is the proper way, the way the PM9600 handles it, f*cking Apple reverting.
 
So here is, how far i got now:

Code:
0 > load ide0/@0:1,\TEST5.ROM
loader: evaluating FCode[ NV43
here:ff8588b0
ABORTvendor-id missing
 ok
0 > words
close           open
 ok
0 > " pci/@e" select-dev r_3 @00007010.l = 82000000
w_3 @00007010.l = ffffffff
r_3 @00007010.l = ff000000
w_3 @00007010.l = 82000000
r_3 @00007014.l = 90000008
w_3 @00007014.l = ffffffff
r_3 @00007014.l = f0000008
w_3 @00007014.l = 90000008
r_3 @00007018.l = 81000000
w_3 @00007018.l = ffffffff
r_3 @00007018.l = ff000000
w_3 @00007018.l = 81000000
r_3 @00007030.l = 80820000
w_3 @00007030.l = ffffffff
r_3 @00007030.l = fffe0001
w_3 @00007030.l = 80820000
r_3 @00007004.w = 4
w_3 @00007004.w = 6
w_0 @00000004.l = 1000000
 ok
0 > 4d encode-int " subsysem-id" property  ok
0 > load-base 1 byte load byte, unknown word
 ok
 
So here is, how far i got now:

Code:
0 > load ide0/@0:1,\TEST5.ROM
loader: evaluating FCode[ NV43
here:ff8588b0
ABORTvendor-id missing
 ok
0 > words
close           open
 ok
0 > " pci/@e" select-dev r_3 @00007010.l = 82000000
w_3 @00007010.l = ffffffff
r_3 @00007010.l = ff000000
w_3 @00007010.l = 82000000
r_3 @00007014.l = 90000008
w_3 @00007014.l = ffffffff
r_3 @00007014.l = f0000008
w_3 @00007014.l = 90000008
r_3 @00007018.l = 81000000
w_3 @00007018.l = ffffffff
r_3 @00007018.l = ff000000
w_3 @00007018.l = 81000000
r_3 @00007030.l = 80820000
w_3 @00007030.l = ffffffff
r_3 @00007030.l = fffe0001
w_3 @00007030.l = 80820000
r_3 @00007004.w = 4
w_3 @00007004.w = 6
w_0 @00000004.l = 1000000
 ok
0 > 4d encode-int " subsysem-id" property  ok
0 > load-base 1 byte load byte, unknown word
 ok
Code:
load-base 1 byte-load

If OF 2.5.x is a buggy as 2.0.x it may take a few reboots and tries to reach the end.

I'm off to work soon, but if it reaches the end for you try:

Code:
dev / ls
dev pci/@e                \ NVDA,Parent
.properties words
dev @0                     \ if this doesn't show NVDA,Display-A then skip the rest
.properties words
" pci/@e/@0" open-dev u.
10 0 do i i 28 * 0 28 d# 480 fill-rectangle loop \ show color bars
show-modes     \ show all the modes and the current mode
10 set-mode     \ change the mode to a different mode that is supported by your display
10 0 do i i 28 * 0 28 d# 480 fill-rectangle loop \ show color bars again
 
Last edited:
Also, if you reach the end:

Code:
unselect-dev \ This should be all that is needed
device-end \ but we do this to be sure
0 to my-self \ and we do this too, just to be sure
 
At least i got no errors anymore.

Is it normal that i just see the insertion mark blinking, but nothing happens on the screen?

Code:
0 > dev pci/@e  ok
0 > load ide0/@0:1,\TEST5.ROM
loader: evaluating FCode[ NV43
here:ff85886e
ABORTvendor-id missing
 ok
0 > words
close           open
 ok
0 > " pci/@e" select-dev r_3 @00007010.l = 82000000
w_3 @00007010.l = ffffffff
r_3 @00007010.l = ff000000
w_3 @00007010.l = 82000000
r_3 @00007014.l = 90000008
w_3 @00007014.l = ffffffff
r_3 @00007014.l = f0000008
w_3 @00007014.l = 90000008
r_3 @00007018.l = 81000000
w_3 @00007018.l = ffffffff
r_3 @00007018.l = ff000000
w_3 @00007018.l = 81000000
r_3 @00007030.l = 80820000
w_3 @00007030.l = ffffffff
r_3 @00007030.l = fffe0001
w_3 @00007030.l = 80820000
r_3 @00007004.w = 4
w_3 @00007004.w = 6
w_0 @00000004.l = 1000000
 ok
0 > 4d encode-int " subsystem-id" property  ok
0 > load-base 1 byte-load  ok
0 >
 
Despite OF being very buggy in my Beige, and despite me not having a fully working ROM for my card, Joe's V5 debug rom did complete to the end after some great amount of time.

" pci/@d/@1" open-dev u.

That turned the display connected on, but things hung there in OF.
Did you capture the log?

I don't want to sidetrack the work with the known working PNY cards, but at least I was able to get some sort of display out of my EVGA card with the Beige G3 Rev. 1 ROM.

@joevt here is some documentation on the nvstrap/pstraps:

If you capture the log, you can see places where it reads the straps.

Like 25 mins. if you output to screen with a G4 433Mhz and the built-in Rage II video, but I have the issue that the debug ROM effects booting of OS X.
Screen scrolling is slow - maybe serial port is faster? Do scca:57600 for input-device and output-device.

So here is, how far i got now:

Code:
0 > load ide0/@0:1,\TEST5.ROM
loader: evaluating FCode[ NV43
here:ff8588b0
ABORTvendor-id missing
 ok
That's less far than you got before. It says vendor-id missing. fcode requires certain properties exist before it will work.
What are the default properties when using a PC rom?
Check pwd .properties

Currently I am working on finding where in the logging rom yours stops at by following the code on the emulation until it gets to the same spot.

or the lspci command needs to be modified to probe the addresses...
I made the attached version of lspci for Open Firmware. Copy the paste version into dev pci then use lspci. It gets the config space bytes and probes the BARs. Paste the result into a text file. Use the script in the worksheet to decode the result (uses lspci from pciutils)
 

Attachments

  • lspci for OpenFirmware.zip
    8.1 KB · Views: 111
That's less far than you got before. It says vendor-id missing.
Yes, that's a trap. If i don't cut the PCI-header off up to the beginning of the fCode, it doesn't even start to load: "unrecognized client program format". And if i cut the header off (sure, where the vendor-ID is located) it aborts because "the vendor-ID is missing".

So if this "evaluation" cannot be bypassed, this is the next problem.
 
Last edited:
Yes, that's a trap. If i don't cut the PCI-header off up to the beginning of the fCode, it doesn't even start to load: "unrecognized client program format". And if i cut the header off (sure, where the vendor-ID is located) it aborts because "the vendor-ID is missing".

So if this "evaluation" cannot be bypassed, this is the next problem.
vendor-id is a property that Mac firmware inits before calling fcode. Check .properties like I asked, before you run the fcode. I don't think the fcode looks at the rom image.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.