DOS Days

Retro Review: FIDA CGA Cards

30th June 2022

Digging through my old ISA graphics cards, I have these two from a company called FIDA Corporation:


FIDA CGA 8-bit ISA cards, ca. 1988
The left one was bundled with a mini-tower case I bought in 2019
The right one was bought for £16.20 in Oct 2021

As you can see, somehow I managed to acquire two of these almost identical cards over the years. There are some minor visual differences that help distinguish them from each other, namely the red and blue coloured DIP switch block. But also, the red one has a VDL-branded main chip and 100ns memory where the blue one has an NEC-branded main chip and slower 150ns memory.

What's on the Board?

So what component parts make up these little 8-bit ISA graphics cards? They appear to have:

  • A VDL- or NEC-branded ASIC.
  • A UM2311 character generator ROM.
  • 64 KB of video memory in two 64k x 4 DRAM chips (the red's are soldered-in, blue's are socketed).
  • A single 16 MHz crystal oscillator.
  • 8 DIP switches at the top.
  • A 9-pin D-SUB on the faceplate for digital video out .
  • A 2-pin Composite out connector.
  • A 10-pin mouse port.
  • A 25-pin parallel port on the faceplate.
  • 4 jumpers in the lower-left corner.

Video Controller

The main ASIC is no doubt the CRT Controller (CRTC). The job of the CRTC is to generate the necessary video timings, read data from the video RAM that is connected to the CRTC, then send the data to the character generator for display if in text mode or directly out to the video output shift register if in a graphics mode.

On the red card it is branded "VDL", a company I am unfamiliar with. Initially I was not able to find out any more information on this 100-pin chip, but I did find a few other video cards with a VDL chip, including this Expert CGA card and an 8-bit EGA card from Flytek with a 136-pin video controller, "VDL C3".

I began this review with the red card only, but after some digging I then discovered the blue card in my collection with the same 100-pin chip though this one is NEC-branded.

 

A few quick searches online later for "NEC CRTC", and hey presto... I soon discovered the 82C425 and 82C426 from Chips & Technologies. Both were CRTCs designed primarily for use in laptops which explains the surface-mount flatpack package we see here. First released in 1990, they were very late for CGA in the desktop market (EGA and VGA were prevalent by then), but in the more expensive laptop market CGA was still commonplace - the very first colour laptop had only been launched a year earlier in 1989, but CGA with greyscales was still the standard in the majority of monochrome laptop computers. The 82C425 was fully CGA-compatible. The 82C426 was backward-compatible with the 82C425 but added more functionality, such as support for multiple 'panels' (displays).

Now we know what's at the heart of these graphics cards, we can determine what their capabilities are:

If they have the 82C425, they support these 7 standard CGA modes:

  • 40 x 25 text: Modes 00h and 01h - 00h = colour burst disabled on composite monitor (so greyscale only), 01h = enabled (so colour)
  • 80 x 25 text: Modes 02h and 03h - 02h = colour burst disabled on composite monitor (so greyscale only), 03h = enabled (so colour)
  • 160 x 100 16-colour: Low resolution. This is actually an 80x25 text mode but the characters can be manipulated
  • 320 x 200 4-colour: Medium resolution. Mode 04h has 2 palettes to chose from, mode 05h has 1 palette and colour burst disabled.
  • 640 x 200 monochrome/2-colour: High resolution. Mode 06h

If they have an 82C426, we also get:

  • 640 x 400 2-colour
  • 320 x 400 4-colour (known as AT&T mode)

The latter AT&T mode is only supported on displays that can manage 400 lines, which my test monitor here cannot.

Character Generator

The UMC UM2311 on the cards here is a 28-pin character generator ROM, most likely 100%-compatible with the Motorola MC6845 which was the one found on the IBM Monochrome Display Adapter and the IBM Color Graphics Adapter cards. There are two fonts provided in the ROM: CGA and CGAthin.

 
The default CGA 8x8 font

 
The CGAthin (also 8x8 pixels)

Video Memory

These cards have 64 KB of video memory. For the red card this is in the form of two NEC-branded D41464C-10 ICs, which are 256-kilobit chips in the form of 64K x 4-bit. On the blue card, it has two Hitachi-branded HM50464P-15 ICs, which are 256-kilobit chips in the form of 64K x 4-bit. These are pin-compatible with one another.

