First post, by clb
Hello,
I have this ISA VGA graphics card that is apparently branded ViewTOP (FCC ID finds Britek Electronics Co Ltd):
- https://fccid.io/ILLVGPDW
- https://dosdays.co.uk/topics/Manufacturers/viewtop.php
which has a WD90C30-LR graphics chip.
It has this DIP switch box at the back that made me curious what they are there for and Google did not find a hit, so spent an evening flipping them and reverse-engineering how they work. Half-way doing that, I got a clue and revised some search terms and found out that they correspond with this information: https://stason.org/TULARC/pc/graphics-cards/U … GA-WD90C30.html but at least on this particular card, there is one more setting combo for 1024x768 behavior compared to the data on that page.
Here is a more detailed DIP switch configuration guide for this card:
-----------------------------
DIP1,DIP2: 800x600 video mode control
The card provides four SVGA 800x600 video mode numbers:
1. 58h: 800x600x16 colors
2. 5Ch: 800x600x256 colors
3. 63h: 800x600x256 colors @ 56 Hz
4. 6Ah: 800x600x16 colors again
Mode 63h is always fixed to 56 Hz refresh rate, but the three other modes change their refresh rates based on DIP1 and DIP 2 states:
- DIP1=OFF, DIP2=OFF: 56 Hz,
- DIP1=ON, DIP2=OFF: 72 Hz,
- DIP1=OFF, DIP2=ON: 60 Hz,
- DIP1=ON, DIP2=ON: 56 Hz again, same as when both switches are OFF.
----------------------------------
DIP3, DIP4: 1024x768 video mode control
The card provides two SVGA 1024x768 video modes:
1. 5Dh: 1024x768x16 colors
2. 60h: 1024x768x256 colors
which are affected by the state of DIP3 and DIP4 switches:
- DIP3=OFF, DIP4=OFF: 87 Hz interlaced (one full frame every two fields, at 43.5 Hz)
- DIP3=ON, DIP4=OFF: 70 Hz progressive
- DIP3=OFF, DIP4=ON: 60 Hz progressive
- DIP3=ON, DIP4=ON: 72 Hz progressive
-------------------------------
DIP5 switch is the most interesting one. If this switch is off, video timings are "normal", with hsync of modes at 31.5 kHz, and vsync being either 70 Hz or 60 Hz, depending on mode.
When DIP5=ON, then the card changes the oscillator clocks from the standard 25.2 MHz and 28.2 MHz VGA clocks up to 31.6 MHz and 34.2 MHz respectively (+25% and +21% higher) . Timing geometry of video modes stay unchanged, which has the effect of increasing video mode hsync rate from 31.5 kHz up to ~40kHz, and vsync rate up from 70Hz up to ~90Hz (well, 88.118 Hz to be exact) for all the standard CGA/EGA video modes:
- CGA 00h/01h 40x25 text,
- CGA 02h/03h, MDA 07h 80x25 text,
- CGA 04h/05h, EGA 0Dh 320x200 gfx,
- CGA 06h, EGA 0Eh 640x200 gfx,
- EGA 0Fh/10h 640x350 gfx
For VGA video modes, the effect of switching DIP5=OFF -> ON is as follows:
- VGA 11h/12h 640x480 gfx: pixel clock=25.2 MHz -> 31.65 MHz, hsync=31.5kHz -> 40 kHz, vsync=60 Hz -> 75 Hz,
- VGA 13h 320x200 gfx: pixel clock=12.6 MHz -> 15.8 MHz, hsync=31.5kHz -> 40 kHz, vsync=70 Hz -> 90 Hz (measured on the board, hence the "halved" pixel clock compared to VGA output)
And finally there are two SVGA text video modes that also are affected by switching DIP5=OFF -> ON:
SVGA 66h 80x50 text: pixel clock=28.2 MHz -> 36 MHz, hsync=31.5kHz -> 40Hz, vsync=70 Hz -> 90Hz,
SVGA 67h 80x43 text: same as above
Other SVGA video mode numbers (14h, 21h, 41h, 47h, 54h, 55h, 5Eh, 5Fh, 63h, 64h, 69h, 6Ch) do not change behavior depending on the DIP1-5 switch settings.
It looks like the VGA card latches the state of the DIP switches at power-on so toggling them while the PC is running has no effect. Also a soft ctrl-alt-del reboot is not enough for it to read the new DIP switch states, but a hard power-off is required after changing the DIP switch states.
Overall, I find the effect of changing VGA mode 13h from 70 Hz up to 90 Hz pretty quirky and cool. Maybe useless, but fun 😀. Mode-X games up their refresh rate from 60 Hz up to 75 Hz.
It looks like this change is not based on adjusting the default BIOS settings for video modes, but the refresh rate is also changed for games that manually program the VGA registers.
Tried this out with a few games on my Cyrix 486 80 MHz PC, and for example:
- Jazz Jackrabbit upgrades to run at 75.076 Hz instead of 60 Hz, and gameplay is smooth at that rate. The game logic does speed up by that factor, sprite animations run faster, for even more crazier gameplay. Music and SFX do not go out of whack. Video is synced smoothly at 75.091 Hz (+0.019% deviation, one synced frame lost every ~67 seconds) to my ASUS ProART PA248QV, which has 75 Hz max refresh rate (I am testing this using CRT Terminator)
- Pinball Fantasies: runs at 89.457 Hz instead of the usual 70 Hz, game runs faster, music and sfx ok. Unfortunately I don't have a multisync CRT at hand to test how this would feel like in smooth motion, but I have to frameskip the output rate to 75 Hz max.
- Psycho Pinball: changes from 67.449 Hz up to 85.634 Hz refresh rate. Oddly, game speed *slows* down instead of speeding up. The whole thing plays like in -30% slo-mo or so. Curious.
- Pinball Illusions: this updates from 70 Hz up to 89.457 Hz , game speed updates accordingly. Gameplay becomes pretty crazy to keep up.
- Lemmings, Xenon 2 Megablast, Prince of Persia, Commander Keen 5: do not seem to be bothered by this change, they render at 88.118 Hz but gameplay is unaffected. No audio glitches.
- OMF 2097: game logic speeds up from 70hz -> 90hz, pretty wild and crazy. Audio effects become glitchy, but music is ok.
Pretty neat 😀