Hubbry Logo
TMS34010TMS34010Main
Open search
TMS34010
Community hub
TMS34010
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
TMS34010
TMS34010
from Wikipedia
The followup to the TMS34010, the TMS34020

The TMS34010, developed by Texas Instruments and released in 1986, was the first programmable graphics processor integrated circuit. While specialized graphics hardware existed earlier, such as blitters, the TMS34010 chip is a microprocessor which includes graphics-oriented instructions, making it a combination of a CPU and what would later be called a GPU.

The chip was central to over twenty-five arcade video games from the late 1980s through the mid 1990s, primarily from Atari Games and Midway Games. It was first used in Narc in 1988, then other games including Hard Drivin', Smash TV, Mortal Kombat, and NBA Jam. It was also part of computer workstation video accelerator boards in the 1990s. TI later released the TMS34020 with an emphasis on 3D rendering.

History

[edit]

The design of the TMS34010 was led by Karl Guttag, who previously worked on the TMS9918 video display controller first used in the TI-99/4A.[1] Development took place at TI facilities in Bedford (UK) and Houston (US). First silicon was working in Houston in December 1985, with shipment of development boards to IBM's workstation facility in Kingston, New York, in January 1986.

Midway Games[a] was a prolific user of the chip in arcade video games beginning with the run and gun Narc in 1988. Subsequent Midway games built around the chip include Smash TV (1990), Mortal Kombat (1992), and NBA Jam (1993). The 3D driving simulator Hard Drivin' (1989) from Atari Games contains two of the processors.[2] Atari Games used the chip in other flat-shaded 3D games: S.T.U.N. Runner (1989), Race Drivin' (1990), and Steel Talons (1991).

TI developed the Texas Instruments Graphics Architecture (TIGA) specification for professional-level video accelerator cards for IBM PC compatibles, of which the TMS34010 was central.[3][4]

A follow-up processor, the TMS34020, was released in 1989. The chip can be paired with the TMS34082A floating point coprocessor to render three-dimensional graphics. It is used in Midway's 1994 Revolution X arcade game, even though the game is not fully 3D.[5]

Technical details

[edit]

The TMS34010 is a bit addressable, 32-bit processor, with two register files, each with fifteen registers and sharing a sixteenth stack pointer.[6] The instruction set supports drawing into two-dimensional bitmaps, arbitrary variable-width data, conversion of pixel data to different bit depths, and arithmetic operations on pixels. Positions in bitmaps can be specified either as X, Y coordinates or as addresses. The PIXBLT instruction handles drawing pixels, including Boolean and other operations for combining pixel data, and most of the microcode for graphics functions is to support it.[7]

The TMS34010 can execute general purpose programs and is supported by an ANSI C compiler. Most of the arcade video games that use the processor were written in native assembly language, not C.

Uses

[edit]

Arcade video games

[edit]

The TMS34010 is used in many coin-operated arcade video games manufactured from 1988–1997.[8] Several games use the TMS34020.

Atari Games

Williams / Midway

MicroProse Games

Other

Video accelerators

[edit]

The TMS chips are compliant with the 1989 Texas Instruments Graphics Architecture (TIGA) standard, and in the early 1990s were used in professional-level video coprocessor boards for MS-DOS, Macintosh, Windows, and SCO Unix.[3] In a 1991 article on graphics adapters, PC Magazine reported that the fastest boards for regenerating AutoCAD test images were based on the TMS34010.[4]

The Aura Scuzzygraph,[12][13] Radius PowerView,[13] and Radius SuperView[13] external SCSI graphics cards for Mac computers are based on the TMS34010.

One of the graphics options for the 1988 Sun386i workstation, the CG5 video card, uses the TMS34010.[citation needed]

The Amiga A2410 graphics card uses the TMS34010 and was included in the Amiga UNIX 2500UX and 3000UX UNIX workstations.[14] It was developed in conjunction with the University of Lowell. When running Amiga UNIX, the card supports the X Window System and gives a high resolution 8-bit display. The card can also be used when running Amiga OS, with support libraries and some Retargetable Graphics implementations.

Game console