Given that all the standard CGA modes only require 16 KB of video memory, why would these cards come with 64 KB?

For CGA modes, the display and font buffer memory is located at the address range B8000-BBFFFh (16 KB in total). Extended CGA modes such as the AT&T 320x400x4 and 640x400x2 modes would require twice as much video RAM, so 32 KB, plus 8 KB is required for font storage.

Again, a little odd to carry 64 KB of video RAM.... ideas anyone? I want to believe these cards support some extended video modes!

 

Configuring the Card

I don't have the original user manual for this CGA/Hercules card, but Stason.org does have it listed as the FIDA MIX video card, so that's what we're calling it! The block of eight DIP switches can be identified as follows:

If your monitor does not support the vertical sync pulse you have configured the card to, you will probably still see an image but it will be rapidly scrolling up. The same is true of the horizontal sync pulse. Most monitors use positive sync for both horizontal and vertical.

In the bottom-left corner of the card are four jumpers marked J2. From left to right, they are "A" through "D", and define what IRQ the mouse port will use:

Jumper A B C D
IRQ2 Closed Open Open Open
IRQ3 Open Closed Open Open
IRQ4 Open Open Closed Open
IRQ5 Open Open Open Closed

For now I will ignore the mouse port and the parallel port, and just focus on getting output to some of my monitors...as I've mentioned before I have no means of capturing MDA/Hercules/CGA directly to my computer, so please forgive the crudity of the pictures - there will be artifacts in the image that were not visible in real life due to slower refresh rates, moire patterns, etc.

Composite Output

A good number of CGA cards provided a 'composite out' port, and these cards are no exception. Composite mode was a special video mode supported by CGA cards when hooked up to an older analog monitor, such as a television set. While the clarity/detail was poorer than using the RGB output, Composite created a color “smearing” effect, or artifacting, where the colors output to an NTSC monitor would shift to a different hue depending on the position of the pixel on the screen. The shift was predictable and taken advantage of by developers to create more colors than were actually possible on the graphics hardware. For UK (PAL) television sets this smearing would not occur, as the PAL TV signal didn't suffer from the inherent interference that caused this.

 

The Red Card

Starting with the RGB colour setting, I have configured the card to use positive sync for both horizontal and vertical, so the first 5 DIP switches are set to ON-ON-ON-OFF-ON. This works on my Philips CM8833-II RGB monitor, though with some serious colour bleeding or inaccuracies in the colours:

  
the BIOS screen should be an all-blue background


and running CGACOMP, what it's showing now (left), and what it should look like (right)

I cleaned the card with some isopropyl alcohol, but it's now even worse, with any shades of blue almost gone.

If you know what causes this type of failure, either the colour bleeding or the poor/missing colours entirely, do let me know. I would guess there is nothing wrong with the chip itself, but more likely to be one or more discrete component failures on the board somewhere that is pushing the output out of design tolerance. If I look at the CGA colour chart we can maybe identify which signal is not working properly. Given the fact that CGA operates on the basis of RGBI (Red, Green, Blue and Intensity) signals, and those signals can be just 1 or 0 and these are converted into 5V or GND, we have these available colours in the CGA palette:

# I R G B COLOR
0 0 0 0 0 Black (#000000)
1 0 0 0 1 Blue (#0000AA)
2 0 0 1 0 Green (#00AA00)
3 0 0 1 1 Cyan (#00AAAA)
4 0 1 0 0 Red (#AA0000)
5 0 1 0 1 Magenta (#AA00AA)
6 0 1 1 0 Brown (#AA5500)
7 0 1 1 1 Light Gray (#AAAAAA)
# I R G B COLOR
8 1 0 0 0 Dark Gray (#555555)
9 1 0 0 1 Light Blue (#5555FF)
10 1 0 1 0 Light Green (#55FF55)
11 1 0 1 1 Light Cyan (#55FFFF)
12 1 1 0 0 Light Red (#FF5555)
13 1 1 0 1 Light Magenta (#FF55FF)
14 1 1 1 0 Yellow (#FFFF55)
15 1 1 1 1 White (#FFFFFF)

In our case, the colours that don't look right are Cyan, Magenta, Light Gray, Light Cyan, Light Magenta, and White. All these have one signal in common - the Blue signal.

In Part 2 I will make attempts to repair both of these cards to bring them back to their former 4-colour glory.