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.

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
I don't think I understand. I haven't even tried putting the card in. I got it out of a box of random graphics cards a long, long time ago. Unless you mean the Mac? It's a bummy v1 ROM model found on the first revision Beige MTs.
The Mac has Open Firmware 2.0f1?
Is the GPU for Mac or PC? Does it have an fcode rom? Can you get a dump of GPUs rom? Do you have a Mac serial printer cable that can connect the Beige MT to another computer?
 

DearthnVader

Suspended
Dec 17, 2015
2,207
6,392
Red Springs, NC
The softstraps string starts a ROM offset 0x58 and ends at 0x6b with a checksum byte. This applies to all ROMs Mac or PC. So one way to approach it is to copy it from the BIOS of your card to the Mac ROM.
When the checksum is incorrect the softstaps get ignored, so the card will be set up based on hardware straps (resistors).
To calculate the checksum you have to add all the bytes (exclusive of the checksum itself) together using 8bit precision (i.e. you discard anything above the byte boundary, example: 6f7 = f7) and then negate it (using calculator: your result, Not, +, 1, =) When adding all the bytes together including the checksum your result should be "0".
The string is divided into 4 32 bit numbers + the last 4 bytes that I only know the meaning of the last one - the checksum.
The first one is the AND mask (allows you to set straps to "0") the second one is an OR mask (allows you to set straps to "1") for register 101000 what individual bits mean will follow. The second pair is the same for different set of straps, but I don't know the meaning of it, I'm pretty sure that's the place where you can enable features like pipes for 6800.

bit 0/1
0 PCI_AD_REVERSED /PCI_AD_NORMAL
1 SUB_VENDOR_NO_BIOS / SUB_VENDOR_BIOS
2 ramconfig
3 ramconfig
4 ramconfig
5 ramconfig
6 CRYSTAL_13M/ CRYSTAL_14M
7 tvmode 0 = SECAM 1 = NTSC
8 tvmode 2 = PAL 3 = DISABLED
9 AGP_4X_ENABLED /AGP_4X_DISABLED
10 SBA_ENABLED /SBA_DISABLED
11 FASTWR_ENABLED /FASTWR_DISABLED
12 pci did
13 pci did
14 BUS_TYPE_PCI /BUS_TYPE_AGP
15 FP_IFACE_24BIT /FP_IFACE_12BIT
16 macswitch
17 macswitch
18 BR_ENABLED /BR_DISABLED
19
20
21
22 Crystal_27M
23 Mem size 128M
24 Mem size 256M
25
26
27
28
29
???
???

30
31 read only /read/write
 
  • Like
