Looking for Formac ProMedia 40 ROM Rip

It could also be a defective ram chip, flakey connection, a defective resistor, a defective GPU .... so many options ...
Yeah, I've repaired a fair few PCI video cards. I've never seen issues only while 2D acceleration is running before though.

It can't be a loose connection to VRAM or a bad trace / pin if I can use the almost full VRAM as a framebuffer without issue (I can do 1920x1024 at 8 bit fine, which is about 1.875MB out of the 2MB available.

I should perhaps move it to a slightly more period appropriate age computer perhaps, to reduce variables.
 
Ok, confirmed the issue, weird and annoying as it is.

So I extended the card to 4MB. One of the chips was bad that I added, so I got artifacts on the lower 1/5 of the screen at 1280*1024 at Thousands of colours. I found two alternative chips and swapped them in and the artifacts went away. So we know the display is using more than 2MB for the framebuffer, and that the bottom 1/5 or so uses the new chips.

I then turned on acceleration...

The acceleration artifacting only impacts the top 4/5 of the screen. Keep in mind that there are 45ns chips in both portions. So I suspect, some of these 45ns chips might be... How you might say, "optimistic". Not sure if someone re-labelled them back in the day to make their card look better (they're soldered, so unlikely to be modern upgrades), or if they were marginal from factory.

FYI I'm now testing using my junker 8600, just in case it was a compatibility issue with the QuickSilver.

1000035634.jpg

Other interesting stuff...

I tried a Virge DX with the Formac ROM but it didn't display anything (not a suprise, I'm sure the ROM checks for the PID).

I replaced the 60MHz hex frequency parameter right at the start of the ROM with 50MHz, and it made absolutely no difference. It didn't change the benchmark score, didn't change the reported speed in the older GA Control Panel, and it didn't solve the artifacts with 2D acceleration.

I have some more RAM chips on the way from China. Hopefully they're fast enough. I can test them in the sockets before using them to replace the onboard chips.
 
Last edited:
I replaced the 60MHz hex frequency parameter right at the start of the ROM with 50MHz, and it made absolutely no difference. It didn't change the benchmark score, didn't change the reported speed in the older GA Control Panel, and it didn't solve the artifacts with 2D acceleration.

The 60MHz string is just for the display in the older control panel (4.x). The 5.x control panel no longer displays the chip frequency. Somewhere in the rom there are some bytes that can be changed to get higher clock speeds.

I have completely socketed my flashed PC Virge to test different VRam chips but after some time the card developed similar stripes like you have, although less extreme. At first it only happened at higher resolutions and 8bit color but now it happens all the time :-/. Some pins might not be soldered correctly and have to clean the card in my ultrasonic cleaner and reflow the pins.

-Jonas
 
The 60MHz string is just for the display in the older control panel (4.x).
That text didn't change when I changed it to 50MHz. It is in HEX rather than a String. But yes, it doesn't seem to be a setting for the actual speed.

