VOGONS


First post, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie

trident8800
tseng et3000
paradise pvga1a
wd90c00
chips 82c450
even with 36/40/42/45mhz crystal and 50mhz ramdac, some manuals seem to claim support up to 640*480*256c mode, and even that would require a higher clock than 800*600*16c. is it that the video chip simply not fast enough?
this leads me to some more puzzles:
*to generate vga signal, the ramdac must keep reading video ram for all time, which takes up much of the video ram bandwidth. how can video chip write into video ram at the same time? and what designs are used to improve this?
*does the ramdac read directly from video ram, or from the video chip?
*does the ramdac always run sync with the video chip to make sure they won't get in each other's way?
*since the job of video chip is to write data into video ram, which is very limited by the isa bus, why does the video clock matter? just to run in sync with ramdac?

Reply 1 of 38, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
noshutdown wrote on 2025-01-27, 01:31:

even with 36/40/42/45mhz crystal and 50mhz ramdac, some manuals seem to claim support up to 640*480*256c mode, and even that would require a higher clock than 800*600*16c.

How do you figure that?

Reply 2 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Oof! Good question.
The Paradise PVGA1A can do 800x600 16c and 640x400 256c, I tried with 256KB RAM models (physical).
Also because of the Windows 2.03 driver which supports 640x400 256c.

The Windows 3.0 driver lists the following modes..

[display]
pvga400 = 6:pvga400.drv, "Paradise VGA 640x400 256-color", "100,96,96", 6:vgacolor.gr2, 6:vgalogo.lgo, 6:vddvga.386, 6:pvga.gr3, , 6:vgalogo.rle
pvga480 = 6:pvga480.drv, "Paradise VGA 640x480 256-color", "100,96,96", 6:vgacolor.gr2, 6:vgalogo.lgo, 6:vddvga.386, 6:pvga.gr3, , 6:vgalogo.rle
vga800 = 6:vga800.drv, "Paradise VGA 800x600 16-color", "100,96,96", 6:vgacolor.gr2, 6:vgalogo.lgo, 6:vddvga.386, 6:vga.gr3, , 6:vgalogo.rle
pvga600 = 6:pvga600.drv, "Paradise VGA 800x600 256-color", "100,96,96", 6:vgacolor.gr2, 6:vgalogo.lgo, 6:vddvga.386, 6:pvga.gr3, , 6:vgalogo.rle
bw1024 = 6:bw1024.drv, "Paradise VGA 1024x768 2-color", "100,120,120",6:vgacolor.gr2, 6:vgalogo.lgo, 6:vddvga.386, 6:vga.gr3, , 6:vgalogo.rle
vga1024 = 6:vga1024.drv, "Paradise VGA 1024x768 16-color", "100,120,120",6:vgacolor.gr2, 6:vgalogo.lgo, 6:vddvga.386, 6:vga.gr3, , 6:vgalogo.rle
wd1024b = 6:wd1024b.drv, "Fast VGA 1024x768 16-color", "100,120,120",6:vgacolor.gr2, 6:vgalogo.lgo, 6:vddvga.386, 6:vga.gr3, , 6:vgalogo.rle
wd800b = 6:wd800b.drv, "Fast VGA 800x600 16-color", "100,96,96",6:vgacolor.gr2, 6:vgalogo.lgo, 6:vddvga.386, 6:vga.gr3, , 6:vgalogo.rle

PS: Emulation in old PCem v17 of the PVGA1A isn't complete. Video mode for 640x400 256c works, but parts of screen are cut off.
That emulation also is limited to 256KB of VRAM for authentic Olivetti GO481 authenticity. sigh. 🙄

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 38, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

My Tseng ET3000AX has 512KB and runs 800x600 @ 16-bits. 1024x768 is 16 colors only. Validated via Win3.11 FW

Turbo XT 12MHz, 8-bit VGA, Dual 360K drives
Intel 386 DX-33, Speedstar 24X, SB 1.5, 1x CD
Intel 486 DX2-66, CL5428 VLB, SBPro 2, 2x CD
Intel Pentium 90, Matrox Millenium 2, SB16, 4x CD
HP Z400, Xeon 3.46GHz, YMF-744, Voodoo3, RTX2080Ti

Reply 4 of 38, by Grzyb