Reactions: flyproductions

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
@joevt Here is the MDD rom dump.
Thanks. Below is a list of the device fcode images from the decompressed result. The result of the detokenizations are in a different file. And the result converting the detokenizations to Forth is in another file. Let me know if you want any of it.
Code:
  8931: 00A170: \ detokenizing start at offset 00A170
        06E6C2: \ detokenizing finished after 410962 of 410962 bytes.
        06E6C2: 0000                                                                             ".."
        06E6C4: 0000 0000
        
        06E6C8: 00000000  : previous device descriptor offset (0 = end of device_specs; the list starts at 0AE2E8 below)
                FFFF FFFF : device_id vendor_id (-1 = any)
                0000 0002 : device type or pci class (2 = scc)
                00000000  : offset of fcode image starting from after this descriptor (0 = follows)
        
        06E6D8: \ detokenizing start at offset 06E6D8
        06EA2F: \ detokenizing finished after 855 of 855 bytes.
        06EA2F: 00                                                                             
        
        06EA30: FFFFFC98 = 06E6C8
        06EA34: FFFF FFFF
                0000 000A : ata-3
                00000000
        
        06EA40: \ detokenizing start at offset 06EA40
        0703FF: \ detokenizing finished after 6592 bytes.
        0703FF: 00                                                                             

        070400: FFFFE630 = 06EA30
        		FFFF FFFF
                0000 0007 : ata-6
                00000000

        070410: \ detokenizing start at offset 070410
        0709C6: \ detokenizing finished after 1463 bytes.
        0709C6: 0000                                                                           

        0709C8: FFFFFA38 = 070400
        		FFFF FFFF
        		0000 0006 : disk stuff
        		00000000

        0709D8: \ detokenizing start at offset 0709D8
        071E96: \ detokenizing finished after 5311 bytes.
        071E96: 0000                                                                           

        071E98: FFFFEB30 = 0709C8
        		FFFF FFFF
        		0006 0700 : 060700 = class code: CardBus
        		00000000

        071EA8: \ detokenizing start at offset 071EA8
        073913: \ detokenizing finished after 6763 of 6763 bytes.
        073913: 00                                                                             
        073914: 00000000

        073918: FFFFE580 = 071E98
        		FFFF FFFF
        		0006 0400 : 060400 = class code: PCI bridge
        		00000000

        073928: \ detokenizing start at offset 073928
        074054: \ detokenizing finished after 1836 of 1836 bytes.
        074054: 00000000
        
        074058: FFFFF8C0 = 073918
        		FFFF FFFF
        		000C 0310 : 0C0310 = class code: USB OHCI
        		00000000

        074068: \ detokenizing start at offset 074068
        077A90: \ detokenizing finished after 14888 of 14888 bytes.

        077A90: FFFFC5C8 = 074058
        		FFFF FFFF
        		000C 0010 : 0C0010 = class code: FireWire OHCI
        		00000000

        077AA0: \ detokenizing start at offset 077AA0
        07C016: \ detokenizing finished after 17782 of 17782 bytes.
        07C016: 0000                                                                           

        07C018: FFFFBA78 = 077A90
        		0033 106B : Apple Inc. UniNorth 2 ATA/100
        		FFFF FFFF
        		00000000

        07C028: \ detokenizing start at offset 07C028
        07DC93: \ detokenizing finished after 7275 of 7275 bytes.
        07DC93: 00                                                                             
        07DC94: 00000000

        07DC98: FFFFE380 = 07C018
				4D68 105A : Promise Technology, Inc. PDC20268 [Ultra100 TX2]	
        		FFFF FFFF
        		00000000

        07DCA8: \ detokenizing start at offset 07DCA8
        07E3C3: \ detokenizing finished after 1820 bytes.
        07E3C3: 00                                                                             
        07E3C4: 00000000
        
        07E3C8: FFFFF8D0 = 07DC98
        		6268 105A : Promise Technology, Inc. PDC20270 (FastTrak100 LP/TX2/TX4)
        		FFFF FFFF
        		FFFFF8D0 = 07DCA8
        
        07E3D8: FFFFFFF0 = 07E3C8
        		4D69 105A : Promise Technology, Inc. 20269
        		FFFF FFFF
        		FFFFF8C0 = 07DCA8
        
        07E3E8: FFFFFFF0 = 07E3D8
        		6269 105A : Promise Technology, Inc. PDC20271 (FastTrak TX2000)
        		FFFF FFFF
        		FFFFF8B0 = 07DCA8
        
        07E3F8: FFFFFFF0 = 07E3E8
        		0021 106B : Apple Inc. UniNorth GMAC (Sun GEM)
        		FFFF FFFF
        		00000000

        07E408: \ detokenizing start at offset 07E408
        080B8E: \ detokenizing finished after 10118 of 10118 bytes.
        080B8E: 0000                                                                           
        
        080B90: FFFFD868 = 07E3F8
        		0024 106B : Apple Inc. UniNorth/Pangea GMAC (Sun GEM)
        		FFFF FFFF
        		FFFFD868 = 07E408

        080BA0: FFFFFFF0 = 080B90
        		0032 106B : Apple Inc. UniNorth 2 GMAC (Sun GEM)
        		FFFF FFFF
        		FFFFD858 = 07E408

        080BB0: FFFFFFF0 = 080BA0
        		0020 106B : Apple Inc. UniNorth AGP
        		FFFF FFFF
        		00000000

        080BC0: \ detokenizing start at offset 080BC0
        080C1C: \ detokenizing finished after 92 of 92 bytes.
        080C1C: 00000000

        080C20: FFFFFF90 = 080BB0
        		002D 106B : Apple Inc. UniNorth 1.5 AGP
        		FFFF FFFF
        		FFFFFF90 = 080BC0
        		
        080C30: FFFFFFF0 = 080C20
        		0027 106B : Apple Inc. UniNorth/Pangea AGP
        		FFFF FFFF
        		FFFFFF80 = 080BC0

        080C40: FFFFFFF0 = 080C30
        		0034 106B : Apple Inc. UniNorth 2 AGP
        		FFFF FFFF
        		FFFFFF70 = 080BC0

        080C50: FFFFFFF0 = 080C40
        		5052 1002 : ATI Technologies, Inc. Rage 4 [Rage 128 PRO AGP 4X]
        		FFFF FFFF
        		00000000

        080C60: \ detokenizing start at offset 080C60
        083FAB: \ detokenizing finished after 13131 of 13131 bytes.
        083FAB: 00                                                                             
        083FAC: 00000000
        
        083FB0: FFFFCCA0 = 080C50
        		5452 1002 : ATI Technologies, Inc. Rage 128 PRO Ultra4XL VR-R AGP
        		FFFF FFFF
        		00000000
        		
        083FC0: \ detokenizing start at offset 083FC0
        087152: \ detokenizing finished after 12690 of 12690 bytes.
        087152: 0000                                                                           
        087154: 00000000

        087158: FFFFCE58 = 083FB0
        		0174 10DF : NVIDIA Corporation NV17M [GeForce4 440 Go]	
        		FFFF FFFF
        		00000000

        087168: \ detokenizing start at offset 087168
        090953: \ detokenizing finished after 38891 of 38891 bytes.
        090953: 00                                                                             
        090954: 00000000

        090958: FFFF6800 = 087158
        		0110 10DF : NVIDIA Corporation NV11 [GeForce2 MX/MX 400]
        		FFFF FFFF
        		00000000
        		
        090968: \ detokenizing start at offset 090968
        097E8D: \ detokenizing finished after 29989 of 29989 bytes.
        097E8D: 0000 00                                                                        

        097E90: FFFF8AC8 = 090958
        		0110 10DE : NVIDIA Corporation NV11 [GeForce2 MX/MX 400]
        		FFFF FFFF
        		00000000

        097EA0: \ detokenizing start at offset 097EA0
        0A2178: \ detokenizing finished after 41688 of 41688 bytes.

        0A2178: FFFF5D18 = 097E90
        		0174 10DE : NVIDIA Corporation NV17M [GeForce4 440 Go]	
        		FFFF FFFF
        		FFFF5D18 = 097EA0
        		
        0A2188: FFFFFFF0 = 0A2178
        		4C59 1002 : ATI Technologies, Inc. RV100/M6 [Rage/Radeon Mobility Series]	
        		FFFF FFFF
        0A2194: 00000000
        		
        0A2198: \ detokenizing start at offset 0A2198
        0A7F6B: \ detokenizing finished after 24019 of 24019 bytes.
        0A7F6B: 00                                                                             
        0A7F6C: 00000000

        0A7F70: FFFFA218 = 0A2188
        		4C5A 1002 : ATI Technologies, Inc. RV100 LZ [Mobility Radeon 7000]
        		FFFF FFFF
        0A7F7C: FFFFA218 = 0A2198

        0A7F80: FFFFFFF0 = 0A7F70
        		4C57 1002 : ATI Technologies, Inc. RV200/M7 [Mobility Radeon 7500]	
        		FFFF FFFF
        		00000000                                                                       

        0A7F90: \ detokenizing start at offset 0A7F90
        0AE2E6: \ detokenizing finished after 25430 of 25430 bytes.
        0AE2E6: 0000                                                                           

        0AE2E8: FFFF9C98 = 0A7F80
        		4C66 1002 : ATI Technologies, Inc. RV250/M9 GL [Mobility FireGL 9000/Radeon 9000]	
        		FFFF FFFF
        		00000000
        		
        0AE2F8: \ detokenizing start at offset 0AE2F8
        0B44FB: \ detokenizing finished after 25091 of 25091 bytes.
 
  • Like
