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.
What PCI to PCI-E breakout are you using there?

@joevt got the details pretty much correct, I talk about in detail here :) (post 60 for the itteration used with the FX4500 and G3 B&W)


and yeah the Riser is just a completely passive thing theres a small compeltely passive 1x PCIe card plugged into the startech card, and all it does is take PCIe 1x and shoves it down a USB 3.0 port which an A-A cable takes it to the riser itself etc
 
Last edited:
Funny his screen shots don't show the extra bridge, but I guess the braakout card does not need a bridge chip?

I'm thinking of getting this one:



Appears to have some sort of bridge, likely because it can drive 4 external 16x slots?
Right. The single version doesn't have a PCIe-PCIe bridge but the quad version does. The quad version will look something like my Netstor NA255A: one PCIe upstream and four PCIe downstream. The Netstor is nice because all the slots are fully powered and each slot has two 8 pin PCIe power connectors. That's what you get for a couple thousand extra dollars :)
 
That's what you get for a couple thousand extra dollars :)
Och!

Add a few PCI-E to PCI's and a cheap PC case with a good ATX power supply and for about $200 you have a breakout rig we would have dreamed of back in the day.

Did I say I tested that in my G5, PCI to PCI-E then PCI-E to dual PCI. Seemed to work just fine.
 
Ok guys now that we have at least the GF6200 for our Old World Mac's, we may not want to be swapping out video cards every time we need to zip the PRAM so we can get back to XPostFacto in Mac OS 9.x and set everything up again to boot OS X.

So attached in the Non-Existent HW.pef that loads an 'NDRV' for New World machines and allows any video card you have in your system that can show video in OF to display video under Mac OS 9.x.

What we may be able to do with it is create a disk based 'NDRV' that loads from the Extensions folder, but I'm not sure that's going to work. As on New World Machines the Mac OS ROM is loaded from OF and I think this 'NDRV' already has loaded it's properties in the device tree before OF hands off control.

So what likely needs to be done is to add this 'NDRV' to our FCode ROM, if we can figure out how to do that and we have space......
 

Attachments

  • Non-existent hardware-0.0d0.pef.zip
    14.7 KB · Views: 32
So attached in the Non-Existent HW.pef that loads an 'NDRV' for New World machines and allows any video card you have in your system that can show video in OF to display video under Mac OS 9.x.
Where did this Non-Existent HW.pef come from?

What we may be able to do with it is create a disk based 'NDRV' that loads from the Extensions folder, but I'm not sure that's going to work. As on New World Machines the Mac OS ROM is loaded from OF and I think this 'NDRV' already has loaded it's properties in the device tree before OF hands off control.
Open Firmware has nothing to do with NDRVs except that a PCI option ROM Open Firmware fcode image can add a NDRV property to the device node in the device tree. An NDRV doesn't do anything until Mac OS 9 loads it so it shouldn't matter if the NDRV comes from the device tree or from disk.

You saying the NDRV might not work if it isn't in the device tree before Mac OS 9 boots?

At a minimum, I believe the graphics controller's device node needs to opened to initialize the graphics controller and the framebuffer in order for the Non-Existent HW.pef to be able to use the framebuffer.
" graphicscontrollerpath" 2dup find-device open-dev . dup to my-self

Test the framebuffer by drawing some stuff.
1 10 10 20 20 fill-rectangle

I suppose the ndrv won't be able to change resolution or color depth.

So what likely needs to be done is to add this 'NDRV' to our FCode ROM, if we can figure out how to do that and we have space......
Super easy, barely an inconvenience, if there's space. Otherwise, you can load the NDRV from disk while in Open Firmware.

Maybe I'll try the ndrv later today with my B&W G3 and 7800GT. One issue I have is that the 7800GT doesn't seem to want to open in Open Firmware? I'll have to do more testing.
 
Where did this Non-Existent HW.pef come from?
I extracted it with Elliott Nunn's tbxi tool from the Mac OS ROM on the 9.2.1 Install CD
You saying the NDRV might not work if it isn't in the device tree before Mac OS 9 boots?
That's what I'm thinking
I suppose the ndrv won't be able to change resolution or color depth.
No, it can't. It just gives us a basic frame buffer to load OS 9 and set XPostfacto settings without having to swap out video cards.
Super easy, barely an inconvenience, if there's space. Otherwise, you can load the NDRV from disk while in Open Firmware.
From CD or Floppy we could do it on Old World, doesn't need to be done on NW, it's part of the Mac OS ROM, but maybe for folks trying to boot older version of the Mac OS on NW machines it would also be useful using video cards with no real 'NDRV'.
 
