Playing with TIGA #3 – TIGA libraries and drivers

  • by

TIGA is a strange beast. Texas Instrument’s TMS34020 (introduced in 1990) was the holy grail of 2D graphics acceleration for a certain period in the world of PCs. This chip is fully programable general purpose processor, so you can offload even non-graphics tasks to it (my low-cost SPEA Graphiti HiLite 1024 has 1MB of program/data memory in addition to 1MB of framebuffer memory). If you add a floating-point coprocessor (like Intel i860 or TMS34082), you can create a 3D accelerator that processes both rasterization and geometry processing.

On the other side, fixed-function graphics cards soon became cheaper and faster, which took the mass-market appeal away from TIGA. There were also multiple reasons, why TIGA was not a user-friendly standard. Unlike CGA, EGA and VGA, TIGA has a vendor specific part of the graphics driver. That means that you cannot just put a TIGA card in your computer and hope that programs or operating systems listing TIGA among supported graphics standards will work. That’s the reason why most TIGA collectors not even try if their cards are in a working condition.

This SPEA card (like many other TIGAs) is supported in DOS and Windows 3.x only. You need to configure the card (the configuration is stored in its EEPROM), initialize it during every boot using a vendor specific driver and load a generic TIGA library. Once all the steps are done, you can run any TIGA-enabled program.

This approach means that there cannot be any generic TIGA driver for UNIX, Linux, Windows NT and other operating systems that cannot work with drivers loaded from DOS. Windows 3.x has a generic TIGA driver and one can be installed also in Windows 95, but that’s all.

SPEA didn’t bank on the generic TIGA support in programs. They provided “direct” drivers for multiple DOS CAD programs (including AutoCAD) and Windows 3.1. These drivers work only on compatible SPEA cards and bypass all TIGA libraries. SPEA made them more performance optimized for CAD work. The Windows driver also offers an easy way to change resolution and color depth. Only 256-color (8-bit) and true color (32-bit) modes are supported, so my entry-level board with just 1MB of framebuffer memory can show millions of colors in resolutions no higher than 640×400.

(The first photo shows the SPEA card compared to a standard “dumb” ISA SVGA card. This SVGA card is one of the best choices from the early 90s thanks to its fast Tseng ET4000AX chip and 1MB of 32-bit video memory.)

Playing with TIGA #2 – repair

  • by

Our SPEA Graphiti HiLite 1024 2D graphics accelerator finally works. The repair was faster than expected – it took less than an hour. We just fixed the broken traces between the GPU and RAMDAC and that was it. The card outputs very sharp workstation-quality image even in 1152×870 and 256 colors. We are one step further to start programing it.

Playing with TIGA #1

  • by

This is my new project for next few months – SPEA Graphiti HiLite 1024 – a TI TMS34020-based professional CAD card (“TIGA”). The video output does not work properly as some traces between the GPU and RAMDAC are bad, but the rest of the card seems to be ok. Once I fix it, I would like to play with the chip and program some benchmarks to see the real performance. It looks like TIGA cards are valuable among collectors, but there is very little info about what can be done with them. TMS340x0 chips are fully programable 32-bit integer CPUs and this (rather low-end) card has 1MB of program/data memory (in addition to 1MB of framebuffer memory). It is like a complete computer on a card.

These chips were used in the graphics subsystem of Sun 386i UNIX workstation and some CRT terminals (like DEC VT1000). There were even Amiga Zorro cards with these chips (boosted with TI floating point co-processors), but presumably the concept was too complicated at the time when most people cared just about BitBlt and basic acceleration of line drawing.

(fortunately, my Siemens Nixdorf PCD-4Lsx PC is just big enough to accommodate one full-size ISA AT card… the card is very picky and refuses to work on Pentium systems or anything with ISA clock beyond ~8MHz)