Reactions: LightBulbFun

LightBulbFun

macrumors 68030
Nov 17, 2013
2,900
3,195
London UK
Thanks. Below is a list of the device fcode images from the decompressed result. The result of the detokenizations are in a different file. And the result converting the detokenizations to Forth is in another file. Let me know if you want any of it.
Code:
  8931: 00A170: \ detokenizing start at offset 00A170
        06E6C2: \ detokenizing finished after 410962 of 410962 bytes.
        06E6C2: 0000                                                                             ".."
        06E6C4: 0000 0000
       
        06E6C8: 00000000  : previous device descriptor offset (0 = end of device_specs; the list starts at 0AE2E8 below)
                FFFF FFFF : device_id vendor_id (-1 = any)
                0000 0002 : device type or pci class (2 = scc)
                00000000  : offset of fcode image starting from after this descriptor (0 = follows)
       
        06E6D8: \ detokenizing start at offset 06E6D8
        06EA2F: \ detokenizing finished after 855 of 855 bytes.
        06EA2F: 00                                                                            
       
        06EA30: FFFFFC98 = 06E6C8
        06EA34: FFFF FFFF
                0000 000A : ata-3
                00000000
       
        06EA40: \ detokenizing start at offset 06EA40
        0703FF: \ detokenizing finished after 6592 bytes.
        0703FF: 00                                                                            

        070400: FFFFE630 = 06EA30
                FFFF FFFF
                0000 0007 : ata-6
                00000000

        070410: \ detokenizing start at offset 070410
        0709C6: \ detokenizing finished after 1463 bytes.
        0709C6: 0000                                                                          

        0709C8: FFFFFA38 = 070400
                FFFF FFFF
                0000 0006 : disk stuff
                00000000

        0709D8: \ detokenizing start at offset 0709D8
        071E96: \ detokenizing finished after 5311 bytes.
        071E96: 0000                                                                          

        071E98: FFFFEB30 = 0709C8
                FFFF FFFF
                0006 0700 : 060700 = class code: CardBus
                00000000

        071EA8: \ detokenizing start at offset 071EA8
        073913: \ detokenizing finished after 6763 of 6763 bytes.
        073913: 00                                                                            
        073914: 00000000

        073918: FFFFE580 = 071E98
                FFFF FFFF
                0006 0400 : 060400 = class code: PCI bridge
                00000000

        073928: \ detokenizing start at offset 073928
        074054: \ detokenizing finished after 1836 of 1836 bytes.
        074054: 00000000
       
        074058: FFFFF8C0 = 073918
                FFFF FFFF
                000C 0310 : 0C0310 = class code: USB OHCI
                00000000

        074068: \ detokenizing start at offset 074068
        077A90: \ detokenizing finished after 14888 of 14888 bytes.

        077A90: FFFFC5C8 = 074058
                FFFF FFFF
                000C 0010 : 0C0010 = class code: FireWire OHCI
                00000000

        077AA0: \ detokenizing start at offset 077AA0
        07C016: \ detokenizing finished after 17782 of 17782 bytes.
        07C016: 0000                                                                          

        07C018: FFFFBA78 = 077A90
                0033 106B : Apple Inc. UniNorth 2 ATA/100
                FFFF FFFF
                00000000

        07C028: \ detokenizing start at offset 07C028
        07DC93: \ detokenizing finished after 7275 of 7275 bytes.
        07DC93: 00                                                                            
        07DC94: 00000000

        07DC98: FFFFE380 = 07C018
                4D68 105A : Promise Technology, Inc. PDC20268 [Ultra100 TX2]   
                FFFF FFFF
                00000000

        07DCA8: \ detokenizing start at offset 07DCA8
        07E3C3: \ detokenizing finished after 1820 bytes.
        07E3C3: 00                                                                            
        07E3C4: 00000000
       
        07E3C8: FFFFF8D0 = 07DC98
                6268 105A : Promise Technology, Inc. PDC20270 (FastTrak100 LP/TX2/TX4)
                FFFF FFFF
                FFFFF8D0 = 07DCA8
       
        07E3D8: FFFFFFF0 = 07E3C8
                4D69 105A : Promise Technology, Inc. 20269
                FFFF FFFF
                FFFFF8C0 = 07DCA8
       
        07E3E8: FFFFFFF0 = 07E3D8
                6269 105A : Promise Technology, Inc. PDC20271 (FastTrak TX2000)
                FFFF FFFF
                FFFFF8B0 = 07DCA8
       
        07E3F8: FFFFFFF0 = 07E3E8
                0021 106B : Apple Inc. UniNorth GMAC (Sun GEM)
                FFFF FFFF
                00000000

        07E408: \ detokenizing start at offset 07E408
        080B8E: \ detokenizing finished after 10118 of 10118 bytes.
        080B8E: 0000                                                                          
       
        080B90: FFFFD868 = 07E3F8
                0024 106B : Apple Inc. UniNorth/Pangea GMAC (Sun GEM)
                FFFF FFFF
                FFFFD868 = 07E408

        080BA0: FFFFFFF0 = 080B90
                0032 106B : Apple Inc. UniNorth 2 GMAC (Sun GEM)
                FFFF FFFF
                FFFFD858 = 07E408

        080BB0: FFFFFFF0 = 080BA0
                0020 106B : Apple Inc. UniNorth AGP
                FFFF FFFF
                00000000

        080BC0: \ detokenizing start at offset 080BC0
        080C1C: \ detokenizing finished after 92 of 92 bytes.
        080C1C: 00000000

        080C20: FFFFFF90 = 080BB0
                002D 106B : Apple Inc. UniNorth 1.5 AGP
                FFFF FFFF
                FFFFFF90 = 080BC0
               
        080C30: FFFFFFF0 = 080C20
                0027 106B : Apple Inc. UniNorth/Pangea AGP
                FFFF FFFF
                FFFFFF80 = 080BC0

        080C40: FFFFFFF0 = 080C30
                0034 106B : Apple Inc. UniNorth 2 AGP
                FFFF FFFF
                FFFFFF70 = 080BC0

        080C50: FFFFFFF0 = 080C40
                5052 1002 : ATI Technologies, Inc. Rage 4 [Rage 128 PRO AGP 4X]
                FFFF FFFF
                00000000

        080C60: \ detokenizing start at offset 080C60
        083FAB: \ detokenizing finished after 13131 of 13131 bytes.
        083FAB: 00                                                                            
        083FAC: 00000000
       
        083FB0: FFFFCCA0 = 080C50
                5452 1002 : ATI Technologies, Inc. Rage 128 PRO Ultra4XL VR-R AGP
                FFFF FFFF
                00000000
               
        083FC0: \ detokenizing start at offset 083FC0
        087152: \ detokenizing finished after 12690 of 12690 bytes.
        087152: 0000                                                                          
        087154: 00000000

        087158: FFFFCE58 = 083FB0
                0174 10DF : NVIDIA Corporation NV17M [GeForce4 440 Go]   
                FFFF FFFF
                00000000

        087168: \ detokenizing start at offset 087168
        090953: \ detokenizing finished after 38891 of 38891 bytes.
        090953: 00                                                                            
        090954: 00000000

        090958: FFFF6800 = 087158
                0110 10DF : NVIDIA Corporation NV11 [GeForce2 MX/MX 400]
                FFFF FFFF
                00000000
               
        090968: \ detokenizing start at offset 090968
        097E8D: \ detokenizing finished after 29989 of 29989 bytes.
        097E8D: 0000 00                                                                       

        097E90: FFFF8AC8 = 090958
                0110 10DE : NVIDIA Corporation NV11 [GeForce2 MX/MX 400]
                FFFF FFFF
                00000000

        097EA0: \ detokenizing start at offset 097EA0
        0A2178: \ detokenizing finished after 41688 of 41688 bytes.

        0A2178: FFFF5D18 = 097E90
                0174 10DE : NVIDIA Corporation NV17M [GeForce4 440 Go]   
                FFFF FFFF
                FFFF5D18 = 097EA0
               
        0A2188: FFFFFFF0 = 0A2178
                4C59 1002 : ATI Technologies, Inc. RV100/M6 [Rage/Radeon Mobility Series]   
                FFFF FFFF
        0A2194: 00000000
               
        0A2198: \ detokenizing start at offset 0A2198
        0A7F6B: \ detokenizing finished after 24019 of 24019 bytes.
        0A7F6B: 00                                                                            
        0A7F6C: 00000000

        0A7F70: FFFFA218 = 0A2188
                4C5A 1002 : ATI Technologies, Inc. RV100 LZ [Mobility Radeon 7000]
                FFFF FFFF
        0A7F7C: FFFFA218 = 0A2198

        0A7F80: FFFFFFF0 = 0A7F70
                4C57 1002 : ATI Technologies, Inc. RV200/M7 [Mobility Radeon 7500]   
                FFFF FFFF
                00000000                                                                      

        0A7F90: \ detokenizing start at offset 0A7F90
        0AE2E6: \ detokenizing finished after 25430 of 25430 bytes.
        0AE2E6: 0000                                                                          

        0AE2E8: FFFF9C98 = 0A7F80
                4C66 1002 : ATI Technologies, Inc. RV250/M9 GL [Mobility FireGL 9000/Radeon 9000]   
                FFFF FFFF
                00000000
               
        0AE2F8: \ detokenizing start at offset 0AE2F8
        0B44FB: \ detokenizing finished after 25091 of 25091 bytes.
