VOGONS


CGA graphics card in PCI slot?

Topic actions

First post, by kaposzta

User metadata
Rank Newbie
Rank
Newbie

Is there a CGA card for the PCI slot? I know CGA is a thing of the 80s, and PCI was introduced in 1992, but I would really love to build a PC with multiple graphics cards, including CGA.

Just imagine a SS7-based monster with Voodoo2 SLI + TNT2 Ultra + optionally S3 Trio64 (for DOS compatibility) + CGA card (for the correct palette for gpcga.exe) 😀 Or imagine a less decadent PC, simply with an S3 Trio64 + a CGA card, how awesome would that be?

Unfortunately, an ISA graphics card will always take precedence over PCI/AGP cards, so I can't mix CGA and VGA in the same build if CGA uses ISA.
In theory, can we build a CGA card for the PCI slot? Would it even work?

Reply 1 of 26, by digger

User metadata
Rank Oldbie
Rank
Oldbie

I'd be interested in something like that too, but for driving a monochrome monitor through a Hercules monochrome card on a modern system lacking ISA slots.

If I understand correctly, the conventional PCI bus should support all features of the ISA slot, with the exception of Intel 8237 compatible ISA DMA.

Since ISA graphics cards typically don't use ISA DMA, such an adapter should be possible at least in theory, right?

Barring that, the LPC bus available on most modern motherboards could provide the solution, through the dISAppointment project.

Reply 2 of 26, by kaposzta

User metadata
Rank Newbie
Rank
Newbie
digger wrote on 2026-04-21, 14:02:
I'd be interested in something like that too, but for driving a monochrome monitor through a Hercules monochrome card on a moder […]
Show full quote

I'd be interested in something like that too, but for driving a monochrome monitor through a Hercules monochrome card on a modern system lacking ISA slots.

If I understand correctly, the conventional PCI bus should support all features of the ISA slot, with the exception of Intel 8237 compatible ISA DMA.

Since ISA graphics cards typically don't use ISA DMA, such an adapter should be possible at least in theory, right?

Barring that, the LPC bus available on most modern motherboards could provide the solution, through the dISAppointment project.

Wow, that would be really interesting to see a Hercules card working in a modern system 😀
I would definitely buy a PCI Hercules card as well.

Reply 3 of 26, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Alternatively, I've been playing with the idea of a USB device that can drive such monitors. The bandwidth requirements are such that USB (2.0 or higher) should easily be fast enough to drive a monitor at 720x350 with 2 colors at 50Hz.

Something designed around a Raspberry Pi Pico that would have a TTL RGB port on one side, a USB interface on the other, and communicate either through TTY (terminal emulation) for text or something like VNC or RDP for graphics.

I reckon such a device shouldn't be hard to make, at least for a tinkerer with the necessary expertise. It could perhaps also be improved to support CGA and EGA color monitors as well. 🙂

One important requirement would be proper level shifters and a thoroughly safe design that ensures that it doesn't fry the TTL logic in these precious old retro monitors.

Reply 4 of 26, by weedeewee

User metadata
Rank l33t
Rank
l33t
kaposzta wrote on 2026-04-21, 13:51:
Is there a CGA card for the PCI slot? I know CGA is a thing of the 80s, and PCI was introduced in 1992, but I would really love […]
Show full quote

Is there a CGA card for the PCI slot? I know CGA is a thing of the 80s, and PCI was introduced in 1992, but I would really love to build a PC with multiple graphics cards, including CGA.

Just imagine a SS7-based monster with Voodoo2 SLI + TNT2 Ultra + optionally S3 Trio64 (for DOS compatibility) + CGA card (for the correct palette for gpcga.exe) 😀 Or imagine a less decadent PC, simply with an S3 Trio64 + a CGA card, how awesome would that be?

Unfortunately, an ISA graphics card will always take precedence over PCI/AGP cards, so I can't mix CGA and VGA in the same build if CGA uses ISA.
In theory, can we build a CGA card for the PCI slot? Would it even work?

I think your reasoning is wrong wrt ISA vs PCI graphics cards.

You can use an ISA monochrome display adapter together with a PCI VGA card.

The reason you can't use a CGA is due to memory/IO port conflicts with VGA.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 5 of 26, by Grzyb

User metadata
Rank l33t
Rank
l33t

The closest you can find is a PCI card with register-level CGA and Hercules modes:
PCI cards with 6845 compatibility

In 2003, I voted in favour of joining the European Union. However, due to recent developments - especially the restrictions on cash usage - I'm hereby withdrawing my support. DOWN WITH THE EU!

Reply 6 of 26, by digger

User metadata
Rank Oldbie
Rank
Oldbie
kaposzta wrote on 2026-04-21, 14:39:

Wow, that would be really interesting to see a Hercules card working in a modern system 😀
I would definitely buy a PCI Hercules card as well.

Until such a card actually is willed into existence by someone, you might really enjoy this classic YouTube video of Flight Simulator 4.0 on a Monochrome Monitor with a Hercules Graphics Card running in a Pentium III machine. (Bonus points for the chosen music.) 🥰

Reply 7 of 26, by Grzyb

User metadata
Rank l33t
Rank
l33t
digger wrote on 2026-04-21, 16:53:

Until such a card actually is willed into existence by someone, you might really enjoy this classic YouTube video of Flight Simulator 4.0 on a Monochrome Monitor with a Hercules Graphics Card running in a Pentium III machine. (Bonus points for the chosen music.) 🥰

Forget Pentium III - Hercules can even work with Athlon XP 2600+ !
https://www.youtube.com/watch?v=4qXImwCfZco

In 2003, I voted in favour of joining the European Union. However, due to recent developments - especially the restrictions on cash usage - I'm hereby withdrawing my support. DOWN WITH THE EU!

Reply 8 of 26, by digger

User metadata
Rank Oldbie
Rank
Oldbie
Grzyb wrote on 2026-04-21, 17:02:

Forget Pentium III - Hercules can even work with Athlon XP 2600+ !
https://www.youtube.com/watch?v=4qXImwCfZco

Hahaha, I absolutely love this. Thanks for sharing! 😂

Seriously, though: it shouldn't be impossible to bridge an old ISA CGA, EGA or Hercules card to PCI, right? Or otherwise to the LPC bus through a dISAppointment adapter?

Reply 9 of 26, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Or maybe someone can develop a PCI version of the Graphics Gremlin.