[edit]

In 1987, TI demonstrated real-time 3D games with stereo sound effects on a personal computer, using a small TMS34010 adapter card called "The Flippy".[15] The Flippy was designed as the basis of a game development system for consoles and as an IBM PC compatible gaming card in its own right. Texas Instruments engineer Michael Denio wrote The Adventures of Captain Pixel as a demo for the system.[15] In 1988, he released a similar game, The Adventures of Captain Comic, as shareware for MS-DOS.

TI made an unsuccessful effort in 1987 and 1988 to convince games makers such as Nintendo and Sega to write 3D games and create a new console market.[citation needed]

TMS34020

[edit]
Die of TMS34020
TMS34082A floating point coprocessor

The successor to the TMS34010, the TMS34020[16] (1988), provides several enhancements including an interface for a special graphics floating point coprocessor, the TMS34082 (1989). The primary function of the TMS34082 is to allow the TMS340 architecture to generate high quality three-dimensional graphics. The performance level of 60 million vertices per second was advanced at the time.

The TMS34020 is used in at least two arcade video games: Revolution X (1994) and Battletoads Arcade (1994).[17]

The Rambrandt Amiga extension card from Progressive Peripherals & Software supported up to four TMS34020, for use in virtual reality simulations.[18]

Notes

[edit]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
The TMS34010 is a 32-bit graphics system processor developed by and introduced in 1986, marking it as the first fully programmable graphics processor designed for efficient 2D acceleration. It pioneered direct interfacing with (DRAM) and video RAM (VRAM), incorporating a high-speed to support real-time display operations without heavy reliance on the host CPU. Architecturally, the TMS34010 operates at clock speeds of 40 MHz or 50 MHz and includes 30 32-bit registers divided into A and B banks, along with x-y addressing modes optimized for graphics primitives. Its instruction set supports key graphics functions such as pixel block transfers, transparency handling, plane masking, Boolean operations, and window clipping, enabling complex rendering tasks like line drawing, bitmap manipulation, and color expansion. The processor communicates with host systems via input/output registers and was paired with external lookup table digital-to-analog converters (LUT-DACs), such as the Brooktree Bt478 or TI's TMS34075, to drive displays with up to 256 colors from a palette. The TMS34010's software ecosystem centered on Texas Instruments Graphics Architecture (TIGA), a standardized interface that allowed developers to program the chip using high-level languages and integrate it seamlessly with host processors for applications requiring accelerated graphics. It supported memory configurations typically ranging from 1 to 2 MB, often at 8 bits per pixel, making it suitable for professional workloads. Notable applications included high-end personal computers for software like Adobe Photoshop and CAD programs in the late 1980s and early 1990s, as well as arcade gaming machines, scientific visualization tools, avionics displays, and industrial process control systems. Early demonstrations reached influential figures, such as Steve Jobs at NeXT in 1986, underscoring its role in advancing graphics hardware during the transition from fixed-function to programmable accelerators.

Development and History

Origins and Design

The development of the TMS34010 graphics system processor was led by Karl Guttag at ' facilities in , , and , , beginning in the early 1980s. Guttag, who had previously contributed to the TMS9918 video display processor, assumed responsibility for graphics product definition at TI in 1982, driving the architectural vision for advanced graphics hardware. The primary motivation behind the TMS34010 was to overcome the inflexibility of fixed-function, hardwired graphics chips, which struggled with the increasing demands of complex 2D in emerging and computing applications during the mid-1980s. By creating the first fully programmable processor, TI aimed to provide developers with a versatile solution that combined general-purpose computing capabilities with specialized , enabling efficient handling of diverse graphical tasks without the need for multiple dedicated chips. This approach addressed key bottlenecks in performance and adaptability, particularly as personal computers and workstations began incorporating more sophisticated visual interfaces. Key innovations in the TMS34010's design centered on integrating CPU-like processing elements with graphics-specific hardware, including support for bit-addressable memory and a suite of pixel-level operations such as transparency blending and bit masking. This architecture allowed direct manipulation of graphical data at the bit and levels, enhancing efficiency for operations like bitmap transfers (PIXBLT). The processor was engineered for compatibility with standard (DRAM) to leverage existing cost-effective memory technologies, while also pioneering integration with video RAM (VRAM) to enable high-speed serial display output without compromising processor access. First silicon for the device was achieved in December 1985 in , marking a significant milestone in programmable hardware.