interesting how its all mostly ROM's from period iBook's and PowerBooks of the time!

@joevt I think I got the dictionary dump correct this time:

BTW did you ever figure how to decompress a 1MB New World ROM?

There are a few FCODE ROM's for video cards only contained in the BootROM I'd like to be able to extract.

indeed I was thinking about this a while back, more specficly regarding the fCode ROM for the iMac G5's video cards

as an iMac G5 internal is DVI and obviously has a VGA port on the back

so the cards are effectively DVI-VGA cards which would match much better with a PC Radeon 9600, then any of the PMG5 ROMs do

and it would be fun to see if a Radeon X600 Pro or X600 XT could be flashed with a iMac G5 iSight's ROM :)
 
  • Like
Reactions: Amethyst1

Doq

macrumors 6502a
Dec 8, 2019
549
816
The Lab DX
The Mac has Open Firmware 2.0f1?
Is the GPU for Mac or PC? Does it have an fcode rom? Can you get a dump of GPUs rom? Do you have a Mac serial printer cable that can connect the Beige MT to another computer?
I can't check the OF version because I can't get into OF-- the display never fires up when I try invoking it. (I also run into this issue when installing OS X. I wonder if it has to do with the way my display output is configured)
No it's definitely a PC card. It's got the funny s-video out on it.
I haven't the slightest on where the fcode rom would be on the board.
I could probably dump the rom-- I'll just have to pull out my testbench and a board.
Nope, I don't have one of those serial cables.