Or perhaps even a PCIe version. 😁 (Although that standard drops some more legacy compatibility compared to conventional PCI, if I'm mistaken.)

Reply 10 of 26, by furan

User metadata
Rank Member
Rank
Member

I've been doing a lot of FPGA work on PCI bus. I recently ported Graphics-Gremlin to my PCI target core and got the MDA and CGA cores working. But after that I got distracted when I ported ao486 VGA 😀

Reply 11 of 26, by weedeewee

User metadata
Rank l33t
Rank
l33t
furan wrote on 2026-04-21, 18:00:

I've been doing a lot of FPGA work on PCI bus. I recently ported Graphics-Gremlin to my PCI target core and got the MDA and CGA cores working. But after that I got distracted when I ported ao486 VGA 😀

Can CGA & VGA be run/used at the same time in one machine ?

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 12 of 26, by furan

User metadata
Rank Member
Rank
Member
weedeewee wrote on 2026-04-21, 18:03:
furan wrote on 2026-04-21, 18:00:

I've been doing a lot of FPGA work on PCI bus. I recently ported Graphics-Gremlin to my PCI target core and got the MDA and CGA cores working. But after that I got distracted when I ported ao486 VGA 😀

Can CGA & VGA be run/used at the same time in one machine ?

no, I switched to a VGA core

Reply 13 of 26, by rmay635703

User metadata
Rank l33t
Rank
l33t
weedeewee wrote on 2026-04-21, 18:03:
furan wrote on 2026-04-21, 18:00:

I've been doing a lot of FPGA work on PCI bus. I recently ported Graphics-Gremlin to my PCI target core and got the MDA and CGA cores working. But after that I got distracted when I ported ao486 VGA 😀

Can CGA & VGA be run/used at the same time in one machine ?

Not with register or I/o port compatibility with bare metal software.

VGA and CGA have overlapping memory addresses and cannot co-exist, only MDA can work as a secondary video card with a “color” adapter like CGA/VGA

Reply 14 of 26, by weedeewee

User metadata
Rank l33t
Rank
l33t
furan wrote on 2026-04-21, 18:06:
weedeewee wrote on 2026-04-21, 18:03:
furan wrote on 2026-04-21, 18:00:

I've been doing a lot of FPGA work on PCI bus. I recently ported Graphics-Gremlin to my PCI target core and got the MDA and CGA cores working. But after that I got distracted when I ported ao486 VGA 😀

Can CGA & VGA be run/used at the same time in one machine ?

no, I switched to a VGA core

I only asked because the OP wants to use a CGA card together with a VGA card in one computer.
Likely not to use at the same time, but I doubt they can coexist.
Your pci card could fix that problem if switching between the two is easy enough.

@rmay635703 I already stated that in a previous comment .

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 15 of 26, by furan

User metadata
Rank Member
Rank
Member

CGA will work fine on the PCI bus. But the memory and I/O ranges overlap between VGA and CGA. Potentially you could enable/disable memory & I/O decode on them programatically and juggle the vga cable between two cards. It sounds like what you want is a VGA that has better CGA support for whatever feature gpcga.exe is using.

Reply 16 of 26, by Grzyb

User metadata
Rank l33t
Rank
l33t
furan wrote on 2026-04-21, 18:17:

It sounds like what you want is a VGA that has better CGA support for whatever feature gpcga.exe is using.

In other words: Mach32.
Or some modern implementation of VGA with register-level CGA and Hercules modes.

In 2003, I voted in favour of joining the European Union. However, due to recent developments - especially the restrictions on cash usage - I'm hereby withdrawing my support. DOWN WITH THE EU!

Reply 17 of 26, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie
furan wrote on 2026-04-21, 18:17:

CGA will work fine on the PCI bus. But the memory and I/O ranges overlap between VGA and CGA. Potentially you could enable/disable memory & I/O decode on them programatically and juggle the vga cable between two cards. It sounds like what you want is a VGA that has better CGA support for whatever feature gpcga.exe is using.

Maybe not that big of a show stopper, with some forethought?

It stands to reason that the vga and cga/ega functions would be mutually exclusive.

As such, having the equivalent of bank switching, performed when 'any' technology specific register or IO port gets read or written to, should ensure the 'appropriate' bios and memory devices are in the system's memory space before service is performed, with some sanity checks in silicon to prevent silly hacker shit that could blow up monitors.

Eg, system defaults in vga mode, but can be effectively switched into a fully hardware compliant implementation mode by attempting a register read or write for that hardware type.

A simple commandline utility could thus be used to select the persona at runtime as needed.

Maybe supply a useful logic latch with some select lines to effectively port-replicate the video output for multiple connected monitors? (Say, 15pin Dsub, +4 pin IDC, that leads to well marked connectors?

Based on the 4 additional IDC pins, the latch knows which lead to output through?

Reply 18 of 26, by furan

User metadata
Rank Member
Rank
Member
wierd_w wrote on 2026-04-21, 20:11:
furan wrote on 2026-04-21, 18:17:

CGA will work fine on the PCI bus. But the memory and I/O ranges overlap between VGA and CGA. Potentially you could enable/disable memory & I/O decode on them programatically and juggle the vga cable between two cards. It sounds like what you want is a VGA that has better CGA support for whatever feature gpcga.exe is using.

Maybe not that big of a show stopper, with some forethought?

it's not a showstopper - if you wanted to switch between two pci video cards (even if it was a cga) - you modify the pci config space of the active one so it is no longer decoding memory & I/O and enable the decode on the other. the bios is a consideration but for a cga it's so minimal it might be fine to run with whatever's present already. I don't know why we're talking about supporting a theoretical additional cga card that is pci though - at this point just make a nice vga core that has extra cga/hercules bells and whistles.

Reply 19 of 26, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Many people want to drive a vintage CRT, which you cannot do with VGA signals.