Release and Initial Adoption

The TMS34010 was announced by in January 1986 and officially released in June of that year as the company's first programmable graphics system processor. Priced for high-performance applications, the chip was positioned as a solution for graphics-intensive applications, though its cost contributed to slower initial market penetration compared to simpler display controllers. Texas Instruments promoted the TMS34010 through demonstrations at key industry events, including SIGGRAPH '86 in , where executives like Karl Guttag emphasized its flexibility for custom graphics algorithms and compatibility with emerging video RAM technology to appeal to software developers and hardware designers. To support early experimentation, TI released development tools such as the TMS34010 Software Development Board, an PC add-in card that provided a hardware platform for prototyping and graphics software in a controlled environment. Despite these efforts, initial adoption was hampered by the chip's relatively high cost and the expertise required to develop for its unique instruction set and bit-manipulation features, limiting widespread use in cost-sensitive consumer products during the mid-1980s. Nonetheless, the TMS34010 was lauded for pioneering programmable graphics capabilities in embedded systems, allowing efficient handling of complex raster operations without dedicated fixed-function hardware. By 1988, numerous companies were developing TMS34010-based products, with early commercial success emerging through partnerships with arcade manufacturers such as Williams Electronics, whose game Narc became the first arcade title to incorporate the processor for enhanced 32-bit graphics rendering. Similar collaborations with followed, paving the way for broader integration in high-end gaming hardware.

Technical Specifications

Core Architecture

The TMS34010 employs a 32-bit RISC-like , influenced by the , with an instruction set that executes most basic instructions in a single cycle for efficient performance. The TMS34010 supports clock speeds of 20 MHz, 40 MHz, 50 MHz, and 60 MHz, fabricated in 1.8 μm technology with approximately 0.5 power dissipation. This design features 32-bit internal data paths, registers, and logical addresses, providing a unified space for both instructions and data to support seamless computations. Central to its computational model is bit-addressable , where the 32-bit internal address points directly to individual bits, enabling field moves of 1 to 32 bits from any starting position without alignment constraints and facilitating direct manipulation in tasks. The processor's internal organization includes dual 15-word general-purpose register files (A0–A14 and B0–B14), each 32 bits wide and dual-ported for parallel data access, with the B file often serving as implied operands for operations. A shared 32-bit stack pointer (accessible as the 16th register in either file) manages a system stack that grows toward lower addresses, supporting efficient context switching and instructions like multi-move to/from memory (MMFM/MMTM) for subroutine handling in routines. This register structure, totaling 30 general-purpose registers plus the shared stack pointer (31 total), optimizes data flow between source and destination operations common in processing workflows. The microcoded control unit, with 166 control outputs and 808 microstates stored in a control ROM, orchestrates execution and achieves up to 25 MIPS, with typical performance of 10 MIPS at 40 MHz. It implements a fetch-decode-execute , augmented by a 256-byte on-chip instruction cache holding up to 128 words, to overlap instruction phases and sustain high throughput during sequential code execution. The is tailored for , incorporating XY addressing modes via an OFFSET register for coordinate translation and supporting bit-level operations, while 32-bit internal data paths enable efficient processing in graphics tasks.

Graphics Processing Features