..... maybe I should just pay the Mac tax and pick up a known compatible card. 😓
 

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
interesting how its all mostly ROM's from period iBook's and PowerBooks of the time!

indeed I was thinking about this a while back, more specficly regarding the fCode ROM for the iMac G5's video cards

as an iMac G5 internal is DVI and obviously has a VGA port on the back

so the cards are effectively DVI-VGA cards which would match much better with a PC Radeon 9600, then any of the PMG5 ROMs do

and it would be fun to see if a Radeon X600 Pro or X600 XT could be flashed with a iMac G5 iSight's ROM :)
I only have Quad G5 ROM. I didn't format the device descriptors like I did for your G4, but unlike the G4, the Quad G5 does have a name for each fcode image. None of them appear to be for a GPU.
Code:
PCI-CARDBUS
PCI-PCI
usb-openhci
firewire-OHCI
uata
k2-gmac
sata
pci80211
BCOM
XModem
Device-Channel
scc
VSP
sb-mpic
PCI-Capabilities
i2c-bus-legacy
Pulsar
Pulsar-sys-clock
smu
smu-fans
smu-motor
smu-umotor-control
smu-umotor
smu-i2c-controller
smu-i2c-bus
smu-motors
smu-sensors
smu-switches
SMUtnik
Table00
Table30
Table35
Table60
Table70
Table75
PCI50
PCI100
PCIE50
sata-disk
HT-BRIDGE
K2-BRIDGE
DS1631
DS1775
MAX6690
Q63
Platform-do-Q63
Enclosure-Q63
 

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
I can't check the OF version because I can't get into OF-- the display never fires up when I try invoking it. (I also run into this issue when installing OS X. I wonder if it has to do with the way my display output is configured)
No it's definitely a PC card. It's got the funny s-video out on it.
I haven't the slightest on where the fcode rom would be on the board.
I could probably dump the rom-- I'll just have to pull out my testbench and a board.
Nope, I don't have one of those serial cables.

