VOGONS


First post, by Lopo

User metadata
Rank Newbie
Rank
Newbie

Some of you may remember the render I posted in August and the "some baking happened today" photo from the retro-activity thread (render, baking). Time for a proper thread.

What it is
A new 16-bit ISA VGA card designed from scratch around the Cirrus Logic CL-GD5428, as one piece of a 386 system I'm building from my own boards (the motherboard is a separate story). Not a clone of any existing card – the schematic follows the Cirrus reference design and the TRM, the layout is mine and the BIOS is a customised build.

Specs

  • CL-GD5428-80QC-A, 16-bit ISA
  • up to 2 MB DRAM (4× 256K×16 SOJ, dual-CAS configuration) – the maximum the GD5428 supports; production units come fully populated
  • 64 KB BIOS in a DIP-28 socket (27C512 / SST27SF512), PLCC-32 flash footprint as alternative
  • 93C46 EEPROM for configuration
  • VESA feature connector, standard DE-15
  • 4-layer PCB, single-sided SMD assembly, ENIG
  • custom BIOS: 2 MB fully usable, resolution up to 1024×768 at 60 Hz

Current state
Board #1 has been running for about a week in my 386 – POSTed on the first power-up, all 2 MB verified, VBE OK, hi-res modes sync on an LCD. A few more boards are assembled and going through testing right now; I'm finishing the last BIOS details.

The attachment vga.png is no longer available
The attachment l5428i_v1_board1.jpg is no longer available

Reply 1 of 7, by EduBat

User metadata
Rank Member
Rank
Member

This is very cool.
Can you talk a bit more about costs, parts availability and if you plan to make it open source and/or sell assembled cards?

Reply 2 of 7, by Lopo

User metadata
Rank Newbie
Rank
Newbie

Costs – honestly I haven't added it up yet, it's a hobby project. Nothing on the board is exotic.

Availability – everything except the GD5428 and the DRAMs is current stock at Mouser/Digi-Key/.... The GD5428 and the 256K×16 DRAMs are available as refurbished pulls. The catch is yield – I've seen bad DRAM chips and QFPs with non-coplanar leads, so every RAM set gets march-tested in a socketed board before it's soldered, and every QFP gets a drag pass after reflow.

Open source – I'm thinking about it. First the batch has to be finished; then I'll decide what and in which form gets published.

Assembled cards – five boards in this batch, I'm keeping two, the other three will be looking for new homes.

Reply 3 of 7, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi, Qemu uses a GD542x series VGA, too.
There's a DOS-based VGA BIOS (a RAM BIOS) that can be loaded for more compatibility with legacy software.
The file is "utilv141.zip". It also (partially) works in VirtualBox, it seems.
Some screenshots: Re: Fixing a VGA issue in Qemu 0.9 (&Kqemu)

"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 4 of 7, by Lopo

User metadata
Rank Newbie
Rank
Newbie

Thanks, good pointer – I know the 1.41 utility set. The CLMODE in there is handy for the monitor/refresh settings, and the disk even ships a tiny "57MCLKN" utility that bumps the memory clock from 50 to 57 MHz (vendor-sanctioned overclock, "may cause memory noise") – I'll try that against the bandwidth-limited 1024×768 modes on my card. QEMU's Cirrus is a 5446 on PCI though, so for the things I care about on the 5428 (memory sizing, straps, EEPROM) there's no substitute for the real board.

Reply 5 of 7, by MikeSG

User metadata
Rank Oldbie
Rank
Oldbie

Love the card.

On the GD5429 I don't think the max MCLK (memory clock) is actually 60MHz. Maybe for 80ns DRAM but not 60ns.

I used to have two GD5429 boards, one 80ns DRAM that maxed at around 55-60Mhz MCLK. The other with 60ns DRAM overclocked all the way to 80MHz and was stable.

In Wintach (win95) at 80Mhz it was mostly faster at spreadsheets in 16bit colours (1.33x faster), the other scores were only 1.05 to 1.1x faster. It sped up a lot in games too that are full screen 640x480x8 bit with a lot of blitting (Diablo, Starcraft), but not the ideal card for those games. No discernable difference in DOS.

Reply 6 of 7, by Lopo

User metadata
Rank Newbie
Rank
Newbie

Thanks! Interesting data point on the MCLK – that matches what I've seen in the BIOS: the memory clock is just a programmable divider (SR1F), the stock BIOS sets ~50 MHz and the period vendor utilities offered 57 MHz. My card has 35 ns DRAMs (a lot faster than the 60/80 ns parts those boards shipped with), so there should be plenty of headroom. I'm mostly interested in it for a different reason than 2D speed: the 5428's 1024×768 16-bit modes are DRAM-bandwidth limited at 50 MHz (visible as sparkle), so a higher MCLK might clean them up.

Reply 7 of 7, by Lopo

User metadata
Rank Newbie
Rank
Newbie

Quick follow-up on the MCLK: I swept SR1F on my 5428 with 35 ns DRAMs. A display-independent VRAM pattern test stays clean all the way up to ~79 MHz, so the DRAM side has plenty of headroom. The picture is another story: 1024×768×16 at 60 Hz sparkles for every MCLK between ~39 and ~61 MHz, is worst around 64 MHz (MCLK ≈ pixel clock), and only cleans up at ~79 MHz – far above the 50 MHz the 5428 is specified for (60 MHz on the 5429). So that mode stays "interlaced only" as Cirrus documented it; the card ships at the stock 50 MHz.