User metadata
Rank l33t
Rank
l33t
noshutdown wrote on 2025-01-27, 01:31:

trident8800

No support for 800 x 600 x 256.

Even 640 x 400 x 256 and 640 x 480 x 256 run below VGA frequencies, as described in your other thread:
vga card crystals and resolutions?

Normal SVGA monitors need 30+ kHz HSYNC...
- 25.4 kHz gets totally out of sync
- 29.5 kHz did work with my monitor, but it was dim

Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!

Reply 5 of 38, by Grzyb

User metadata
Rank l33t
Rank
l33t
jmarsh wrote on 2025-01-27, 03:27:
noshutdown wrote on 2025-01-27, 01:31:

even with 36/40/42/45mhz crystal and 50mhz ramdac, some manuals seem to claim support up to 640*480*256c mode, and even that would require a higher clock than 800*600*16c.

How do you figure that?

General formula is:

PixelClock = HRes * VRes * Refresh + circa 33%

640 * 480 * 60 Hz + 33% = 25.175 MHz
800 * 600 * 56 Hz + 33% = 36 MHz

BUT!
The original VGA and early SVGA (eg. Trident 8800) can only process 4 bits per cycle - so the above only applies to 16-color modes.
For 256-color modes, they need 2x higher PixelClock.

Later SVGA (eg. Trident 8900) can already do 8 bits per cycle.

Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!

Reply 6 of 38, by Grzyb

User metadata
Rank l33t
Rank
l33t
wbahnassi wrote on 2025-01-27, 04:32:

My Tseng ET3000AX has 512KB and runs 800x600 @ 16-bits. 1024x768 is 16 colors only. Validated via Win3.11 FW

800 * 600 * 16 bits = 7680000 bits = 960000 Bytes = 937.5 KB

Your Win3.11 FW was lying 😜

Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!

Reply 7 of 38, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Is there an ET3000 with a higher color dac than 256colors?

Retro-Gamer 😀 ...on different machines

Reply 8 of 38, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2025-01-27, 03:51:
Oof! Good question. The Paradise PVGA1A can do 800x600 16c and 640x400 256c, I tried with 256KB RAM models (physical). Also beca […]
Show full quote

Oof! Good question.
The Paradise PVGA1A can do 800x600 16c and 640x400 256c, I tried with 256KB RAM models (physical).
Also because of the Windows 2.03 driver which supports 640x400 256c.

The Windows 3.0 driver lists the following modes..

PS: Emulation in old PCem v17 of the PVGA1A isn't complete. Video mode for 640x400 256c works, but parts of screen are cut off.
That emulation also is limited to 256KB of VRAM for authentic Olivetti GO481 authenticity. sigh. 🙄

the pvga1 datasheet says:
chapter 1.2 features:

...
*800 by 600 by 16 colors, 640 by 400 by 256colors
*640 by 480 by 256 colors (512k dram)

didn't mention 800 by 600 by 256 colors.
and :

*up to 40mhz maximum video clock rate

however most pvga1 cards do not have a 40mhz crystal, but a 42mhz for dram and another 32 or 36mhz crystal. do they just use the dram crystal for maximum video clock, or go down to 36 or even 32mhz(no 800*600)?

the wd90c00 datasheet does say :
chapter 1.1 features

*800 by 600 x 256 colors (512 Kbytes DRAM)

but in chapter 3.2 dram interface it says:

The WD90COO can support up to a 56MHz MCLK which allows it to support much higher extended resolutions such as an 800 by 600 x 2 […]
Show full quote

The WD90COO can support up to a 56MHz MCLK which allows it to support much higher extended resolutions such as an 800 by 600 x 256 color mode.
The combination of video clock and memory clock and DRAM speed will determine the video modes available. Usually, a 44.9 MHz MCLK and 44.9 MHz VCLK will support the 1024 by 768 resolution modes. A 42 MHz MCLK will be
needed to support the extended 256 color modes but the 44.9 MHz is recommended. A 36 MHz MCLK and VCLK will support the 800 by 600 x16 color mode.
this seems to indicate that 256color modes demands higher clock than 16color mode of same resolution.

chips 82c450 features:

*upports 16 color interlaced CRT displays to 1024x768 and non-interlaced to 800 x 600
*Supports 256 color 640x480-CRT displays