..... maybe I should just pay the Mac tax and pick up a known compatible card. 😓
I think this thread is for GPUs that are known to work in a newer Power Mac that you want to get working in an older Power Mac.
 

LightBulbFun

macrumors 68030
Nov 17, 2013
2,900
3,195
London UK
@Doq if you have a PC PCI Radeon 9250 then you will simply just have to flash it with a suitable Mac ROM then it will work in your G3 Beige, you dont need to edit anything to get it working in a G3 beige like you do a GeForce 6200

post a picture of the card and tell me the DeviceID if you can and ill point you to the ROM you will want to flash it with :)

you may also need to remove some resistors about, but im not sure how critical these are!

 

Doq

macrumors 6502a
Dec 8, 2019
549
816
The Lab DX
@Doq if you have a PC PCI Radeon 9250 then you will simply just have to flash it with a suitable Mac ROM then it will work in your G3 Beige, you dont need to edit anything to get it working in a G3 beige like you do a GeForce 6200

post a picture of the card and tell me the DeviceID if you can and ill point you to the ROM you will want to flash it with :)

you may also need to remove some resistors about, but im not sure how critical these are!

You got it. imgur.com

I don't remember what the deviceid is, but it's a Diamond 256MB variant if that's any help.

I saw that article too and I'm hoping they're not absolutely necessary (but they might be and I'm not completely confident in my solder skill, especially with components this small).
 
Last edited:

LightBulbFun

macrumors 68030
Nov 17, 2013
2,900
3,195
London UK
You got it. imgur.com

I don't remember what the deviceid is, but it's a Diamond 256MB variant if that's any help.

I saw that article too and I'm hoping they're not absolutely necessary (but they might be and I'm not completely confident in my solder skill, especially with components this small).

looks like a fairly standard reference card

I doubt all 256MB will work but if it has a 128KB EEPROM

and if it is indeed an ATI Radeon 9250 DeviceID and all then try flashing it with this ROM http://campahunta.free.fr/Downloads/ROMs/ati_ret_9200_201_pciagp_full.rom.zip

note that due to the different DeviceID you might need to juggle around to find the correct OS 9 drivers for full acceleration but they are on the Macintosh Garden!

ATI Flasher from graphiccelerator in Mac OS X will do you nicely :)
 

LightBulbFun

macrumors 68030
Nov 17, 2013
2,900
3,195
London UK
on the G3 Beige GeForce 6200 front pleased to report it all works on my Rev B G3 beige :) tis really awesome to see Core Image coming out a G3 beige!

