VOGONS


First post, by CRG

User metadata
Rank Newbie
Rank
Newbie

I'm trying to get a diamond monster voodoo 1 working again. Mojo find the fbi but reports no fbi ram and dead tmu.

I've relowed both chips and recapped the board (several electrolytics had leaked). Also reflowed the ram but none of this made any difference.

Not giving up yet though...

There are a couple of scratches on the board but no broken traces.

The 14.31818 crystal is good.

I understand the fbi takes this clock and generates a 50mhz clock for it and the tmu to run on. Is there a pinout available for either chip so I could check this?

Checking ram with the scope there is no activity on any pins hense why I'm thinking clock. Or it might be reset problem but again a pinout or schmatic would greatly help.

I've search google but not came up with much.

Reply 1 of 4, by CRG

User metadata
Rank Newbie
Rank
Newbie

Bit of a correction to the above. Tracing it out the 14.31818 crystal is connected to the gendac not the FBI!

The only other active signal I can find on the board is an 11.6mhz clock on the gendac, tmu and fbi. Everything else is either stuck low or high.

Now leaning onto this maybe being a reset issue and maybe the F04.

Reply 2 of 4, by CRG

User metadata
Rank Newbie
Rank
Newbie

Well its not a reset issue, swapped the F04 and its just the same.

Could really use a schematic.

Is the gendac chip responsible for generating the board clock?

Reply 3 of 4, by sdz

User metadata
Rank Oldbie
Rank
Oldbie

Yes, the RAMDAC is responsible for generating the board clocks. Idle clocks are lower than running clocks. Don't recall exactly what they are on the V1 when idle, but it may well be that 11.6MHz you're measuring.
It's expected not to see any activity on the RAM addr/ctrl/data lines while the card is idle. If you probe during mojo, you will see a blip (if it goes to the point of trying to count memory and not failing earlier).
You can set the following (eg. in autoexec.bat) and then run mojo, to get more info about where it fails:

SET SST_INITDEBUG=1
SET SST_DEBUGDAC=1
SET SST_INITDEBUG_FILE=C:\VOODOO1.LOG

You can find a schematic here : https://sdz-mods.com/index.php/2024/05/20/voodoo-4400h/ . If you ignore the FPGA for generating the HDMI output and the extra RAM, it pretty much matches a standard Voodoo 1.

Might also want to check @Thermalwrong's "3Dfx Voodoo 1 - Low level hardware information and diagnostics thread" thread here 3Dfx Voodoo 1 - Low level hardware information and diagnostics thread

Reply 4 of 4, by CRG

User metadata
Rank Newbie
Rank
Newbie

Thanks for the info. Adding those commands to autoexec gives me this output to the log

sst1Init Routines: InitCode $Revision: 8 $
sst1InitMapBoard(): BoardsInSystem = 1
sst1InitMapBoard(): vAddr:0xf8000000 pAddr:0xf8000008 Dev:0x3 Board:0
sst1InitRegisters(): Setting TREX-to-FBI FIFO THRESHOLD to 0x8...
sst1InitRegisters(): Setting PRELIM FT-CLK delay to 0x8...
sst1InitDacDetect(): Entered...
sst1InitDacDetectICS(): Entered...
dacWr(0x7,0xb)
dacRd(0x5,0x79)
dacRd(0x5,0x2e)
dacWr(0x7,0x1)
dacRd(0x5,0x55)
dacRd(0x5,0x49)
dacWr(0x7,0x7)
dacRd(0x5,0x71)
dacRd(0x5,0x29)
sst1InitDacDetectICS(): Exiting...
sst1InitRegisters(): Storing TREX0INIT0=0x5441
sst1InitRegisters(): Storing TREX0INIT1=0xf420
sst1InitRegisters(): Storing TREX1INIT0=0x5441
sst1InitRegisters(): Storing TREX1INIT1=0xf420
sst1InitRegisters(): Storing TREX2INIT0=0x5441
sst1InitRegisters(): Storing TREX2INIT1=0xf420
sst1InitSetGrxClk(): Entered...
dacWr(0x7,0xe)
dacRd(0x5,0x0)
dacWr(0x4,0xa)
dacWr(0x5,0x7b)
dacWr(0x5,0x6c)
dacWr(0x4,0xe)
dacWr(0x5,0x0)
sst1InitRegisters(): Setting up FAST DRAM Configuration
ERROR: b_sum=0x0f8 r_sum=0x078
sst1InitFillDeviceInfo(): Retry #1 for chip GetInfo()...
ERROR: b_sum=0x0f8 r_sum=0x048
sst1InitFillDeviceInfo(): Retry #2 for chip GetInfo()...
ERROR: b_sum=0x0f8 r_sum=0x000
sst1InitFillDeviceInfo(): Retry #3 for chip GetInfo()...
ERROR: b_sum=0x080 r_sum=0x000
sst1InitFillDeviceInfo(): Retry #4 for chip GetInfo()...
ERROR: b_sum=0x080 r_sum=0x000
sst1InitRegisters(): ERROR filling DeviceInfo...

It seems to be crashing when trying to write to the ram which I assume is the ram of the FBI first hence why the TMU is showing dead, the test fails at the FBI ram and doesn't go any further?

Decided to swap out the RAMDAC just because I had a spare anyway and it changed the clock slightly but it still looks wrong. Clock increased to 12.6MHz on pin 11 but I believe this is meant to be 45MHz. There is a 6.66MHz clock on pin 8. I then isolated this clock by removing the 47ohm resistor that sits in line with it to the FBI and TMU. No difference, it stays at 12.6mhz.

One possible oddity is that after mojo is ran this clock from pin 11 on the RAMDAC drops to 2(ish) MHz. Can remember the exact frequency but its drop to this level and doesn't recover until I hard reset (power off/on). Running mojo again just outputs the same error although occasionally the figures at the FAST RAM Configuration change.

Open to suggestions before I just call this dead.