and in "clocks selection":

The asynchronous architecture of the 82C450 requires separate frequencies for the memory clock (MCLK) and dot clocks. The 82C450 requires 50.35 or 56.644 MHz for the MCLK. The standard VGA resolutions can be implemented with a 25.175 MHz crystal and 28.322 MHz crystal. In some cases, these frequencies can be derived from the MCLK (See Clock Interface section of the Functional Description). If desired, extended capabilities may be implemented in the 4 DRAM configuration, such as 800x600 16 color graphics mode and 132-column text mode, with a 40.000MHz oscillator. Interlaced 1024x768 16 color mode can be implemented with a 44.9 MHz. In addition, in the 56.644 MHz MCLK configuration, 640x480x256 color resolution can be supported using a 50.35 MHz crystal. The 800x600x16 color and 132-column text modes are supported in the 2 DRAM configuration, using a 36 MHz crystal.

Reply 9 of 38, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie
Grzyb wrote on 2025-01-27, 08:02:
General formula is: […]
Show full quote

General formula is:

PixelClock = HRes * VRes * Refresh + circa 33%

640 * 480 * 60 Hz + 33% = 25.175 MHz
800 * 600 * 56 Hz + 33% = 36 MHz

BUT!
The original VGA and early SVGA (eg. Trident 8800) can only process 4 bits per cycle - so the above only applies to 16-color modes.
For 256-color modes, they need 2x higher PixelClock.

Later SVGA (eg. Trident 8900) can already do 8 bits per cycle.

thanks for the info, this seems very important. do you know about other cards that can only process 4bits per clock?

Reply 10 of 38, by clb

User metadata
Rank Oldbie
Rank
Oldbie
noshutdown wrote on 2025-01-27, 01:31:

trident8800

Here's Trident TVGA 8816CSC2 from my CRT Terminator testing lab:

The attachment TridentTVGA8816CSC2.jpg is no longer available

