VOGONS


Matrox G450 PCI any good use?

Topic actions

Reply 20 of 55, by igna78

User metadata
Rank Member
Rank
Member

Back when I started working on my first retro build (a 486 with muscles of steel), I had considered using the G450 as a 2D card, however, wanting to use the MS-DOS 6.22 + Windows 3.1 combination, I found myself limited in Windows to using the generic 256 color driver (Matrox had released Win 3.1 drivers for the G400 but not for the G450). So I looked for a solution: I had thought about modifying the G400 drivers (as mentioned, G450 is a simple die shrink of G400) however I found various negative experiences in this regard on the Internet and therefore I decided to give up.

Maybe whoever had tried to modify the G400 drivers to use them with the G450 had done something wrong, they didn't have enough experience.

For my build, I just thought, having a 4MB Millennium II available, that it would be enough for DOS and Win 3.1 and that in this way I would finish my build quickly and without any particular problems... and so it was... and so the project retro began 😁

Reply 21 of 55, by Jackhead

User metadata
Rank Member
Rank
Member

I use the G450 with a win95 build in combination with a voodoo1 and a Matrox M3d, and it works great for me.

Dos 6.22: Asus VL/I-486SV2GX4 Rev 2.0 1Mb L2 - A5x86 X5 P75 - 64MB - AHA-2842A VLB - ET4000W32P VLB - CT2230 - GUS ACE - MPU-401AT with YucatanFX
Win98SE: Asus P5K-WS - E8600 @ 4,5GHz - Strange God Voodoo 5 6000 PCI-X - 2GB DDR2 1066 - Audigy 2 ZS

Reply 22 of 55, by Putas

User metadata
Rank Oldbie
Rank
Oldbie
igna78 wrote on 2023-09-08, 22:36:

as mentioned, G450 is a simple die shrink of G400

That is impossible. G450 added a second ramdac and surely they wouldn't spare transistors on an unused 128-bit memory bus while they were at it.

Reply 23 of 55, by igna78

User metadata
Rank Member
Rank
Member
Putas wrote on 2023-09-09, 17:14:
igna78 wrote on 2023-09-08, 22:36:

as mentioned, G450 is a simple die shrink of G400

That is impossible. G450 added a second ramdac and surely they wouldn't spare transistors on an unused 128-bit memory bus while they were at it.

I'm not a techie, but I remember several articles from the time referring to the G450 chip as a G400 chip built on a smaller process.

G450 spec: https://www.techpowerup.com/gpu-specs/millennium-g450.c1922

G400 spec: https://www.techpowerup.com/gpu-specs/millennium-g400.c3720

From the technical specifications reported on the boards made by TechPowerUp what I said seems confirmed to me.

Then the fact that the video cards based on these chips have different capacities because they are equipped with a different number of RAMDACs, as well as different memories and commission buses, this is another matter.

If you want to make a comparison it's like between P3 Coppermine and P3 Tualatin, they are essentially the same CPU, only that the second one, having been built with a more efficient process, was able to scale up in speed and with the extra space freed up on the die it received more L2 cache 😁

Reply 24 of 55, by Putas

User metadata
Rank Oldbie
Rank
Oldbie
igna78 wrote on 2023-09-09, 22:56:
Putas wrote on 2023-09-09, 17:14:
igna78 wrote on 2023-09-08, 22:36:

as mentioned, G450 is a simple die shrink of G400

That is impossible. G450 added a second ramdac and surely they wouldn't spare transistors on an unused 128-bit memory bus while they were at it.

Then the fact that the video cards based on these chips have different capacities because they are equipped with a different number of RAMDACs, as well as different memories and commission buses, this is another matter.

If you want to make a comparison it's like between P3 Coppermine and P3 Tualatin, they are essentially the same CPU, only that the second one, having been built with a more efficient process, was able to scale up in speed and with the extra space freed up on the die it received more L2 cache 😁

