VOGONS


Voodoo2 diagnostics software (Witchery)

Topic actions

First post, by Fagear

User metadata
Rank Member
Rank
Member

Hello!
I don't know if this is the right place to post it, but...
Since 2022 I'm developing (with help from other people) a low-level diagnostics utility for boards based on Voodoo2 chipset.
I think now it's ready for public beta release.

Earlier version of Witchery was already showcased in BuB's videos.

It's been developed under Linux (there are several reasons for that) but release incudes both static binary for Linux systems as well as a package to run from DOS.

Witchery supports boards build on Voodoo2 chipset ONLY.
Voodoo1 (Voodoo Graphics) could be supported, but there are technical issues that prevent that at the moment.
There's no planned support for Voodoo Rush/Banshee/3/4/5.

This version in NOT final, development is still in progress (and there's little to none documentation for hardware for research).

Here's the list of diagnostic features that are already working:

  • FBI ASIC connection to PCI bus
  • FBI ASIC internal registers integrity
  • FBI ASIC strap resistor configuration
  • FBI to RAMDAC connectivity
  • RAMDAC clock generation
  • FBI ASIC to FB RAM connectivity (per RAM IC)
  • FB RAM internal integrity (per RAM IC, using march test)
  • FBI ASIC rendering pipeline
  • FBI to TMU #0 connectivity
  • TMU #0 ASIC strap resistor configuration

TMU #0 RAM could not be tested yet, TMU #1 could not be accessed and tested at all.

There are several helping features built-in, try those via launching as:

witchery -h
witchery -q
witchery conmap -r

Example of launching with enabled sounds:

witchery -s

When execution is complete user can scroll output up or down using [Shift]+[PageUp] or [Shift]+[PageDown] keys.
Suggestions (usually in bright yellow) are output from the beginning of the log in order from most likely to the least likely.

This version of utility is free to redistribute, but repository is not public yet.
It will go open source when it comes out of beta.

Here's a link for those who are interested: https://disk.yandex.ru/d/3RnXpmkipStgEg

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 2 of 39, by Yoghoo

User metadata
Rank Member
Rank
Member

Thanks! Was waiting for this. Got a Voodoo 2 card for some time which has issues. Hopefully it will be help to point out where the problem is.

Reply 3 of 39, by Fagear

User metadata
Rank Member
Rank
Member
Yoghoo wrote on 2026-01-25, 17:43:

Thanks! Was waiting for this. Got a Voodoo 2 card for some time which has issues. Hopefully it will be help to point out where the problem is.

I hope it helps.
Either way would like to see a log file (it's saved in the launch folder).

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 4 of 39, by PD2JK

User metadata
Rank Oldbie
Rank
Oldbie

Looks good! I'm having a Voodoo2 12MB card coming my way so I planning to give your software a try.

i386 16 ⇒ i486 DX4 100 ⇒ Pentium MMX 200 ⇒ Athlon Pluto 700 ⇒ AthlonXP 1700+ ⇒ Opteron 165 ⇒ Dual Opteron 856

Reply 5 of 39, by Darkblue

User metadata
Rank Newbie
Rank
Newbie

Thank you so much, mojo is very limited and this will help a lot.

Reply 6 of 39, by Fagear

User metadata
Rank Member
Rank
Member
Darkblue wrote on 2026-01-25, 21:39:

Thank you so much, mojo is very limited and this will help a lot.

I'll be honest, MOJO literally does almost nothing. It initializes stock 3Dfx driver and asks it for all the info then prints it out. No real diagnostics is happening.
RAM size determined by three write-reads at the boundaries of 1/2/4 MiB per chip and that's all. No RAM filling, let alone march tests.
And if anything is wrong with RAMDAC, clock paths or whatever, MOJO will loop and hang the system.
Also, MOJO breaks completely on "too fast" CPUs (P-III 700 and above).

Witchery is build to work on very broken boards. It'll work correctly even on this:

The attachment 2025-06-16 00.40.59.jpg is no longer available

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 7 of 39, by havli

User metadata
Rank Oldbie
Rank
Oldbie

Great work, thank you!

I have at least one defective Voodoo2, so I'll test it. Curious what the output will be 😀

HW museum.cz - my collection of PC hardware

Reply 8 of 39, by butjer1010

User metadata
Rank Oldbie
Rank
Oldbie

I have one that says 8MB RAM instead of 12, but works without problems.... Now i will try to find where the problem is 😀
Thaaankssss

Reply 9 of 39, by Yoghoo

User metadata
Rank Member
Rank
Member
Fagear wrote on 2026-01-25, 18:05:
Yoghoo wrote on 2026-01-25, 17:43:

Thanks! Was waiting for this. Got a Voodoo 2 card for some time which has issues. Hopefully it will be help to point out where the problem is.

I hope it helps.
Either way would like to see a log file (it's saved in the launch folder).

Here's the log file. End result was: All tests passed successfully. But I guess as the proper TMU tests are not implemented yet it's probably that one of the TMU's is not working correctly.

It also said that it's an Unknown Board ID. The board is from Diamond Multimedia Systems (MON 3D II PCI 12MB MOSEL / Rev: A).

Reply 10 of 39, by Fagear

User metadata
Rank Member
Rank
Member
Yoghoo wrote on 2026-01-26, 21:04:

End result was: All tests passed successfully. But I guess as the proper TMU tests are not implemented yet it's probably that one of the TMU's is not working correctly.

Yep, at least now you are sure that RAMDAC, FBI and its RAM are ok.

Yoghoo wrote on 2026-01-26, 21:04:

It also said that it's an Unknown Board ID. The board is from Diamond Multimedia Systems (MON 3D II PCI 12MB MOSEL / Rev: A).

That's strange. Diamond Multimedia should have 0x09 Board ID, yours have 0x01.
Witchery rightfully tells you too look at strap resistors, those set Board ID (but Witchery assumes you have a reference board, so suggestions are for that).

The attachment 2026-01-27 01.50.51.png is no longer available

Your's missing bit 3 in that, check R62 and R80 above RAM ICs at the bottom right.
R62 (top one) should be absent, R80 (bottom one) should be present:

The attachment 20140408_591916.jpg is no longer available

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 11 of 39, by Yoghoo

User metadata
Rank Member
Rank
Member
Fagear wrote on 2026-01-26, 23:05:
Yep, at least now you are sure that RAMDAC, FBI and its RAM are ok. […]
Show full quote
Yoghoo wrote on 2026-01-26, 21:04:

End result was: All tests passed successfully. But I guess as the proper TMU tests are not implemented yet it's probably that one of the TMU's is not working correctly.

Yep, at least now you are sure that RAMDAC, FBI and its RAM are ok.

Yoghoo wrote on 2026-01-26, 21:04:

It also said that it's an Unknown Board ID. The board is from Diamond Multimedia Systems (MON 3D II PCI 12MB MOSEL / Rev: A).

That's strange. Diamond Multimedia should have 0x09 Board ID, yours have 0x01.
Witchery rightfully tells you too look at strap resistors, those set Board ID (but Witchery assumes you have a reference board, so suggestions are for that).

The attachment 2026-01-27 01.50.51.png is no longer available

Your's missing bit 3 in that, check R62 and R80 above RAM ICs at the bottom right.
R62 (top one) should be absent, R80 (bottom one) should be present:

The attachment 20140408_591916.jpg is no longer available

Thanks for the explanation. The photo is an exact match for my card. So R62 (top one) is absent and R80 (bottom one) is present.

Reply 12 of 39, by Fagear

User metadata
Rank Member
Rank
Member
Yoghoo wrote on 2026-01-27, 11:59:

Thanks for the explanation. The photo is an exact match for my card. So R62 (top one) is absent and R80 (bottom one) is present.

I'd check resistance of R80 and its connection to FBI pin 113, Board ID should not be 0x01.

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 13 of 39, by Yoghoo

User metadata
Rank Member
Rank
Member
Fagear wrote on 2026-01-28, 18:08:
Yoghoo wrote on 2026-01-27, 11:59:

Thanks for the explanation. The photo is an exact match for my card. So R62 (top one) is absent and R80 (bottom one) is present.

I'd check resistance of R80 and its connection to FBI pin 113, Board ID should not be 0x01.

Thanks. Just measured R80 and and guess it needs to be replaced (measured 1.4 kΩ). I know that pins 63 and 64 on the TMU (Bruce) are shorted but didn't check the rest yet. So more repair work in the future. 😀

Don't have time to pick it up the coming weeks unfortunately. Also need to order some 4.7kΩ 0603 resistors first.

Reply 14 of 39, by Fagear

User metadata
Rank Member
Rank
Member

Some pictures from development process:

The attachment 2023-10-16 23.16.33.jpg is no longer available
The attachment 2023-10-08 01.01.11.jpg is no longer available
The attachment 2025-07-31_21.12.08.JPG is no longer available
The attachment 2023-11-05_01-21-40.png is no longer available
The attachment TMU_OC.png is no longer available

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 15 of 39, by Fagear

User metadata
Rank Member
Rank
Member

Some "unintended" uses of Witchery:

  • it can be used as quickstart on digital terms and data representation (witchery -q)
  • it can display connection tables between FBI and different devices connected to it for different board layouts (witchery -istb conmap -u4)
  • it can generate VGA output with only RAMDAC and FBI working, rendering using FBI only (witchery -t)
  • it can test board overclock, providing reports for FBI rendering and FB RAM integrity (witchery -c105)
  • it can test FBI -> TMU and TMU -> FBI buses for stability on different graphic clocks and also find the best phase combo for the PCB layout (witchery -e64)

Last two probably can be used to bin FBIs, TMUs and RAM ICs for overclocking and new PCB layouts debugging.

The attachment 2025-04-13 05.01.02.png is no longer available
The attachment 2025-04-15 00.31.53.png is no longer available
The attachment 2025-04-20 02.13.24.png is no longer available
The attachment 2025-08-13 23.32.52.png is no longer available
The attachment 2025-08-13 23.35.24.png is no longer available

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 16 of 39, by Beerfloat

User metadata
Rank Newbie
Rank
Newbie

I love it! Seen some of it in use on BuB and keen to try it on a crusty old Voodoo2 I got off Ebay a long time ago.

Reply 17 of 39, by Gaudeamus83

User metadata
Rank Newbie
Rank
Newbie

Wow, thanks. Have been waiting on this for a while. Currently have 5 12mb V2's, and only one both passes BuB's VRM resistance check AND renders fine. The rest either render fine and fail the VRM check, or otherwise have rendering issues.
Ran witchery against the one I am using that passes and renders fine, but witchery says:
Pixel/video clock is out of range!
RAMDAC Xtal clock is measured as 0.041 MHz, but should be at 14.318 MHz
RAMDAC pixel clock test failed
Warning: FBI might not be getting pixel clock from RAMDAC!

Will have to wait until it warms up outside to set up an open bench test setup so I can get at the recommended test points while powered on.

K6-III 450 | P5A v1.04 | 768MB PC133 | GeForce2 GTS 64MB | Voodoo2 12MB SLI | Aureal Vortex 2 SuperQuad PCI | DreamBlaster x16GS | 3c905B-TX & ROMOS | CF2IDE | Gotek 435 | Asus 52x CD-R | Tevian SLI Fan Bridge | Rosewill VSB 650W PSU

Reply 18 of 39, by Fagear

User metadata
Rank Member
Rank
Member
Gaudeamus83 wrote on 2026-01-31, 16:58:

Ran witchery against the one I am using that passes and renders fine, but witchery says:
Pixel/video clock is out of range!

That's interesting.
What CPU your system is running?
According to the log file, chipset is ULi M1541, but CPU clock is all over the place: 825 MHz at "normal" run and 970 MHz at "verbose" one.
That test (pixel clock performance) requires stable high-precision timer-counter in the system to compare Voodoo against. But it seems like timer is not doing what is supposed to do.
If base clock (from CPU) is unreliable, this test will return unrelaible results.
Maybe there are some mitigations that could be done, but I don't have any systems with ULi chipset.
If your board renders fine, you can skip this test by adding "-e4" to the parameters.
Like:

witchery -v -e4

Also, here is the list of launch parameters:

The attachment witchery launch.png is no longer available

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 19 of 39, by Gaudeamus83

User metadata
Rank Newbie
Rank
Newbie
Fagear wrote on 2026-01-31, 17:40:
That's interesting. What CPU your system is running? According to the log file, chipset is ULi M1541, but CPU clock is all over […]
Show full quote
Gaudeamus83 wrote on 2026-01-31, 16:58:

Ran witchery against the one I am using that passes and renders fine, but witchery says:
Pixel/video clock is out of range!

That's interesting.
What CPU your system is running?
According to the log file, chipset is ULi M1541, but CPU clock is all over the place: 825 MHz at "normal" run and 970 MHz at "verbose" one.
That test (pixel clock performance) requires stable high-precision timer-counter in the system to compare Voodoo against. But it seems like timer is not doing what is supposed to do.
If base clock (from CPU) is unreliable, this test will return unrelaible results.
Maybe there are some mitigations that could be done, but I don't have any systems with ULi chipset.
If your board renders fine, you can skip this test by adding "-e4" to the parameters.
Like:

witchery -v -e4

Also, here is the list of launch parameters:

The attachment witchery launch.png is no longer available

Running an AMD K6-III 450MHz with stock clock and voltage jumpers, on an ASUS P5A-B rev1.04. Your assessment tracks since I ran it against two other cards and all three failed at the same place. Each run, whether on the same card or another gave different TSC and Xtal frequencies. Will run it again on each card with -v -e4 and see what happens. Currently on the fully working card on 3/4 of stage 5.

K6-III 450 | P5A v1.04 | 768MB PC133 | GeForce2 GTS 64MB | Voodoo2 12MB SLI | Aureal Vortex 2 SuperQuad PCI | DreamBlaster x16GS | 3c905B-TX & ROMOS | CF2IDE | Gotek 435 | Asus 52x CD-R | Tevian SLI Fan Bridge | Rosewill VSB 650W PSU