I have completely socketed my flashed PC Virge to test different VRam chips but after some time the card developed similar stripes like you have, although less extreme. At first it only happened at higher resolutions and 8bit color but now it happens all the time :-/. Some pins might not be soldered correctly and have to clean the card in my ultrasonic cleaner and reflow the pins.
Yeah, bad connections look similar :(

In my case it goes away when I turn off acceleration, which is the unusual thing that shows it isn't a bad connection.
 
I spoke to my dad earlier and he thinks he has a ProFormance, ProFormance II, ProFormance Lite and ProFormance III in a box... I might need to borrow them for Science.
 
ProFormance - #9 Imagine 128 II
ProFormance II - #9 T2R (Imagine 128 III)
ProFormance Lite #9 T2R (Imagine 128 III)
The Imagine II has excellent memory access speed and a good 2D acceleration as well as limited 3D acceleration.
The T2R is an ok 3D accelerator and has decent to excellent 2D performance.

ProFormance III - Permedia 3
The Permed 3 is a very fast 2D and 3D card. Excellent for Rave and OpenGL. No OSX support, though.
The 32Mb version is kinda rare and prone to memory failure. I have one defective 16mb and two defective 32mb cards.
 
Yeah, I'm fairly familiar with them. I had a ProFormance II as a kid, and my dad had a III. I have a ProFormance on the side right now because I was comparing 2D performance with the ProMedia.

Is there much difference between the performance of the II and the Lite? I'm guessing it is a little bit slower than the II because it only has single ported VRAM, or am I guessing wrong.

I'll borrow them at some point as I have a soft spot for Formac cards.
 
That text didn't change when I changed it to 50MHz. It is in HEX rather than a String. But yes, it doesn't seem to be a setting for the actual speed.
I was sure to have tested that some years ago. Back then i first thought to have found an easy way to overclock the card.
But the benchmark results never changed and i thought i saw the new value in the control panel. I must have been mistaken.

The technician i talked with in the late 90s at Formac (when i ordered my updated 1.2.6 ROM) said that only 2 bytes in the rom at different o
locations have to be changed to modify the clock speed of the card. If i remember correctly, one byte selects a range and the other is some kind of multiplier? I cannot find my documents from back then and i may have thrown them away when i moved.

The real stupid thing is that in 1998/99 i had access to cheap surplus Matrox Millennium cards for the PC which i flashed to Mac and sold privately for a nice gain. Those matrox cards were only 2Mb versions and i had the idea that the ProMedia was better than the Millennium. But in 2D, the Millennium is faster, more robust and has a better image quality than the Virge. In 1997 I also did clock-chipping with 604 PPC cards as a 'service'.

Back then you could just ask the company by telephone for a driver, flash utility or documentation and they would just send it to you, most times for free. Smaller companies like Formac would charge some amount of money (like 59DM), though. Some companies would even send you chip-samples. I had a good contact at Siemens and i could get a small amount of various (kinda random types) OTP ROMs once or twice every year for free.

Those times were neat :-)

Is there much difference between the performance of the II and the Lite? I'm guessing it is a little bit slower than the II because it only has single ported VRAM, or am I guessing wrong.
I don't know how the two chips compare over all but the QD3D accelerator was fastest with the Imagine 128 II by some percent. The QD3D accelerator does many small DMA transfers.
 
If i remember correctly, one byte selects a range and the other is some kind of multiplier? I cannot find my documents from back then and i may have thrown them away when i moved.
That is more in line with what I expected to find, I was surprised to find the clock as a single value. But yes, it wasn't helpful.

Virge documentation page 65 (of the PDF) has the clock formula, but you wouldn't need to change all of the values to get the desired result.

which i flashed to Mac
I've flashes a Millennium and a Millennium II for myself a couple of years back. I need to revisit the II as it had a dry solder joint in its VRAM expansion board. Always a thousand things to do.

In 1997 I also did clock-chipping with 604 PPC cards as a 'service'.
I've never actually done that - there are always so many G3 cards about that I tend to just throw a G3 in whatever machine. I have a draw with almost every Apple card in it. It's fun to turn a single computer into any speed you feel like - did you know the 601 card from the 7500 actually works in the 9600? :LOL: I have run my 9600 as a 601 based 9600/100 for a while. It puts a smile on my face. It actually benchmarks faster than a 100MHz 8100, I assume due to the RAM or Cache performance.

Postscript - I've just seen you've posted bits from the Virge datasheet - sorry, I hadn't seen the latest post while writing the above.
 

Attachments

Are we looking at GA6 1.0.6 or 1.2.6 ROM?

Both have code that references these registers:
3c4h Sequencer Index Register (SEQX)
3c5h Sequencer Data Register (SEQ_DATA)

1.0.6 appears to have code that modifies:
SR1, SR8, SR9.
colon_definition_function_80b ( data index -- ) is for modifying an entire byte.

1.2.6 has code that modifies:
SR1, SR4, SR8, SR9, SRA, SRD, SR10, SR11, SR12, SR13, SR15, SR18, SR1C.
colon_definition_function_80e ( data index -- ) is for modifying an entire byte.
colon_definition_function_80f ( data bits index -- ) is for read/modify/write of bits.

Is the "ViRGE Integrated 3D Accelerator" document sufficient for creating emulation for this PCI device? If so, then you could add emulation for this in DingusPPC, and log how the registers get accessed.
 
Back
Top