it is not another matter. Die shrink means taking the same die and making it smaller. Enlarging the L2 cache for example means at the very least rearranging the layout, necessitating a design effort.

Reply 25 of 55, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

If it would be just a die shrink without changing any internal registers and logic then there's no reason why G450 not work (after changing DID) with old drivers. But as there 2nd RAMDAC was added it would be reason that some internal logic was changed and that could break the compatability with drivers. If we would have datasheets (not just a brief tech. spec) of both chips then we can compare how it really differs but I didn't find any leaked document of Gxx series, all I have is Matrox MGA-2164W developer’s specification.pdf

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 26 of 55, by Nemo1985

User metadata
Rank Oldbie
Rank
Oldbie

So, now I have more knowledge about matrox cards than earlier, I took my G450 PCI again and I can try to modify the pins and overclock the memory to 200 mhz, obviously since the clock are ganged the core clock will follow.
It should be possible since the memory are rated for 5ns, what do you think?

I tested the card in windows 98, I confirm that overclocking with powerstrip makes the card slower and choppy (same behaviour as windows xp), I will try to use other utilities if possible and then try the pins overclock but I need to study it carefully.

So apparently the overclocking (with pins) quest is more difficult than I thought.
The standard frequency for the card as we know it's 115,20 for the core and 144 for the memory. Any overclock attempt with powerstrip slows the card down, any attempt with MGATweak leads to a completely messed up image.
What I found so far is the card has a System PLL clock of 279,00 mhz which is roughly the 115+144+20 (I don't know what the 20 difference is). If I overclock the card to 120-150 the system pll becomes 299,45.

The original pins structure is the following:

; Warning: this PInS dump may be incomplete.
; Verify it before using it with Progbios !!!
Fill: 0 127 0xFF
;loc size val desc
0 2 0x412E ; "PIN"
2 1 0x80 ; Struct length
3 1 0xFF ;
4 2 0x0502 ;
6 2 0x099F ;
8 2 0x0002 ;
10 2 0x0304 ;
12 16 'KEP62615' ;
28 6 '303' ;
34 2 0x3EB3 ;
36 1 150 ; Max SClk VCO freq/8
37 1 150 ; Max VClk VCO freq/8
38 1 150 ; Max PClk VCO freq/8
39 1 90 ; Max CRTC1 PClk/4 8bpp
40 1 90 ; Max CRTC1 PClk/4 16bpp
41 1 90 ; Max CRTC1 PClk/4 24bpp
42 1 90 ; Max CRTC1 PClk/4 32bpp
43 1 58 ; Max CRTC2 PClk/4 16bpp
44 1 58 ; Max CRTC2 PClk/4 32bpp
45 1 0xFF ; VGA1 PClk
46 1 0xFF ; VGA2 PClk
47 1 0x1C ; Max PClk Plink/4
48 4 0x404A1560 ;
52 4 0x0000AC00 ;
56 1 72 ; VGA SClk/4
57 1 72 ; VGA VClk/4
58 4 0x0090A409 ; VGA OP3
62 4 0x0A81462B ; VGA MCTLWTST
66 4 0x80000004 ; VGA MEMMISC
70 4 0x01001522 ; VGA MEMRDBK
74 1 72 ; SH SClk/4
75 1 72 ; SH VClk/4
76 4 0x0090A409 ; SH OP3
80 4 0x0A81462B ; SH MCTLWTST
84 4 0x80000004 ; SH MEMMISC
88 4 0x01001522 ; SH MEMRDBK
92 1 72 ; DH SClk/4
93 1 175 ; DH VClk/4
94 4 0x0090A409 ; DH OP3
98 4 0x0A81462B ; DH MCTLWTST
102 4 0x80000004 ; DH MEMMISC
106 4 0x01001522 ; DH MEMRDBK
110 4 0xE7FFFFEE ; Factory Options
114 2 0xFFA3 ; MemConfig
116 2 0x5312 ; Display Info
118 1 90 ; Max PClk1/4
119 1 90 ; Max PClk2/4
120 1 255 ; Reserved
121 1 48 ; Min SClk VCO
122 1 32 ; Min VClk VCO
123 1 32 ; Min PClk VCO
124 1 51 ; Max DH PClk1 32bpp/4
125 1 51 ; Max DH PClk2 32bpp/4
126 1 0x05 ; Reserved/PARrev
127 1 0x2D ; checksum

Show last 3 lines
:filetype CONDOR
:PCBinfo 958-03
:SubsystemVendorId 0x02331014

The checksum is calculated as follow: all bytes sum modulo 256 = 0
According to the most informative matrox website, to overclock the pins of the g400 (which is incomplete) should be:

Altering the PInS - G400 If you want to increase the SCLK above your card's factory limits, first change the SCLK limit. The val […]
Show full quote

Altering the PInS - G400
If you want to increase the SCLK above your card's factory limits, first change the SCLK limit. The value coded in PInS is actually 1/4 of the real one, so "75" means 300 and "90" means 360.
To change the SCLK and GCLK for 3D modes, edit the fields......(soon)
Also, if you want to overclock the nonMax to near-Max values, start with changing the memory control word at location 81. .....(soon)

The sclk seems high enough (150*4=600 which should be the combination between memory and core clock?).
The interesting value as pointed out seems the sclk which is 72 (72*4=288), my guess would be to increase the values of pins 56 and 57 to 75 and see what will be the frequencies with powerstrip (I do not consider MGATweak reliable).
Any suggestion is appreciated.

Reply 27 of 55, by Nemo1985

User metadata
Rank Oldbie
Rank
Oldbie

Success! I've been able to modify the pins and the new frequency is now 124/155! I did two tries, the first one I modified just the pin 56 and 92. It gave the new clock in dos but not in windows, then I modified every 72 in the file to 78, it gave the higher clock in both environment. Apparently there are differeent clocks for different modes. The performance are faster, it doesn't suffer the drawback of powerstrip overclock. I'm going to push it further, if anything goes wrong I will be able to revert to the old pins.

As attachment the modified pins.

The attachment G450OC.TXT is no longer available

78 = 124/155
80= 127/159
83=133/166
87=139/173
88=140/176
89=143/179
93=149/186

I can say that the card doesn't support the 200 mhz on memory, it shows artifacts after some seconds.

Reply 28 of 55, by PainDictator

User metadata
Rank Newbie
Rank
Newbie
Nemo1985 wrote on 2024-08-07, 11:19:

What I found so far is the card has a System PLL clock of 279,00 mhz which is roughly the 115+144+20 (I don't know what the 20 difference is).

The reason is that for the G450, the formula for the PLL frequency has changed from

Fvco = Fref*(XSYSPLLN+1)/(SYSPLLM+1)

to

Fvco = 2*Fref*(XSYSPLLN+2)/(SYSPLLM+1)

Where Fref=27MHz. The change from +1 to +2 for N makes your difference.

Also, post-dividers from P work differently now. If bit 6 in P is set, they are not applied, otherwise they are double the value (i.e., 2,4,8,16 instead of 1,2,4,8)

Note that there are more changes since the G400 that affect PLL behavior.

Reply 29 of 55, by Nemo1985

User metadata
Rank Oldbie
Rank
Oldbie

Thank you for the explanation

Reply 30 of 55, by PainDictator

User metadata
Rank Newbie
Rank
Newbie
Nemo1985 wrote on 2024-08-11, 13:55:
Success! I've been able to modify the pins and the new frequency is now 124/155! I did two tries, the first one I modified just […]
Show full quote

Success! I've been able to modify the pins and the new frequency is now 124/155! I did two tries, the first one I modified just the pin 56 and 92. It gave the new clock in dos but not in windows, then I modified every 72 in the file to 78, it gave the higher clock in both environment. Apparently there are differeent clocks for different modes. The performance are faster, it doesn't suffer the drawback of powerstrip overclock. I'm going to push it further, if anything goes wrong I will be able to revert to the old pins.

As attachment the modified pins.

The attachment G450OC.TXT is no longer available

78 = 124/155
80= 127/159
83=133/166
87=139/173
88=140/176
89=143/179
93=149/186

I can say that the card doesn't support the 200 mhz on memory, it shows artifacts after some seconds.

In case you are wondering: You might use OPTION3 to change the memory divider independend from the core clock. It is located in Bits 15:13. For the G400, the resulting values where

‘000’: select Graphic Clock Source multiplied by 1/3
‘001’: select Graphic Clock Source multiplied by 2/5
‘010’: select Graphic Clock Source multiplied by 4/9
‘011’: select Graphic Clock Source multiplied by 1/2
‘100’: select Graphic Clock Source multiplied by 2/3
‘101’: Graphic Clock Source bypass
‘110’: Reserved
‘111’: Reserved

Since however 101 seems to be a divide by two nowadays, my first guess would be that the values are doubled for the G450 compared to the G400 to compensate the doubled input frequncy setup. Thus, 1/3 would become 1/6, 2/5 would become 2/10 and so on. Have no time to verify this, but would love to hear about it in case you try this.

Reply 31 of 55, by PainDictator

User metadata
Rank Newbie
Rank
Newbie
PainDictator wrote on 2025-02-19, 17:34:
In case you are wondering: You might use OPTION3 to change the memory divider independend from the core clock. It is located in […]
Show full quote
Nemo1985 wrote on 2024-08-11, 13:55:
Success! I've been able to modify the pins and the new frequency is now 124/155! I did two tries, the first one I modified just […]
Show full quote

Success! I've been able to modify the pins and the new frequency is now 124/155! I did two tries, the first one I modified just the pin 56 and 92. It gave the new clock in dos but not in windows, then I modified every 72 in the file to 78, it gave the higher clock in both environment. Apparently there are differeent clocks for different modes. The performance are faster, it doesn't suffer the drawback of powerstrip overclock. I'm going to push it further, if anything goes wrong I will be able to revert to the old pins.

As attachment the modified pins.

The attachment G450OC.TXT is no longer available

78 = 124/155
80= 127/159
83=133/166
87=139/173
88=140/176
89=143/179
93=149/186

I can say that the card doesn't support the 200 mhz on memory, it shows artifacts after some seconds.

In case you are wondering: You might use OPTION3 to change the memory divider independend from the core clock. It is located in Bits 15:13. For the G400, the resulting values where

‘000’: select Graphic Clock Source multiplied by 1/3
‘001’: select Graphic Clock Source multiplied by 2/5
‘010’: select Graphic Clock Source multiplied by 4/9
‘011’: select Graphic Clock Source multiplied by 1/2
‘100’: select Graphic Clock Source multiplied by 2/3
‘101’: Graphic Clock Source bypass
‘110’: Reserved
‘111’: Reserved

Since however 101 seems to be a divide by two nowadays, my first guess would be that the values are doubled for the G450 compared to the G400 to compensate the doubled input frequncy setup. Thus, 1/3 would become 1/6, 2/5 would become 2/10 and so on. Have no time to verify this, but would love to hear about it in case you try this.

Since the graphic clock value is set as 001 but still comes up as 2/5 and graphics and memory dividers used to be defined to equal values, my second gues would be that values before 101 remain as for the G400 and starting from 101 the definition has changed.

Reply 32 of 55, by Nemo1985

User metadata
Rank Oldbie
Rank
Oldbie
PainDictator wrote on 2025-02-19, 17:34:
In case you are wondering: You might use OPTION3 to change the memory divider independend from the core clock. It is located in […]
Show full quote
Nemo1985 wrote on 2024-08-11, 13:55:
Success! I've been able to modify the pins and the new frequency is now 124/155! I did two tries, the first one I modified just […]
Show full quote

Success! I've been able to modify the pins and the new frequency is now 124/155! I did two tries, the first one I modified just the pin 56 and 92. It gave the new clock in dos but not in windows, then I modified every 72 in the file to 78, it gave the higher clock in both environment. Apparently there are differeent clocks for different modes. The performance are faster, it doesn't suffer the drawback of powerstrip overclock. I'm going to push it further, if anything goes wrong I will be able to revert to the old pins.

As attachment the modified pins.

The attachment G450OC.TXT is no longer available

78 = 124/155
80= 127/159
83=133/166
87=139/173
88=140/176
89=143/179
93=149/186

I can say that the card doesn't support the 200 mhz on memory, it shows artifacts after some seconds.

In case you are wondering: You might use OPTION3 to change the memory divider independend from the core clock. It is located in Bits 15:13. For the G400, the resulting values where

‘000’: select Graphic Clock Source multiplied by 1/3
‘001’: select Graphic Clock Source multiplied by 2/5
‘010’: select Graphic Clock Source multiplied by 4/9
‘011’: select Graphic Clock Source multiplied by 1/2
‘100’: select Graphic Clock Source multiplied by 2/3
‘101’: Graphic Clock Source bypass
‘110’: Reserved
‘111’: Reserved

Since however 101 seems to be a divide by two nowadays, my first guess would be that the values are doubled for the G450 compared to the G400 to compensate the doubled input frequncy setup. Thus, 1/3 would become 1/6, 2/5 would become 2/10 and so on. Have no time to verify this, but would love to hear about it in case you try this.

Thank you so much for those precious details.
I will be available in the next days to try those settings (and probably do any other necessary overclock testing if can be of any use).
That being said I need to refresh my memory about how to do it, the option3 is a switch to use during flash of the pins? When you mention Bits 15:13 can you explain what do you mean? Or even better what I need to change in the text file?

Thank you for your patience.

Reply 33 of 55, by PainDictator

User metadata
Rank Newbie
Rank
Newbie
Nemo1985 wrote on 2025-02-19, 18:01:
Thank you so much for those precious details. I will be available in the next days to try those settings (and probably do any ot […]
Show full quote
PainDictator wrote on 2025-02-19, 17:34:
In case you are wondering: You might use OPTION3 to change the memory divider independend from the core clock. It is located in […]
Show full quote
Nemo1985 wrote on 2024-08-11, 13:55:
Success! I've been able to modify the pins and the new frequency is now 124/155! I did two tries, the first one I modified just […]
Show full quote

Success! I've been able to modify the pins and the new frequency is now 124/155! I did two tries, the first one I modified just the pin 56 and 92. It gave the new clock in dos but not in windows, then I modified every 72 in the file to 78, it gave the higher clock in both environment. Apparently there are differeent clocks for different modes. The performance are faster, it doesn't suffer the drawback of powerstrip overclock. I'm going to push it further, if anything goes wrong I will be able to revert to the old pins.

As attachment the modified pins.

The attachment G450OC.TXT is no longer available

78 = 124/155
80= 127/159
83=133/166
87=139/173
88=140/176
89=143/179
93=149/186

I can say that the card doesn't support the 200 mhz on memory, it shows artifacts after some seconds.

In case you are wondering: You might use OPTION3 to change the memory divider independend from the core clock. It is located in Bits 15:13. For the G400, the resulting values where

‘000’: select Graphic Clock Source multiplied by 1/3
‘001’: select Graphic Clock Source multiplied by 2/5
‘010’: select Graphic Clock Source multiplied by 4/9
‘011’: select Graphic Clock Source multiplied by 1/2
‘100’: select Graphic Clock Source multiplied by 2/3
‘101’: Graphic Clock Source bypass
‘110’: Reserved
‘111’: Reserved

Since however 101 seems to be a divide by two nowadays, my first guess would be that the values are doubled for the G450 compared to the G400 to compensate the doubled input frequncy setup. Thus, 1/3 would become 1/6, 2/5 would become 2/10 and so on. Have no time to verify this, but would love to hear about it in case you try this.

Thank you so much for those precious details.
I will be available in the next days to try those settings (and probably do any other necessary overclock testing if can be of any use).
That being said I need to refresh my memory about how to do it, the option3 is a switch to use during flash of the pins? When you mention Bits 15:13 can you explain what do you mean? Or even better what I need to change in the text file?

Thank you for your patience.

Its the OP3 Value (0x0090A409) that goes into OPTION3.

Its a 32-Bit hex value and we care about bits 15-13. So for the example provided from the Pins, 0x0090A409 is the OP3 hex value that corresponds to the binary value

0 0 9 0 A 4 0 9
0000 0000 1001 0000 >101<0 0100 00>00 1<001

The relevant Bits for the memory clock (Bits 15-13) and core clock (Bits 5-3) dividers are marked above. Change one of both of these 3-bit fields to other values. You may use the windows calculator in programmers mode to get the right numbers. Note that in the file, 0x is used to prefix hex numbers.

For the actual values, the table in the other post is from the G400 and seems to be correct for the particular core setting and incorrect for the memory setting. I would suggest using some benchmarks to very actual results, as I dont know any other values for the G450 than the ones from the example.

Still, I would first try to keep the core constant and try different memory settings. As there are only 8 of them, its fairly doable to try them all and see which ones work and provide better results.

Reply 34 of 55, by byte_76

User metadata
Rank Member
Rank
Member

Is it confirmed that these Matrox G450 PCI cards from China do work in the 5V PCI slots of a 486 motherboard?

Why would I do that?

Because I don’t have any more spare PCI cards available and online sellers seem to think that old 1mb and 2mb cards are made of gold.
So I can get a 32MB Matrox G450 with VGA and DVI for less than a vintage 2mb card and it should work well for DOS games.

Reply 35 of 55, by PD2JK

User metadata
Rank Oldbie
Rank
Oldbie

Any pictures of these China cards? There should be components on the card to bring 5V back to a voltage the chip can work with.

i386 16 ⇒ i486 DX4 100 ⇒ Pentium MMX 200 ⇒ Athlon Orion 700 | TB 1000 ⇒ AthlonXP 1700+ ⇒ Opteron 165 ⇒ Dual Opteron 856

Reply 36 of 55, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
byte_76 wrote on 2025-04-21, 09:05:
Is it confirmed that these Matrox G450 PCI cards from China do work in the 5V PCI slots of a 486 motherboard? […]
Show full quote

Is it confirmed that these Matrox G450 PCI cards from China do work in the 5V PCI slots of a 486 motherboard?

Why would I do that?

Because I don’t have any more spare PCI cards available and online sellers seem to think that old 1mb and 2mb cards are made of gold.
So I can get a 32MB Matrox G450 with VGA and DVI for less than a vintage 2mb card and it should work well for DOS games.

Yes those Matrox cards are nice.
I use one of them in my 486/160.
However, the PCI-AGP bridge chip needs a heatsink when driven with 40 MHz FSB.

Reply 37 of 55, by byte_76

User metadata
Rank Member
Rank
Member

Okay I tested in my GA-5486AL and it just beeps 🙁

Reply 38 of 55, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
byte_76 wrote on 2025-04-21, 10:28:

Okay I tested in my GA-5486AL and it just beeps 🙁

Which FSB?

Reply 39 of 55, by byte_76

User metadata
Rank Member
Rank
Member
PD2JK wrote on 2025-04-21, 09:38:

Any pictures of these China cards? There should be components on the card to bring 5V back to a voltage the chip can work with.

Here: