VOGONS


First post, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

1) Is there any official reference/guide about default timings for the Voodoo2 output?
In other words: vertical and horizontal frame sizes; vertical and horizontal backporches; vertical and horizontal sync sizes; vertical, horizontal and RAMDAC frequencies.
512x384 and 640x400 modes timings are most wanted.

2) Is there a way to change the default Voodoo2 sync polarity (NN)?

Tnx.

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 2 of 9, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

Manual = 3dfx Voodoo2 Reference (1.16)? Already readed. It has register names but - not has exact values for hsync on/off, vsync on/off, h/v backporch, border, vclk and h/v frequencies I need.

Linux sources? Interesting idea...

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 4 of 9, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

Already.
The task is little different now.
1) To make sure these values are absolute (because SSTV2_HSYNC etc use the -1 offset). It looks so (640x400@70 and 640x480@60 timings are similar to VGA timings if there is no offset) but I must understand the code to be 100% sure.
2) To understand the RAMDAC frequency routine for Voodoo2.
3) As I can see - 512x384 uses different timings for SLI so - to check this routine too.

Still - big thx for the linux sources idea.

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 6 of 9, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

From the code (cvg\init\video.c, the sst1InitVideoBuffers function) - hSync, vSync, backPorch and videoDimensions registers use exact values from the sst1init.h timing structures.
But the specification tells real hSyncOn, hSyncOff and hBackPorch are bigger (+1, +1 and +2). Page 130.
The trouble is - there are 2 standard VGA videomodes (640x400@70 and 640x480@60) with well known timings. And sst1init.h structures for these 2 modes are same as VGA ones only w/o +1. +1 and +2.
Can't understand this... The specification is wrong?

sst1VideoTimingStruct SST_VREZ_640X400_70 = {
96, /* hSyncOn */
704, /* hSyncOff */
2, /* vSyncOn */
447, /* vSyncOff */
48, /* hBackPorch */
35, /* vBackPorch */
640, /* xDimension */
400, /* yDimension */
70, /* refreshRate */
0, /* miscCtrl */
130, /* memOffset */
20, /* tilesInX */
25, /* vFifoThreshold */
FXTRUE, /* video16BPPIsOK */
FXTRUE, /* video24BPPIsOK */
25.175F, /* clkFreq16bpp */
50.350F /* clkFreq24bpp */
};

sst1VideoTimingStruct SST_VREZ_640X480_60 = {
96, /* hSyncOn */
704, /* hSyncOff */
2, /* vSyncOn */
523, /* vSyncOff */
38, /* hBackPorch */
25, /* vBackPorch */
640, /* xDimension */
480, /* yDimension */
60, /* refreshRate */
0, /* miscCtrl */
150, /* memOffset */
20, /* tilesInX */
25, /* vFifoThreshold */
FXTRUE, /* video16BPPIsOK */
FXTRUE, /* video24BPPIsOK */
25.175F, /* clkFreq16bpp */
50.350F /* clkFreq24bpp */
};
Last edited by Gamecollector on 2017-02-16, 05:27. Edited 1 time in total.

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 7 of 9, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

Voodoo2 SLI and Voodoo2 non-SLI use very different timings for 512x384.
The minimal vertical frequency is 512x384@60 for non-SLI and 512x384@72 for SLI.
Non-SLI uses a large vertical frame size and a large vertical frontporch for 512x384 modes. So the h-freq is 47 kHz and above. All VGA-compatible monitors (h-sync 31.5 kHz and above) can sync.
SLI timings h-freq is around 31.2 kHz. Below the limit. Most monitors can draw this mode but can't adjust it to screen borders.
So if you use Voodoo2 SLI, 512x384 and there is no sync - disable SLI (set SSTV2_SLIDETECT=0) and try again.

P.S. Well, the correct reason is - non-SLI 512x384 versions of timings use the vertical double-scan. So they are 512x768.

P.S.S. Found the answer for the "change the default Voodoo2 sync polarity (NN)" question. You can't change polarities with environment variables.

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 8 of 9, by anthony

User metadata
Rank Member
Rank
Member

a bit differ in timings is not issue for monitors i presume

think sync polarity is hard wired and no way to change it in all (may be there strapping resistors exists)

looks like no one arcade used sli, so it quite possible that 512x384 may interfere with sli mode

Reply 9 of 9, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie
anthony wrote:

think sync polarity is hard wired and no way to change it in all

No, you can change polarities of any Voodoo2 videomode with 1 string in sst1init.h. But you can't change it in the fly.

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).