So I tested a PCI-E 7800GT with the PC VBIOS still on the card in my PCI-E to PCI bridge in the Beige G3.

Same issue with it disabling the built-in video, so tomorrow I should get my USB to serial adapter and assuming I can get that setup proper with Serial.app we can begin debugging to see if we can tell what is going on with video cards in PCI to PCI-E adapters in Old World Mac's.

I'm going to start a separate thread about PowerMac's and their PCI* buses........
 
From CD or Floppy we could do it on Old World, doesn't need to be done on NW, it's part of the Mac OS ROM, but maybe for folks trying to boot older version of the Mac OS on NW machines it would also be useful using video cards with no real 'NDRV'.
Right, I was able to boot the B&W G3 with a display connected to the 7800GT without modifying properties because the "Non-existent hardware" ndrv from the Mac OS ROM file is used. You can see the driver info in the "Display Name Registry 2.0" app.

It's very slow without hardware acceleration when scrolling or moving a window. There's a small number of corrupt pixels - similar to when I take a screenshot from the Radeon 9200 in the B&W G3 (the corrupted pixels in the screenshot don't appear on the display though).

First you have to make sure the Open Firmware driver gets opened. My 7800GT is installed in a Netstor NA255A which is connected to a PCI to PCIe bridge in a B&W G3 64-bit slot. I'm using the serial port for Open Firmware input/output because it's faster and more convenient than using the display connected to the 7800GT, so to open the display without changing the input/output, I use this command:
" pci/@d/@2/@0/@10/@0/@0" 2dup find-device open-dev to my-self
The display turns white which means it's working. You can test it by drawing a rectangle:
1 10 10 20 20 fill-rectangle
Then I can use multi-boot to select a partition to boot. I choose the partition for Mac OS 9, the screen turns gray, and Mac OS 9 boots starting with the Happy Mac.

"Non-existent hardware" ndrv uses these properties from the display device:
Code:
width
height
address
linebytes
depth
display-type

The ndrv also has some other strings. In particular, these might be important:
Code:
platinum
control
fatman
Those are devices that exist in some Old World Macs (7200, 7500, 8500, 8600, PowerExpress).

I can't really test it on an Old World Mac until I can make the Old World Mac boot into Open Firmware with the 7800GT Open Firmware driver (which is already modified for Old World Macs but some issue causes a hang).
 
  • Like
Reactions: LightBulbFun
the startech card
So you and Joe are using the StarTech and Joe has a pm8600 that he is trying to get the GF7800 GT working in.

Tho for you and I with the Beige G3 any video card in the PCI to PCI-E bridge just lands us in a no boot situation. I've got the Rev. A and you have the Rev. B, but they both use the same version of OF.

I'm thinking it has something to do with that version of OF and how it treats PCI cards with the class code for a display card.

@joevt gave some instructions for serial connection to debug this, but I lost track of where they were before I finally got my serial connection working??
 
Ok, so a few things with the Beige, a Quadro 600 with a PC ROM on it doesn't show up in the bridge and seems to disable the GF6200 PCI as well, but not the Rage II.

Code:
FF833F68: /mac-io@10                   [heathrow]
FF835140:   /mesh@10000                [mesh]
FF836C68:     /sd@0,0                  [sd]
FF837878:     /st@0,0                  [st]
FF838540:   /bmac@11000                [bmac]
FF839DD8:   /escc@13000                [escc CHRP,es0]
FF839F70:     /ch-a@13020              [ch-a CHRP,es2]
FF83A600:     /ch-b@13000              [ch-b CHRP,es3]
FF83AC90:   /davbus@14000
FF83AD78:     /sound@0,0               [awacs screamer]
FF83AE68:   /swim3@15000               [swim3]
FF83C020:   /nvram@60000               [nvram]
FF83C118:   /ide@20000                 [heathrow-ata]
FF83DE70:     /disk@0,0
FF83DF20:   /ide@21000                 [heathrow-ata]
FF83FC78:     /disk@0,0
FF83FD28:   /via-cuda@16000            [via-cuda]
FF840C08:     /adb@0,0                 [adb]
FF840D20:       /keyboard@0,0
FF841648:       /mouse@1,0
FF841908:     /pram@0,0
FF8419B8:     /rtc@0,0                 [rtc]
FF841E80:     /power-mgt@0,0           [power-mgt]
FF8428B8: /pci-bridge@F
FF843660: /ATY,mach64_3DU@12
 ok
0 > dev pci@f can't find device ok
0 > dev pci/@f  ok
0 > .properties
vendor-id               000010B5
device-id               00008112
revision-id             000000AA
class-code              00060400
interrupts              00000001
devsel-speed            00000001
AAPL,interrupts         00000019
AAPL,slot-name          C1
name                    pci-bridge
device_type             pci
reg                     00007800 00000000 00000000  00000000 00000000
#address-cells          00000003
#size-cells             00000002
ranges                 
bus-range               00000001 00000001
power-consumption       007270E0 007270E0
assigned-addresses     
 ok
0 > probe-all  ok
0 > ls
There are no children of node:
FF8428B8: /pci-bridge@F ok

However the GF6600 does show up with the FCode ROM and all it's .properties seem ok, tho it conflicts with the Rage II which you can see on the last line here:

Code:
pen Firmware, 2.0f1
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
For Open Firmware serial I/O type:
TTYA IO<return>
 ok
0 > dev pci ls

Children of the node:
FF832C80: /pci@80000000                [grackle]

Node Adr    Node Name                     Compatible

FF833F68: /mac-io@10                   [heathrow]
FF835140:   /mesh@10000                [mesh]
FF836C68:     /sd@0,0                  [sd]
FF837878:     /st@0,0                  [st]
FF838540:   /bmac@11000                [bmac]
FF839DD8:   /escc@13000                [escc CHRP,es0]
FF839F70:     /ch-a@13020              [ch-a CHRP,es2]
FF83A600:     /ch-b@13000              [ch-b CHRP,es3]
FF83AC90:   /davbus@14000
FF83AD78:     /sound@0,0               [awacs screamer]
FF83AE68:   /swim3@15000               [swim3]
FF83C020:   /nvram@60000               [nvram]
FF83C118:   /ide@20000                 [heathrow-ata]
FF83DE70:     /disk@0,0
FF83DF20:   /ide@21000                 [heathrow-ata]
FF83FC78:     /disk@0,0
FF83FD28:   /via-cuda@16000            [via-cuda]
FF840C08:     /adb@0,0                 [adb]
FF840D20:       /keyboard@0,0
FF841648:       /mouse@1,0
FF841908:     /pram@0,0
FF8419B8:     /rtc@0,0                 [rtc]
FF841E80:     /power-mgt@0,0           [power-mgt]
FF8428B8: /pci-bridge@F
FF8435F0:   /NVDA,Parent@0
FF869B98:     /NVDA,Display-A@0        [NVDA,NVMac NVDA,MultiDisplay]
FF86A120:     /NVDA,Display-B@1        [NVDA,NVMac NVDA,MultiDisplay]
FF86A6A8:     /sensor-parent@2         [NVDA,sensor-parent]
FF86A818:       /gpu-diode-temperature@0
FF86AAC8: /pci2008,0@12                [pci2008,0]

And the .properties of the NVMac:

Code:
0 > dev pci/@f/@0  ok
0 > .properties
vendor-id               000010DE
device-id               00000141
revision-id             000000A4
class-code              00030000
interrupts              00000001
min-grant               00000000
max-latency             00000000
subsystem-vendor-id     000010DE
subsystem-id            00000010
devsel-speed            00000000
AAPL,slot-name          C1
fcode-rom-offset        00000000
model                   GeForce 6600
NVDA,BMP                55AA7EEB 4B373430 30E94C19 77CC5649 44454F20 0D000000 00005710 00004942
                        4D205647 4120436F 6D706174 69626C65 01000000 B0100B18 30362F32 342F3035
                        00000000 00000000 01100000 00000000 E93EDD00 00000000 00000000 00004081
                        EFFFFF7F 10000080 2200A542 E9F5B7E9 FCB7FFB8 42495400 00010C06 10473201
                        0400DE00 42021600 E2004301 0E00F800 44010400 06014901 0E000A01 4C010200
                        18017401 12001A01 4D010200 2C014E00 00000000 50011900 2E015302 15004701
                        54010200 5C015501 03005E01 56010600 61016300 00000000 69022300 67010000
                        00007502 43050000 00000000 A8073030 2F30302F 30300200 00000000 00000000
                        ... 0000192F bytes total
device_type             NVDA,GeForce
NVPM                    01000000 00000000 00000000 00000000 00000000 00000000 00000000
NVCAP                   04000100 00100003 001C0000 00000007 000000
name                    NVDA,Parent
#address-cells          00000001
#size-cells             00000000
rom-revision            32313439 00
NVDA,Features           005002EF
NVDA,Level              00000001
reg                     00010000 00000000 00000000  00000000 00000000
                        02010010 00000000 00000000  00000000 01000000
                        0201001C 00000000 00000000  00000000 01000000
                        42010014 00000000 00000000  00000000 10000000
                        02010030 00000000 00000000  00000000 00020000
VRAM,memsize            10000000 10000000
assigned-addresses      C2010014 00000000 90000000  00000000 10000000
                        82010010 00000000 83000000  00000000 01000000
                        8201001C 00000000 82000000  00000000 01000000
                        82010030 00000000 81800000  00000000 00020000

 ok
0 >
 
  • Like
Reactions: LightBulbFun
Ok, so the GF6600 outputs video proper in Open Firmware on the Beige G3!

Tho it is getting crazy HOT!

I want to boot Tiger to test the GF, but I'm afraid caps are going to start popping or solder is going to start melting.

I'm going to have to see if it gets this hot in the G5 in this bridge.....

We know there is some conflict with VGA cards in this bridge and the internal Rage II.
 
Last edited:
So the heat was just the heatsink, I booted Tiger and it ran fine in the Beige.

Some PCI bus slowdown, not sure if it's the GF card or the fact I'm booted from FW.

This is the 256MB version with TSOP memory, so now I'm thinking...


This should be 128bit GDDR3 VRAM likely running at 500MHz ( 1000Mhz effective ).

A new top dog for the Beige until Joe finishes work on the 7800 GT......

EDIT:Looks like it is only GDDR2 VRAM of an unknown clock speed..

Looks like GDDR2 really isn't:

Relation to GDDR memory​

GDDR2, a form of GDDR SDRAM, was developed by Samsung and introduced in July 2002.[10] The first commercial product to claim using the "DDR2" technology was the Nvidia GeForce FX 5800 graphics card. However, this GDDR2 memory used on graphics cards is not DDR2 per se, but rather an early midpoint between DDR and DDR2 technologies. Using "DDR2" to refer to GDDR2 is a colloquial misnomer. In particular, the performance-enhancing doubling of the I/O clock rate is missing. It had severe overheating issues due to the nominal DDR voltages. ATI has since designed the GDDR technology further into GDDR3, which is based on DDR2 SDRAM, though with several additions suited for graphics cards.

GDDR3 was commonly used in graphics cards and some tablet PCs. However, further confusion has been added to the mix with the appearance of budget and mid-range graphics cards which claim to use "GDDR2". These cards actually use standard DDR2 chips designed for use as main system memory although operating with higher latencies to achieve higher clockrates. These chips cannot achieve the clock rates of GDDR3 but are inexpensive and fast enough to be used as memory on mid-range cards.
 
Last edited:
interesting, so just with @joevt 's OWR patched 6600 fCode ROM it worked OOB? or do you have to disable the onboard video in some manner? if so whats your method for disabling the onboard video? ill have to stick it on TheList(TM) of things I have got to try with mine next time I have it out :)


I am curious on that front @joevt if your able to take a look at the ATI Radeon X1900 G5 Mac Edition ROM and see if its OWR friendly or not?


historicly ATI ROM's are of course known to be OWR friendly, but I tried an X1900 with this ROM in my G3 beige and it stalled the machine, it worked fine on my G3 Blue and White,


but not in the G3 beige, so I wonder if its an issue with the ROM, or is it a conflict simply with the onboard ATI Rage video? (I guess one way to check for that is to try the whole PCI to PCIe setup with the PowerMac 9600, but I have not had a chance to try that yet)
 
interesting, so just with @joevt 's OWR patched 6600 fCode ROM it worked OOB? or do you have to disable the onboard video in some manner? if so whats your method for disabling the onboard video? ill have to stick it on TheList(TM) of things I have got to try with mine next time I have it out :)
Some conflict with the GF6600 in the Bridge just disables the Rage II.

Yes, just the FCode Joe made for my card to be OW compatible.
 
  • Like
Reactions: LightBulbFun
For issues with the Beige G3, I would test PCI bridges + graphics cards in DingusPPC. Test with OF 2.0f1 and OF 2.4. Then see what happens if you remove the fcode for the built-in ATI device (using pci-probe-list or nvramrc patch).

There's some things I still want to try with the 7800 GT in my Power Mac 8600.
 
  • Like
Reactions: LightBulbFun
I don't have a 6600 ROM yet. Is there a Mac ROM for it?

Quadro FX 4500 works using a 7800GT ROM but that was only verified with FCode version 2149. My 7800GT is FCode version 2152.2. It should also work for the Quadro FX 4500 but you need to change device id in PCI header from 92 to 9D and of course nvstraps and NVDA,BMP always needs to match the values for your card.

7800 #21 is for the 7800GT Mac Edition for my Quad G5 - modified to (hopefully) work with any Apple Open Firmware version.
What offset is the start of the FCode here?
 
The Beige G3 does not see the Radeon X1950 XT at all with the Mac ROM on it, it sees the Bridge and again just like the GF6600 it disables the built-in Rage II chip:

Code:
Open Firmware, 2.0f1
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
For Open Firmware serial I/O type:
TTYA IO<return>
 ok
0 > dev pci ls

Children of the node:
FF833268: /pci@80000000                [grackle]

Node Adr    Node Name                     Compatible

FF834550: /mac-io@10                   [heathrow]
FF835728:   /mesh@10000                [mesh]
FF837250:     /sd@0,0                  [sd]
FF837E60:     /st@0,0                  [st]
FF838B28:   /bmac@11000                [bmac]
FF83A3C0:   /escc@13000                [escc CHRP,es0]
FF83A558:     /ch-a@13020              [ch-a CHRP,es2]
FF83ABE8:     /ch-b@13000              [ch-b CHRP,es3]
FF83B278:   /davbus@14000
FF83B360:     /sound@0,0               [awacs screamer]
FF83B450:   /swim3@15000               [swim3]
FF83C608:   /nvram@60000               [nvram]
FF83C700:   /ide@20000                 [heathrow-ata]
FF83E458:     /disk@0,0
FF83E508:   /ide@21000                 [heathrow-ata]
FF840260:     /disk@0,0
FF840310:   /via-cuda@16000            [via-cuda]
FF8411F0:     /adb@0,0                 [adb]
FF841308:       /keyboard@0,0
FF841C30:       /mouse@1,0
FF841EF0:     /pram@0,0
FF841FA0:     /rtc@0,0                 [rtc]
FF842468:     /power-mgt@0,0           [power-mgt]
FF843588: /pci-bridge@D
FF855500: /pci1095,3112@F              [pci1095,3112]
FF8558A0: /pci2008,0@12                [pci2008,0]
 ok
0 >
 
  • Like
Reactions: LightBulbFun
What offset is the start of the FCode here?
I'm still working on the 7800GT Fcode for Old World Macs. I don't know if it will ever work. The Fcode itself is ok - works in dingusppc on Old World Macs such as the 8600 and Beige G3 - but real hardware has an issue that causes a hang and I don't know if there's a workaround. I'm going to adjust the timing method in the fcode to see if it improves things.

If you want a fcode binary that doesn't include PCI header, then take the .4th file, remove the PCI stuff (the header up to the line before fcode-version2, and the pci-end trailer), then use toke from my OpenBIOSStuff to create the fcode file.

The latest version that I've posted (up to 7800 #26) is at:
https://forums.macrumors.com/threads/7800-gt-with-64k-rom-no-go.2425522
(Test2 is the uncompressed .4th and .rom, while Test3 is the compressed versions of those)
 
I'm still working on the 7800GT Fcode for Old World Macs. I don't know if it will ever work. The Fcode itself is ok - works in dingusppc on Old World Macs such as the 8600 and Beige G3 - but real hardware has an issue that causes a hang and I don't know if there's a workaround. I'm going to adjust the timing method in the fcode to see if it improves things.

If you want a fcode binary that doesn't include PCI header, then take the .4th file, remove the PCI stuff (the header up to the line before fcode-version2, and the pci-end trailer), then use toke from my OpenBIOSStuff to create the fcode file.

The latest version that I've posted (up to 7800 #26) is at:
https://forums.macrumors.com/threads/7800-gt-with-64k-rom-no-go.2425522
(Test2 is the uncompressed .4th and .rom, while Test3 is the compressed versions of those)
After a few edits to the soft strap the 7800 GT does output video on the Beige G3 with the linked Test3 compressed rom.

Two issues, first my card is failing, even with the PC Bios on it it starts getting display corruption after only a few minutes, so it's hard to say it's a good testbed for this.

I'm not sure how to explain the second issue, only to say Open Firmware isn't handling the card very well on the Beige. Seems to leave us at the console with no way to boot OS X.

Like I say, my card is failing, so it's just not a good test bed. I think at least for OF 2.0f1 the issues with the 7800 GT are fixable, older version of OF may have more issues.

I set the output-device to the 7800 GT and I get good video, but with the input-device still set to ttya I get no input, so calling the screen to open seems to crash OF.

As with the other video cards in a PCI-E bridge in the Beige, built-in Rage II gets disabled.



Code:
Open Firmware, 2.0f1
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
For Open Firmware serial I/O type:
TTYA IO<return>
 ok
0 > boot  can't OPEN: pci/@F/@0:12
 ok
0 > printenv boot-command

VARIABLE            CURRENT             DEFAULT
boot-command        0 bootr debug=0x100 -v boot
 ok
0 > 0 bootr  can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12 can't OPEN: pci/@F/@0:12
[Disconnected]
[Connected]


Open Firmware, 2.0f1
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
For Open Firmware serial I/O type:
TTYA IO<return>
 ok
0 > bye

Open Firmware, 2.0f1
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
For Open Firmware serial I/O type:
TTYA IO<return>
 ok
0 > dev pci ls

Children of the node:
FF833268: /pci@80000000                [grackle]

Node Adr    Node Name                     Compatible

FF834550: /mac-io@10                   [heathrow]
FF835728:   /mesh@10000                [mesh]
FF837250:     /sd@0,0                  [sd]
FF837E60:     /st@0,0                  [st]
FF838B28:   /bmac@11000                [bmac]
FF83A3C0:   /escc@13000                [escc CHRP,es0]
FF83A558:     /ch-a@13020              [ch-a CHRP,es2]
FF83ABE8:     /ch-b@13000              [ch-b CHRP,es3]
FF83B278:   /davbus@14000
FF83B360:     /sound@0,0               [awacs screamer]
FF83B450:   /swim3@15000               [swim3]
FF83C608:   /nvram@60000               [nvram]
FF83C700:   /ide@20000                 [heathrow-ata]
FF83E458:     /disk@0,0
FF83E508:   /ide@21000                 [heathrow-ata]
FF840260:     /disk@0,0
FF840310:   /via-cuda@16000            [via-cuda]
FF8411F0:     /adb@0,0                 [adb]
FF841308:       /keyboard@0,0
FF841C30:       /mouse@1,0
FF841EF0:     /pram@0,0
FF841FA0:     /rtc@0,0                 [rtc]
FF842468:     /power-mgt@0,0           [power-mgt]
FF843588: /pci-bridge@D
FF8442C0:   /NVDA,Parent@0
FF86B4F8:     /NVDA,Display-A@0        [NVDA,NVMac NVDA,MultiDisplay]
FF86BBF0:     /NVDA,Display-B@1        [NVDA,NVMac NVDA,MultiDisplay]
FF86C178:     /sensor-parent@2         [NVDA,sensor-parent]
FF86C2E8:       /gpu-diode-temperature@0
FF86C598: /pci1095,3112@F              [pci1095,3112]
FF86C938: /pci2008,0@12                [pci2008,0]
 ok
0 > setenv output-device pci/@d/@0/@0  ok
0 > reset-all
 
  • Like
Reactions: LightBulbFun
Pretty amazing stuff how Joe does all this. I wish Apple/IBM/Motorola had not abandoned PowerPC Mac's.

Power10 or Power11 desktops would be more useful than the crap that is AppleSoC when it comes to desktops. The Intel Macs where OK, but going from 1.5TB of RAM on the 2019MP to 192GB isn't that useful for power users.

Apple just doesn't care about desktop workstations and I think the people who buy these systems have moved from the Mac. The 2013MP was a steaming piece of garbage that Apple tried to force on users for 6 years and it obliterated their share of the desktop workstation market. By the time they got real about it again in 2019 power users had moved to other platforms.

Apple has no left us video card and upgrade junkies without much way of getting our fix. A Mac Pro you can't even put RAM or video cards in because of the lack of 3rd party drivers, indeed.
 
At a minimum, I believe the graphics controller's device node needs to opened to initialize the graphics controller and the framebuffer in order for the Non-Existent HW.pef to be able to use the framebuffer.
" graphicscontrollerpath" 2dup find-device open-dev . dup to my-self

Test the framebuffer by drawing some stuff.
1 10 10 20 20 fill-rectangle
So what is the best way we can go about this?

I take it the .pef needs to run this code in OF before OF is hands off control to the 4MB ROM image?
 
So if we want to load the NEHW.pef into the driver.AAPL,MacOS,PowerPC property from a file, how would we go about that?

Ok, I see what is going on now with the built-in video getting disabled.

After the video card in the bridge is probed, nothing else gets probed with it's FCode.

So putting the video card in the bottom slot of the Beige makes the other two slots work fine, but everything after @f doesn't get it's FCode loaded.

I'm not sure if this is happening in OF 1.0.x?
 
After a few edits to the soft strap the 7800 GT does output video on the Beige G3 with the linked Test3 compressed rom.

Two issues, first my card is failing, even with the PC Bios on it it starts getting display corruption after only a few minutes, so it's hard to say it's a good testbed for this.

I'm not sure how to explain the second issue, only to say Open Firmware isn't handling the card very well on the Beige. Seems to leave us at the console with no way to boot OS X.

Like I say, my card is failing, so it's just not a good test bed. I think at least for OF 2.0f1 the issues with the 7800 GT are fixable, older version of OF may have more issues.
Maybe that's because you only copied the soft straps and not the other parts from the PC ROM?

I set the output-device to the 7800 GT and I get good video, but with the input-device still set to ttya I get no input, so calling the screen to open seems to crash OF.

As with the other video cards in a PCI-E bridge in the Beige, built-in Rage II gets disabled.

Code:
Open Firmware, 2.0f1
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
For Open Firmware serial I/O type:
TTYA IO<return>
 ok
0 > boot  can't OPEN: pci/@F/@0:12
Is the pci1095,3112 (@F) missing a disk device (@F/@0)? Can you repeat the tests with no other PCI cards?

So if we want to load the NEHW.pef into the driver.AAPL,MacOS,PowerPC property from a file, how would we go about that?
We would load the PEF from an unused partition of the disk, probably using deblocker seek and read commands or read blocks directly like in
https://68kmla.org/bb/index.php?threads/the-great-gazelle-pci-hack-thread-part-2.38360/post-466428

Ok, I see what is going on now with the built-in video getting disabled.

After the video card in the bridge is probed, nothing else gets probed with it's FCode.

So putting the video card in the bottom slot of the Beige makes the other two slots work fine, but everything after @f doesn't get it's FCode loaded.

I'm not sure if this is happening in OF 1.0.x?
@F is the sil3112 card in the original arrangement. Maybe that one is causing the problem?

Does the sil3112 see a disk when it is not in @F?

OF 1.0.x doesn't get to the Open Firmware prompt with the 7800GT installed with the current Old World 7800GT ROM.
 
@F is the sil3112 card in the original arrangement. Maybe that one is causing the problem?

Does the sil3112 see a disk when it is not in @F?

OF 1.0.x doesn't get to the Open Firmware prompt with the 7800GT installed with the current Old World 7800GT ROM.
If I put the SiL card in one of the slots above the bridge it works fine.

See the output @12 the Rage II chip doesn't get it's FCode loaded either because the Fcode from our card it the bridge is somehow stopping everything after it is loaded from loading.

The 7800GT I have is just bad, even before I flashed it it was not working correct in a PC. Looks like bad VRAM, I'll try and re-paste everything and maybe even reflow the card in my oven!

Not a big deal, think it cost me $20, just a bad video card.

I booted it in my G5 and it has the same issues it does in a PC. The display is fine for a few minutes until the card starts to warm up. Then I start to get display corruption.

I'll order another, but now that I know to put it in the bottom slot in the Beige I should be able to boot from the SiL card and toy with things.
 
In the Beige G3 only ATY and Perch get probed after the bottom PCI slot, and it's actually a good thing for me they get disabled anyway as Leopard and 10.4 Server don't like the Rage II at all.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.