Driver:PGC: Difference between revisions

From MAMEDEV Wiki
Line 37: Line 37:
Several boards with varying degrees of compatibility were made by other manufacturers.
Several boards with varying degrees of compatibility were made by other manufacturers.


* Matrox PG series: PG-640, -641, -1280, -1281, PG2- (Micro-Channel), QG- (DEC MicroVAX Q-Bus), MG- (Multibus), VG- (VME)
===Matrox PG series===
A substantial number of cards based loosely on the IBM PGC were made by Matrox for PC-compatible computers and other platforms. Model numbers are PG-640, -641, -1280, -1281, PG2- (Micro-Channel), QG- (DEC MicroVAX Q-Bus), MG- (Multibus), VG- (VME). The PG-640 used National Semiconductor NS32016 microprocessor and later versions added the TI TMS34010 graphics accelerator as well as other support chips.
 
Drivers and utilities: https://archive.org/details/matrox-pg-series
 
===Other cards===
* Dell NEC MVA-1024 card
* Dell NEC MVA-1024 card
* Everex EV-660 EPGA
* Everex EV-660 EPGA
* Orchid Technology TurboPGA
* Orchid Technology TurboPGA
* Vermont Microsystems IM-640, IM-1024
* Vermont Microsystems IM-640, IM-1024
* Verticom models H-16, -16B, -256, M-256E are believed to be in some way PGC compatible, with the model number indicating number of colors on screen.


== See also ==
== See also ==

Revision as of 16:40, 14 September 2025

IBM Professional Graphics Controller

The PGC is an intelligent, accelerated 2D and 3D video card for the early PCs, marketed by IBM from 1984 to 1987. Screen resolution is 640x480, 256 colors (8-bit) from palette of 4096 (12-bit). The board has an optional CGA emulation mode which is not currently implemented in MAME as of 0.275.

Firmware running on the onboard CPU (an Intel 8088) exchanges commands and results with the host via a shared memory region; there is no direct framebuffer access. Bitmap support is rather simple -- a single write to frame buffer may change up to 20 adjacent pixels in one scan line. The primary purpose of the board is to draw 3D wireframe graphics (or 2D geometric shapes) and offload this from the main CPU. In other words, this is the first commercially sold personal computer GPU.

MAME supports it as slot device "pgc" for ISA bus in the ibm5150 (IBM PC) driver. As there is no CGA emulation, this needs to be used along side a CGA board, for example in slot 5 on a ibm5150, with the other boards left as default. The two 4:3 monitors will be displayed side by side, which works well on a 16:9 display. In theory this should work in the ibm5160 (IBM PC XT) and ibm5170 (IBM PC AT) and some other ISA bus PC compatibles. The real PGC is reported to have trouble with faster computers.

Documentation

Software

Advanced Diagnostics

The IBM PC Advanced Diagnostics 2.25 (and perhaps other versions) do support the PGC, however the MAME emulation is currently failing the test.

AutoCAD

The card was supported by CAD software (AutoCAD 2.6j is known to work).

CompuShow

CompuShow image viewer claims support, but fails to display anything (apparently, it was tested on a 3rd-party compatible card, with extended command set).

Lawrence Berkeley National Laboratory demo

Public domain "IEA/ORAU Long-Term Global Energy-CO2 Model" software (DOI: 10.3334/CDIAC/ess.cmp002, https://web.archive.org/web/20230604083458/https://cdiac.ess-dive.lbl.gov/ftp/cmp002/), using the VDI driver for PGC to display its simulation results:

PGCBMP and PGCTALK

Open source utilities written in C (https://www.seasip.info/VintagePC/pgcbmp.zip) that speak directly to the card and provide examples of how to use it. Also available on github, PGCTALK and PGCBMP.

VDI

PGC is supported by the IBM Personal Computer Graphics Development Toolkit via the VDI (virtual device interface) driver.

Compatible boards

Several boards with varying degrees of compatibility were made by other manufacturers.

Matrox PG series

A substantial number of cards based loosely on the IBM PGC were made by Matrox for PC-compatible computers and other platforms. Model numbers are PG-640, -641, -1280, -1281, PG2- (Micro-Channel), QG- (DEC MicroVAX Q-Bus), MG- (Multibus), VG- (VME). The PG-640 used National Semiconductor NS32016 microprocessor and later versions added the TI TMS34010 graphics accelerator as well as other support chips.

Drivers and utilities: https://archive.org/details/matrox-pg-series

Other cards

  • Dell NEC MVA-1024 card
  • Everex EV-660 EPGA
  • Orchid Technology TurboPGA
  • Vermont Microsystems IM-640, IM-1024
  • Verticom models H-16, -16B, -256, M-256E are believed to be in some way PGC compatible, with the model number indicating number of colors on screen.

See also