Picture 1 (2).png


for me it was the PNY_6200_PCI.ROM that worked for my PNY GeForce 6200 (Curiously its a green card so, I did try the green card 6200256.ROM first but while that worked for OF OSX would panic, however the VRAM chips on my card are different then either so I guess the VRAM settings for the Blue card match my specific green card better!)
 
  • Love
Reactions: Amethyst1

DearthnVader

Suspended
Dec 17, 2015
2,207
6,392
Red Springs, NC
FFFFF8D0 = 07DC98 6268 105A : Promise Technology, Inc. PDC20270 (FastTrak100 LP/TX2/TX4) FFFF FFFF FFFFF8D0 = 07DCA8 07E3D8: FFFFFFF0 = 07E3C8 4D69 105A : Promise Technology, Inc. 20269 FFFF FFFF FFFFF8C0 = 07DCA8 07E3E8: FFFFFFF0 = 07E3D8 6269 105A : Promise Technology, Inc. PDC20271 (FastTrak TX2000) FFFF FFFF FFFFF8B0 = 07DCA8
I'd be interested in these FCODE ROMs, wonder why they are in the boot rom.
 

flyproductions

macrumors 65816
Jan 17, 2014
1,089
466
Thanx for posting the SoftStraps explanation!

But for my PNY 6200 the complete Straps are just copied from the 512MB PC ROM. And so are all portions, which differ from the 256MB ROM. I don't know what else could be done ton "enable 512MB" in the ROM. But it still shows 256 in OS X.
 

domii

macrumors member
Jul 24, 2022
50
17
Grimsby, Ontario, Canada
Is there even a way to VNC into a Mac, running OS 9? Only way to remote OS 9 i know is Timbuktu. But this needed OS 9 on both sides, as far as i know.
os9vnc works. It has a server part, I just made sure to make an alias that I put in my startup folder to start the server when it booted (without functional video). I used that earlier in the thread on my powertower booting in 9.22. Used my Macbook running Montery with a osx vnc viewer to log into it.
 
  • Like
Reactions: flyproductions

LightBulbFun

macrumors 68030
Nov 17, 2013
2,900
3,195
London UK
I'd be interested in these FCODE ROMs, wonder why they are in the boot rom.
leftovers from the Xserve G4? which IIRC use those ATA chips (and you have to disable them to Boot OS9)

one thing I have noticed over time is that a lot of Apple BootROM's tend to be quite universal in that for a given set of machines from a given generation the BootROM's of all will all have the same components even if in some macs those components are never used

so its quite interesting to see thats true of a PPC ROM too :)
 

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
I'd be interested in these FCODE ROMs, wonder why they are in the boot rom.
I've included the disassembly and Forth parts. The fcode of the Forth may be machine specific so I didn't include it.
https://www.dropbox.com/s/ya5gfv67eqvrwil/ROMDumps.zip?dl=0

Here's my lzss that is used for the decompression. I haven't worked on the compression part.
https://www.dropbox.com/s/v93d0o3k9wc5b32/joevt-lzss.zip?dl=0

Here's the latest version of the tools that are used for producing the dumps or to tokenize the Forth code.
https://github.com/joevt/OpenBIOSStuff
 
Last edited:

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
I've updated all the patches at #487

I'll finish the patch for Open Firmware 1.0.5 next.

Has anyone tried the patches yet?

After that I'll look at the 6200 rom for vram stuff.

on the G3 Beige GeForce 6200 front pleased to report it all works on my Rev B G3 beige :) tis really awesome to see Core Image coming out a G3 beige!

for me it was the PNY_6200_PCI.ROM that worked for my PNY GeForce 6200 (Curiously its a green card so, I did try the green card 6200256.ROM first but while that worked for OF OSX would panic, however the VRAM chips on my card are different then either so I guess the VRAM settings for the Blue card match my specific green card better!)
Can you add a link to the PNY_6200_PCI.ROM that you used? Wondering if it's the original or my patched version or something else.
 
  • Like