The TMS34010 incorporates specialized hardware optimized for 2D graphics rendering and manipulation, enabling efficient -level operations without relying on the host CPU. Central to this is the PIXBLT ( Block Transfer) instruction, which facilitates the copying and processing of blocks between memory regions using binary, linear, or XY addressing modes. This instruction supports transparency by leaving destination pixels unchanged when source pixels match a specified value (typically 0), controlled via a dedicated bit in the operation setup. Additionally, plane masking allows selective updates to specific bit planes within a , replicated across the pixel width for formats from 1 to 16 bits per pixel. The PIXBLT instruction further integrates logical operations such as AND, OR, and XOR for combining source and destination data, enabling raster operations like pattern overlays and directly in hardware. It accommodates variable block dimensions and pitches, with configurable starting corners to handle overlapping transfers and directional rendering. For enhanced flexibility, the pixel processing unit (PPU) within the TMS34010 performs color expansion and reduction, converting between pixel formats such as 1-bit to multi-bit color representations using predefined color registers. This unit also supports arithmetic operations—including , , —for pixels wider than 2 bits, allowing dynamic adjustments like blending or intensity scaling during transfers. Boolean processing in the PPU extends to 16 distinct raster operations, such as source-destination AND or XOR, executed autonomously to combine pixel data without CPU intervention. These operations are particularly useful for effects like masking sprites or applying logical filters to bitmaps. Complementing this, the TMS34010's shift and merge capabilities utilize a barrel shifter to perform 1- to 32-bit shifts (arithmetic or logical) and field merges, aligning pixels of varying widths for seamless integration. Such features enable smooth scrolling by offsetting pixel data across scanlines and efficient sprite overlays through precise bit-field manipulation. Overall, these elements leverage the processor's register files for temporary storage during execution, streamlining complex graphics tasks.

Interfaces and Memory Support

The TMS34010 features a 32-bit host interface designed for efficient communication between the graphics processor and an external host CPU, enabling data transfers and control operations. This interface utilizes a bidirectional 32-bit data path formed by two 16-bit buses (HD0-HD15 and HD16-HD31), with dedicated registers such as HSTDATA for buffering data and HSTCTL for managing status and interrupts. Handshaking is facilitated through signals like HRDY (host ready), HCS (host chip select), HREAD, and HWRITE, while 3-bit status codes are passed bidirectionally to indicate operational states and support asynchronous access between the host and TMS34010. The chip provides a direct interface to DRAM and VRAM, incorporating support for serial access memory (SAM) to enable high-speed display output without burdening the main memory bus. This VRAM integration leverages shift registers for rapid serial data transfer to the display, a feature native to the TMS34010, which was the first fully programmable graphics processor to directly interface with and utilize VRAM in this manner. Control signals such as RAS, CAS, WE, and TRF/ manage memory cycles, with programmable refresh intervals configurable via the REFCNT register to ensure reliable DRAM operation during video tasks. An integrated supports 26-bit addressing, allowing access to up to 64 MB of space through the multiplexed LAD0-LAD15 bus, which handles both linear and XY addressing modes for operations. This unit works in conjunction with bit-blit hardware (PIXBLT) to accelerate block moves, performing transfers with support for variable widths, pitches, and operations like color expansion. The addressing scheme includes autoincrement capabilities and offset registers for efficient virtual screen . For CRT interfacing, the TMS34010 includes a scanline buffer implemented via VRAM shift registers, which load display data during horizontal blanking periods to minimize bandwidth contention. The display controller provides dedicated pins for horizontal (HSYNC) and vertical (VSYNC) sync signals, along with BLANK for beam control, all programmable through registers like DPYCTL, HTOTAL, and VTOTAL to generate precise video timing. These features enable seamless integration with standard CRT monitors, supporting pixel depths from 1 to 16 bits.

Applications

Arcade Video Games