(image is old, I've since populated it to full RAM)

Supports 800x600@57p Hz with 16 colors:

The attachment 5b.png is no longer available

Also supports 1024x768i 16c and 640x480 256c, but not 800x600 256 colors.

Here's another card, ASKA ZyMOS POACH 51 (Trident TVGA 8800CS):

The attachment ZyMOSPoach.jpg is no longer available

That also does the 800x600 16c as above, but also 800x600 interlaced 256c:

The attachment 5e.png is no longer available

Not in progressive mode though.

Reply 11 of 38, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

Oops made a stupid mistake there. It's 512KB and can do 640x480@256C and 800x600@256C, but only 1024x768@16C..
So yes, I meant 256 colors, not 16-bit high color ☺️
It's quite a slow card in general though, and has scrolling issues in certain games.

Turbo XT 12MHz, 8-bit VGA, Dual 360K drives
Intel 386 DX-33, Speedstar 24X, SB 1.5, 1x CD
Intel 486 DX2-66, CL5428 VLB, SBPro 2, 2x CD
Intel Pentium 90, Matrox Millenium 2, SB16, 4x CD
HP Z400, Xeon 3.46GHz, YMF-744, Voodoo3, RTX2080Ti

Reply 12 of 38, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
Grzyb wrote on 2025-01-27, 08:02:
General formula is: […]
Show full quote

General formula is:

PixelClock = HRes * VRes * Refresh + circa 33%

640 * 480 * 60 Hz + 33% = 25.175 MHz
800 * 600 * 56 Hz + 33% = 36 MHz

BUT!
The original VGA and early SVGA (eg. Trident 8800) can only process 4 bits per cycle - so the above only applies to 16-color modes.
For 256-color modes, they need 2x higher PixelClock.

Later SVGA (eg. Trident 8900) can already do 8 bits per cycle.

That is mixing up the pixel clock with the memory clock.
OP's questions were about the DAC. The DAC always runs at the speed of the pixel clock, transferring 8 bits (color index) per cycle. The palette is held internally inside the DAC, so it operates the same in 16 color or 256 color modes.

Reply 13 of 38, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie
jmarsh wrote on 2025-01-27, 11:21:

That is mixing up the pixel clock with the memory clock.
OP's questions were about the DAC. The DAC always runs at the speed of the pixel clock, transferring 8 bits (color index) per cycle. The palette is held internally inside the DAC, so it operates the same in 16 color or 256 color modes.

but i feel that his opinion sound right, that 256color modes require twice the clock of 16color modes, which is consistent with clb's test results above, and would be reasonable if those old chips can only send 4bits to ramdac each cycle.

Reply 14 of 38, by clb

User metadata
Rank Oldbie
Rank
Oldbie
wbahnassi wrote on 2025-01-27, 11:11:

It's quite a slow card in general though, and has scrolling issues in certain games.

Yeah, Trident 8800CS has the same bug that Alliance Semi ProMotion 3210, Tseng ET4000AX, that they do not wrap the read address to VGA memory at 256KB mark.

Unlike Tseng Labs who just didn't care, and carried that wrapping bug through the years to their ET4000/W32p (~1995) and Tseng ET6000 (~1996), Trident fixed the scroll wraparound bug to their very next 8900C adapter (~1992). Nice job from Trident - maybe they weren't the fastest in their early years, but they definitely did care about compatibility.

Reply 15 of 38, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
noshutdown wrote on 2025-01-27, 12:10:

but i feel that his opinion sound right, that 256color modes require twice the clock of 16color modes, which is consistent with clb's test results above, and would be reasonable if those old chips can only send 4bits to ramdac each cycle.

You can go read the datasheets for the DAC if you like, they're practically all identical to ADV476; it runs at the speed of the pixel clock (not the memory clock) and has an 8 bit data bus.

Reply 16 of 38, by Grzyb

User metadata
Rank l33t
Rank
l33t
noshutdown wrote on 2025-01-27, 12:10:

but i feel that his opinion sound right, that 256color modes require twice the clock of 16color modes, which is consistent with clb's test results above, and would be reasonable if those old chips can only send 4bits to ramdac each cycle.

Video chips send 8 bits/cycle to the RAMDAC.
The processing *before* sending it to RAMDAC, however, may be done at 4 bits/cycle.

So, yes, there may be two different clocks, and sources seem inconsistent about terminology...

We can define "Pixel Clock" as the rate between the main chip and the RAMDAC.
So, for 640 x 480 x 256 @ 60 Hz, the Pixel Clock is 25.175 MHz.

But the other clock needs to be 50.350 MHz.

Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!

Reply 17 of 38, by noshutdown

User metadata
Rank Oldbie
Rank
Oldbie
Grzyb wrote on 2025-01-27, 13:19:
Video chips send 8 bits/cycle to the RAMDAC. The processing *before* sending it to RAMDAC, however, may be done at 4 bits/cycle. […]
Show full quote

Video chips send 8 bits/cycle to the RAMDAC.
The processing *before* sending it to RAMDAC, however, may be done at 4 bits/cycle.

So, yes, there may be two different clocks, and sources seem inconsistent about terminology...

We can define "Pixel Clock" as the rate between the main chip and the RAMDAC.
So, for 640 x 480 x 256 @ 60 Hz, the Pixel Clock is 25.175 MHz.

But the other clock needs to be 50.350 MHz.

i understand now, thx man. but can you tell other vga cards that can only process 4bits in a cycle?
i guess pvga1, wd90c00 and chips82c450 fall into that catgory, but have no datasheet on et3000, ati18800 and realteks.

Reply 18 of 38, by Grzyb

User metadata
Rank l33t
Rank
l33t
clb wrote on 2025-01-27, 10:38:

Here's another card, ASKA ZyMOS POACH 51 (Trident TVGA 8800CS):

That also does the 800x600 16c as above, but also 800x600 interlaced 256c:

Not in progressive mode though.

Well, if we allow interlace, or absurdly low frequencies, then indeed - it can work.
Most BIOSes, however, don't bother supporting that.

BTW: what's that program you're using?
I want to try it with mine 8800CS...

Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!

Reply 19 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++

That's an interesting topic.
For cards that multiple mode numbers for 800x600 16c, different timings are being used sometimes.
Ie, that mode 6Ah has no interlacing but 102h has interlacing.

"With some VESA video boards, mode 6AH selects a faster (noninterlaced) screen refresh rate that is much more pleasing to the eye. "

Source: https://ftp.zx.net.nz/pub/Patches/ftp.microso … n-us/82/734.HTM

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//