Reactions: flyproductions

flyproductions

macrumors 65816
Jan 17, 2014
1,089
466
Has anyone tried the patches yet?
Yes, i did/do. But not the latest updated version. Will try this later.
After that I'll look at the 6200 rom for vram stuff.
If it's of any help in that case, attached are both of the PC ROMs of the PNY 6200s, 256 and 512MB-versions, as well as the Mac-ROM, i am using, which works fine in OS X, but only showing 256MB and showing 512MB in System Profiler when booted to OS 9.

Edit: I don't know, if the 256MB-card, the PC-ROM is for has exact matching PCB-layout, as there are many PNY 6200s. The 512MB version, i have, is this one. At least i know, there is a 256MB-card, using this layout, branded Club3D, i had an fCode-ROM for, which i used to patch for the 512MB-card.
 

Attachments

  • PNY_GF6200_AGP.zip
    117.6 KB · Views: 78
Last edited:

LightBulbFun

macrumors 68030
Nov 17, 2013
2,900
3,195
London UK
I've updated all the patches at #487

I'll finish the patch for Open Firmware 1.0.5 next.

Has anyone tried the patches yet?

After that I'll look at the 6200 rom for vram stuff.


Can you add a link to the PNY_6200_PCI.ROM that you used? Wondering if it's the original or my patched version or something else.
I gave the FW800 MDD patch a quick test with my FW800 MDD and my Quadro FX 4500 (which is a 512MB PCIe card from/for my G5 Quad) but sadly I get the same result as without it, OF hard locks as it attempts to output video to the monitor

(the patch installed into NVRAMRC fine and the system on its own still boots to OF just fine with it in place, so its not regressing anything at least, but the moment I chuck the FX 4500 it all falls over like it normally does)


the ROM I used for my GeForce 6200 and G3 beige, was indeed yours from the zip file 17b :)
 

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
I update #487 with the Open Firmware 1.0.5 patch.

I gave the FW800 MDD patch a quick test with my FW800 MDD and my Quadro FX 4500 (which is a 512MB PCIe card from/for my G5 Quad) but sadly I get the same result as without it, OF hard locks as it attempts to output video to the monitor

(the patch installed into NVRAMRC fine and the system on its own still boots to OF just fine with it in place, so its not regressing anything at least, but the moment I chuck the FX 4500 it all falls over like it normally does)
If the Quadro FX 4500 is the only card we have that we know works in Mac OS X with 512 MB in a Quad G5 , then maybe we should look at that. Can you post a rom dump or link for the Quadro? Plus dump-device-tree from the Quad G5, and an Open Firmware lspci.
 
  • Like
Reactions: Amethyst1

flyproductions

macrumors 65816
Jan 17, 2014
1,089
466
If the Quadro FX 4500 is the only card we have that we know works in Mac OS X with 512 MB in a Quad G5...
There i can add one. The 7800 GTX 512MB. And it's not even as similar to the Quadro as it looks. Quite a lot more powerful.

Here is a collection of three known working 512MB ROMs: The one for the Mac OEM Quadro, as it is in the Wiki. Another one for a Quadro which has memory chips only on one side. And the one for the 7800 GTX 512MB, which has much higher clocks than the Quadros.
 

Attachments

  • 512MB_working_ROMs.zip
    92.7 KB · Views: 89
Last edited:
  • Like
Reactions: LightBulbFun

flyproductions

macrumors 65816
Jan 17, 2014
1,089
466
Also i do not know if it could be of any help for comparing things as it's a completely different card, there is a 256MB version of the GTX too. And here is it's ROM, which the 512's should be based on.
 

Attachments

  • 7800GTX_256.rom.zip
    32.8 KB · Views: 72
  • Like
Reactions: LightBulbFun

joevt

macrumors 604
Jun 21, 2012
6,974
4,262
There i can add one. The 7800 GTX 512MB. And it's not even as similar to the Quadro as it looks. Quite a lot more powerful.

Here is a collection of three known working 512MB ROMs: The one for the Mac OEM Quadro, as it is in the Wiki. Another one for a Quadro which has memory chips only on one side. And the one for the 7800 GTX 512MB, which has much higher clocks than the Quadros.
Which Quadro ROM do you use?
Are the Quadro and 7800 PCI, AGP, or PCIe? Do you have a method to connect PCIe to PCI?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.