Search This Blog

Tuesday, 29 May 2018

PC CGA / EGA On A Commodore 1084 Monitor?


The oldest video connector most people have seen on a PC is VGA:

VGA D-sub connection (15 pin) [source: Wikimedia]
Although it has largely been phased out now and replaced with HDMI/Displayport and/or DVI, some devices, such as projectors and TVs, can afford to include it where space is not at a premium. Another connector you may have seen on laptops or some PCs is composite video, using an RCA connector. This provides a low-quality connection, which is rubbish for something like word processing, but may be acceptable for watching DVDs.


So what sort of connection did old computers use for 'high' resolutions back in the day? If you've heard of VGA, you've probably heard of EGA and maybe even CGA. It depends on how old the games are that you have played, as many would ask you what type of graphics card you had upon loading. But if you only ever played these games on a newer VGA PC or an emulator, you will have never got involved with the actual physical connections. This brings us to something that baffled me when I first saw it on a Commodore 1084 monitor a couple of years ago.

Obsolete Does Not Equal Useless

I had never seen a 9-pin video connector before and my first thought was "well, that's not compatible with anything I've got..." but I have learned time and time again that this is a stupid thought, particularly as a rationale for not keeping something old. The truth at the time, although I didn't yet know it, was "that's not compatible with anything I've got yet". Both CGA and its successor EGA used a DE-9 port to connect the graphics card to a monitor (or composite to a TV). Yep, same shell size as VGA, but 9 pins instead of 15.

I had no computer of this era and was naive as to what peripherals I would need in order to get one up and running as an when I acquired one so, when I recently bought a Zenith XT clone (yes bought - there are some things worth forking out for), I realised that I had gotten really lucky in finding the Commodore monitor, without even realising it (aside from the fact that I also now own two Amiga 500s, neither working). I initially got video working over composite for diagnostic purposes, but obviously I would want to use digital RGB aka TTL RGB (transistor to transistor logic) or even analogue RGB for a higher quality picture (and colour). As luck would have it, I had purchased an EGA cable from eBay a couple of years ago.

D-Subs

A selection of cables. All the same? Assume nothing...
But it didn't work. So I dug through my cable collection and ended up with 3 different ones, all using a DE-9 connector. I mean DB-9. Well, technically that's not the correct name but so what - that's what everyone else calls it and if you call it DE-9, you are either going to be 'corrected' by the ignorant, or confuse the naive. Either way, there's no honour in using the correct assignment here. It's called a 'D' connector because it resembles a D when you put it on its side, and 'E' is the code for the size of the shell. So a VGA connector should correctly be referred to as DE-15, as it has the same shell size, but a different amount of pins. You'll also hear these connectors being called 'D-sub', short for D-subminiature, as these were the smallest computer connections of their kind when they were introduced in the early '60s. This is obviously hilarious in the context of, say, Lightning cables.

Some D-sub connectors and their
names [source: Wikipedia]
It is unusual for these connectors to be referred to by their 'codename' at all but, if they are, you will hear all of them prefixed with DB in 99% of cases. For example, DA-15 is more commonly called a 'game port' but is also the port used for AUI, a type of old network connection, and beige Macintosh CRT monitors. Potential confusion. This is particularly true of the DB-9 connector because you will see it everywhere. It's on your telly, it's on projectors, it's on old PCs, sometimes in male and female format, and other random bits of hardware. But it's not the same port in every case. Most commonly the connection retains its original application, which was for the transmission of digital data. You may have heard of Recommended Standard RS-232, which is the technical name for a 'serial port' and the method used to communicate between devices. This includes modems, printers, mice and other peripherals. But I'm not getting into that right now. Or ever. Probably.

So, yes, among the many applications of the DB-9 port is RGB. What, you say? Video over serial? Not quite.

VGA Is Not Equal To EGA

First of all, don't think you can just make or buy an adaptor to change a DB-9 into a DB-15 so you can plug in your nice flat screen monitor, TV, or even CRT. Newer monitors complying to VGA standards do not support the same frequencies defined by CGA and the pin assignment is different. "But I can play EGA games on my VGA monitor!". Uh, yeah, your VGA graphics card supports EGA because it's backwards compatible, but only at the software level (resolution and colour depth). The VGA card and the VGA monitor are designed to communicate in the same way. VGA didn't even exist back in '84 when EGA was introduced, so it doesn't support it. Plus, VGA uses analogue signals, where CGA/EGA use digital. Yes. In summary:

VGA PC + VGA Monitor = Success
VGA PC + EGA Monitor = Failure
EGA PC + VGA Monitor = Failure
EGA PC + EGA Monitor = Success

EGA and CGA (and MDA before them) are extremely similar. You can use the same monitors and cables interchangeably (mostly). So, unless you have some fancy multisync monitor, you'll have to buy (or construct) a box of electronic trickery to convert the signal to work with VGA. These ain't cheap, so not an option if you're brassic. As with anything else in this game, you're better off with the actual old hardware, particularly if it's lying around in someone's loft or a box of cables in someone's office. Finding it is the hard part.

Let's try to stick with the matter at hand: you've got a CGA or EGA card in your PC and you've got a compatible monitor. All you need now is a cable to connect them together. I tried the 'EGA' cable I bought online (at least that's what it was listed as) and it didn't work. At this point I don't know what the problem is, but it could be:

a) the cable
b) the monitor
c) the graphics card

I've written a separate post on identifying / troubleshooting cables so I'm obviously not going to go over all that again am I. My initial problem was not knowing which cable was which, further exacerbated by needing one that was male to female. In the end I identified the correct cable (a 'straight through' serial extension cable is equivalent) and modified another so that I could change the gender of one end. The cable worked fine after quite a bit of resoldering, as I had a scrolling picture at first. This was to do with the sync wire not being connected properly.

This is where I learned some more about the differences between CGA and EGA, and the 1084 monitor.

EGA on a 1084? Nope!

I was getting CGA output on the 1084 fine. But, as everyone knows, CGA is ugly as hell (actually, hell has a higher resolution and more colours so it's uglier than hell). Colours were missing. Although it was semi-correct because the palette was better, I wasn't getting the full 16 simultaneous colour that EGA provides over CGA's 4. As previously mentioned, here's the pinouts:


The cable I had made only had 7 wires. I needed all 9 pins connected, which would give me a cable that supported both CGA and EGA and could be used with either graphics standard. I needed a spare shell, and I needed a cable with 9 wires. Time to get the wire cutters out.



Hah - turns out that null modem cable wasn't so useless after all! Made the 9 pin cable: no change. At this point I was confused. The Amiga can display up to 32 colours simultaneously in standard modes, so I knew it wasn't a limitation of the monitor. Or was it? I'm not sure what made me realise it, but the problem was glaringly obvious once I'd realised where to look. I knew the pinout of the graphics cards, I knew the pinout of my cable... what about the pinout of the monitor? Service manual, come hither!


So, very similar indeed to CGA (almost identical, in fact) and none of the additional pins required for EGA at all. No wonder the signal wasn't being recognised. As things stood, I didn't yet have a cable for connecting my Amiga to the 1084, so I checked out its own video pinout. It uses a proprietary 23-pin d-sub. If you want to take a butchers, click here [source: pinouts.ru]. The Amiga can output analogue and digital RGB, but analogue is superior as it can display up to 4096 colours, where digital is limited to 16. The connector also provides power and other signals for external genlock devices (e.g. video capture / editing hardware), but only the pins specified in the analogue pinout above need to be connected to the 1084.

Ah well, looks like I'm sticking with good ol' CGA for the XT - EGA monitors are hard to come by...

No comments:

Post a Comment