The TMS34010 debuted in arcade video games with ' Narc in 1988, marking the first commercial use of the chip as a dedicated graphics and logic processor in dedicated arcade hardware. In Narc, a single TMS34010 operating at 48 MHz served as the main CPU on the Williams Z Unit board, managing graphics rendering and game logic while paired with dual M6809E processors for sound. This configuration allowed the chip to handle the game's detailed sprite-based visuals and fast-paced action, contributing to its success as an early 32-bit arcade title. The TMS34010 quickly became a staple in Midway's arcade lineup, powering a series of influential titles through the early . Games such as (1990), (1992), and (1993) utilized the chip on Y Unit and T Unit hardware, where it functioned as the primary processor for both computational tasks and graphics acceleration. In these bitmap-oriented systems, the TMS34010 enabled complex sprite manipulation, including scaling and , which were essential for the fluid animations in and the dynamic player movements in . Configurations typically featured the TMS34010 as the core CPU, clocked at 6.25 MHz effective instruction rate (derived from higher input clocks), alongside M6809 sound CPUs and YM2151 FM synthesis for audio. In Atari's arcade systems, the TMS34010 complemented 68000-series CPUs in a co-processor role focused on . For instance, in Hard Drivin' (1989), a 68010 handled main logic while one or more TMS34010 chips at 50 MHz processed polygon-to-bitmap conversions and rasterization, supporting the game's pioneering 3D driving simulation. This hybrid setup highlighted the chip's versatility in offloading GPU duties from the host CPU in performance-intensive environments. The TMS34010's integrated graphics hardware, including the PIXBLT instruction for efficient block transfers and sprite rendering, delivered key performance advantages in arcade titles. It supported fill rates up to approximately 40 million pixels per second in optimized memory configurations, facilitating multi-layer —as seen in 's overhead views—and transparency effects for overlapping sprites in fighting games like . These capabilities allowed developers to achieve smooth 512x400 resolution visuals at 60 Hz refresh rates, elevating arcade graphics quality during the late 1980s and early 1990s transition to 32-bit processing.

Video Accelerators

The TMS34010 found significant application in video accelerator cards for personal computers and workstations during the late 1980s and early , primarily through ' TIGA (TI Graphics Architecture) standard. TIGA provided a standardized software interface between the host system and the TMS34010 processor, enabling developers to use libraries for efficient 2D acceleration across platforms including PC compatibles, Macintosh, and UNIX systems such as Sun-3, , and Apollo workstations. This architecture allowed the TMS34010 to handle tasks independently via a communications protocol, reducing the computational load on the host CPU and supporting real-time operations like animation through features such as double buffering. Key features of these TIGA-compliant accelerators included hardware-accelerated line drawing using Bresenham's algorithm, filling for convex and arbitrary shapes with options for back-face and parity rules, and a hardware cursor for precise pointing. They also supported bit-block transfers, clipping to screen or windows, and rendering styles like solid colors, 16x16 area-fill patterns, and 32-bit line-style patterns, often with rectangular pens for thicker lines. Memory configurations typically utilized up to 2 MB of VRAM for frame buffers, off-screen storage, and program overlays, facilitating offloading of graphics processing from the host CPU while maintaining compatibility with VGA resolutions up to 1024x768. Prominent examples of TMS34010-based accelerators included Number Nine Visual Technology's Revolution series and #9GX cards, which offered expandable VRAM up to 2 MB, hardware cursor, line drawing, and polygon fill, along with VGA loop-through for legacy compatibility. The Hercules GB1024 provided similar capabilities with 1-2 MB VRAM/DRAM, supporting 1024x768 resolutions and VGA standards for professional use. On the Amiga platform, the A2410 accelerator integrated the TMS34010 with 2 MB VRAM, enabling 1024x1024 resolutions at 8-bit color depth, hardware cursor, line drawing, polygon fill, and TIGA portability for Zorro II interfaces in systems like the Amiga 2000. These accelerators were marketed from 1988 to 1992, targeting productivity applications such as CAD/CAM, , and early software, where the TMS34010's pixel-size independence and high-speed rendering (e.g., up to 10 million pixels per second for lines) provided substantial performance gains over host-based graphics.

Prototypes and Other Uses

In 1987, developed "The Flippy," a prototype ISA adapter card based on the TMS34010, designed to demonstrate console-like real-time 3D and stereo sound effects on personal computers such as the IBM PC and . This non-commercial board served as a game development platform to showcase the chip's potential for home computing applications but was not released to market due to its experimental nature. Beyond gaming prototypes, the TMS34010 found limited embedding in industrial video systems for tasks like process control and visualization. ' own Software Development Board (SDB), a TMS34010-based add-in card released around 1987, facilitated prototyping for such systems by providing a hardware platform for testing on PCs. Early digital video editors also incorporated the chip; for instance, Media Cybernetics adapted its HALO Graphics Toolkit in the late to directly interface with the TMS34010 for image processing and analysis tasks. The TMS34010 saw restricted non-gaming adoption in custom workstations during the late , particularly for graphics-intensive simulations in scientific and fields. These specialized systems leveraged the processor's bit-manipulation capabilities for real-time rendering in applications like industrial simulations, though widespread use was hindered by the chip's cost and the need for custom integration.

Legacy and Successors

Impact and Technological Influence

The TMS34010 pioneered the concept of programmable graphics processing units (GPUs) by introducing a fully programmable architecture capable of executing custom graphics instructions directly on bit-addressable memory, a feature that allowed for flexible manipulation of pixel data without relying on rigid hardware pipelines. This innovation marked a departure from earlier fixed-function graphics hardware, enabling developers to implement complex rendering algorithms in software, which significantly influenced subsequent designs in the industry. For instance, its bit-addressable processing approach laid foundational principles for parallel graphics operations and software-defined rendering in subsequent industry designs. By facilitating a shift from fixed-function to software-defined , the TMS34010 enhanced visual realism in arcade games and accelerated during the , allowing for more dynamic effects like smooth scaling and bit-plane operations that were previously hardware-limited. In arcade applications, such as those from Midway, it powered titles that pushed boundaries in 2D sprite handling and filling, contributing to the era's interactive boom. This programmability extended to PC video accelerators, where it supported early and CAD workloads, setting performance standards that influenced the integration of coprocessors in systems. The TMS34010's legacy endures through modern emulation efforts, particularly in field-programmable gate array (FPGA) recreations that preserve its original codebase for historical accuracy. Projects like FPGA platform include cores emulating the TMS34010 for arcade systems, such as the Williams Z-Unit board used in , enabling faithful reproduction of gameplay on contemporary hardware without software approximation. These recreations not only maintain access to preserved 34010 assembly code but also highlight the chip's enduring architectural relevance in retro computing communities. Despite its advancements, the TMS34010 faced criticisms for its high power draw, stemming from its 5V design and intensive memory interfacing requirements, which made it less suitable for low-power devices. Additionally, its elevated —equivalent to around $750 in late pricing for development boards—restricted widespread adoption beyond niche markets like arcades and professional workstations. Nevertheless, it established key benchmarks, achieving up to 6 MIPS for 2D tasks at clock speeds up to 50 MHz, influencing metrics in future processors. The TMS34020, introduced by in 1989 as the successor to the TMS34010, doubled the performance to approximately 10 MIPS while operating at a 40 MHz clock speed, achieved through architectural improvements including a larger 512-byte instruction cache and enhanced pipelining for operations. It retained the core 32-bit bit-addressable for direct pixel manipulation but added support for advanced 2D and entry-level 3D tasks, such as improved XY addressing modes and specialized instructions for trapezoidal filling, which facilitated and basic in pipelines. These enhancements made it suitable for more demanding display systems, with on-chip features like 64 programmable I/O registers for CRT timing and memory control. To extend 3D rendering capabilities, the TMS34020 was often paired with the TMS34082A floating-point , a dedicated unit optimized for vector and transformations, delivering up to 40 MFLOPS in single-precision operations. This combination enabled high-performance in professional applications, such as workstation-based visualization, where the coprocessor handled floating-point intensive tasks like vertex transformations while the main processor managed rasterization. The TMS34082A supported multiple instances in a system, allowing scalable parallelism for complex scenes, though its integration required careful host-processor interfacing via the TIGA architecture. For cost-sensitive 2D applications, developed the TMS34061 as a lower-end variant, functioning primarily as a video system controller rather than a full programmable processor, with capabilities for and CRT timing generation in bit-mapped displays. It lacked the general-purpose computing power of the TMS34020 but provided efficient support for simpler tasks, such as address generation and video synchronization, at a reduced complexity and . By the mid-1990s, the TMS340 family, including the TMS34020 and its variants, was largely discontinued as dedicated 3D accelerators from competitors like and began dominating the market with specialized hardware for real-time rendering. This shift marked the end of TI's focus on programmable processors, though the architecture influenced subsequent embedded solutions.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.