High performance low cost video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
First Claim
1. An interactive video game system comprising:
- an interactive user input device;
a main processor coupled to the input device, the main processor having an address space, the main processor interactively selecting a point of view in response to inputs from the user input device;
a coprocessor coupled to the main processor, the coprocessor providing a predetermined graphics feature set for interactively generating image data in response to the selected point of view by projecting polygons representing a three dimensional world onto a two dimensional viewing plane, the coprocessor including;
a signal processor that is shared between at least graphics functions and audio processing functions, the signal processor including a scalar unit and a vector unit, the vector unit capable of performing plural calculations in parallel, the signal processor including a microcode store that stores microcode, the signal processor executing the microcode in the microcode store to perform the graphics and audio processing functions;
a display processor comprising display pipeline hardware that alternatively provides a one-pixel-per-cycle mode and a two-pixel-per-cycle mode to minimize hardware while providing a rich feature set including level-of-detail processing, the display pipeline hardware including a texture memory having first and second parts, the texture memory first part being capable of storing texture maps that are color indexed and texture maps that are not color indexed, the texture memory second part being capable of storing texture maps and/or color lookup tables for the color indexed texture maps, a video interface, an audio interface, a serial interface, and a parallel peripheral interface, wherein each of the signal processor, the display processor, the video interface, the audio interface, the serial interface and the parallel peripheral interface includes circuitry for accessing a main memory;
the main memory being coupled to the coprocessor via a 9 bit wide bus, the main memory providing a common address space for the coprocessor and the main processor, the main memory storing at least the following data structures;
instructions for execution by the main processor;
a color frame buffer;
a depth buffer;
graphics microcode;
audio processing microcode;
at least one display list;
at least one texture map; and
at least one audio output buffer;
a video signal generating circuit coupled to the coprocessor video interface, the video signal generating circuit generating a video signal for display on a color television set;
a removable storage device including a housing, a security chip, a read only memory and at least one further memory device, the coprocessor including an arrangement that maps the read only memory and the further memory device into the main processor address space, the read only memory initially storing the graphics and audio processing microcode; and
a connector that connects the coprocessor to the removable storage device; and
a serial peripheral interface circuit coupled to the coprocessor serial interface, the serial peripheral interface circuit including a processor that performs serial interface functions and security functions and further includes a boot ROM that provides main processor initial program load instructions, the serial interface circuit processor being coupled to the removable storage device security chip through the connector.
5 Assignments
0 Petitions
Accused Products
Abstract
A low cost high performance three dimensional (3D) graphics system is disclosed that can model a world in three dimensions and project the model onto a two dimensional viewing plane selected based on a changeable viewpoint. The viewpoint can be changed on an interactive, real time basis by operating user input controls such as game controllers. The system rapidly produces a corresponding changing image (which can include animated cartoon characters or other animation) on the screen of a color television set.
The richly featured high performance low cost system is intended to give consumers the chance to interact in real time right inside magnificent virtual 3D worlds to provide a high degree of image realism, excitement and flexibility. An optimum feature set/architecture (including a custom designed graphics/audio coprocessor) provides high quality fast moving 3D images and digital stereo sound for video game play and other graphics applications. Numerous features provide flexibility and capabilities in a system that is intended to be within the cost range of most consumers.
67 Citations
3 Claims
-
1. An interactive video game system comprising:
-
an interactive user input device;
a main processor coupled to the input device, the main processor having an address space, the main processor interactively selecting a point of view in response to inputs from the user input device;
a coprocessor coupled to the main processor, the coprocessor providing a predetermined graphics feature set for interactively generating image data in response to the selected point of view by projecting polygons representing a three dimensional world onto a two dimensional viewing plane, the coprocessor including;
a signal processor that is shared between at least graphics functions and audio processing functions, the signal processor including a scalar unit and a vector unit, the vector unit capable of performing plural calculations in parallel, the signal processor including a microcode store that stores microcode, the signal processor executing the microcode in the microcode store to perform the graphics and audio processing functions;
a display processor comprising display pipeline hardware that alternatively provides a one-pixel-per-cycle mode and a two-pixel-per-cycle mode to minimize hardware while providing a rich feature set including level-of-detail processing, the display pipeline hardware including a texture memory having first and second parts, the texture memory first part being capable of storing texture maps that are color indexed and texture maps that are not color indexed, the texture memory second part being capable of storing texture maps and/or color lookup tables for the color indexed texture maps, a video interface, an audio interface, a serial interface, and a parallel peripheral interface, wherein each of the signal processor, the display processor, the video interface, the audio interface, the serial interface and the parallel peripheral interface includes circuitry for accessing a main memory;
the main memory being coupled to the coprocessor via a 9 bit wide bus, the main memory providing a common address space for the coprocessor and the main processor, the main memory storing at least the following data structures;
instructions for execution by the main processor;
a color frame buffer;
a depth buffer;
graphics microcode;
audio processing microcode;
at least one display list;
at least one texture map; and
at least one audio output buffer;
a video signal generating circuit coupled to the coprocessor video interface, the video signal generating circuit generating a video signal for display on a color television set;
a removable storage device including a housing, a security chip, a read only memory and at least one further memory device, the coprocessor including an arrangement that maps the read only memory and the further memory device into the main processor address space, the read only memory initially storing the graphics and audio processing microcode; and
a connector that connects the coprocessor to the removable storage device; and
a serial peripheral interface circuit coupled to the coprocessor serial interface, the serial peripheral interface circuit including a processor that performs serial interface functions and security functions and further includes a boot ROM that provides main processor initial program load instructions, the serial interface circuit processor being coupled to the removable storage device security chip through the connector.
-
-
2. An interactive real time graphics display system comprising:
-
at least one user input device;
a main random access memory providing a common address space;
a main processor coupled to address the main memory and also coupled to the user input device, the main processor storing instructions in and executing instructions from the main memory in real time response to inputs received from the user input device, the main processor storing at least display list graphics commands and play list audio commands in the main memory;
a signal processor coupled to address the main memory, the signal processor fetching and executing microcode stored in the main memory, the signal processor reading the display list graphics commands and play list audio commands from the main memory, the signal processor generating audio sample data in response to the play list audio commands and generating graphics display commands in response to the display list, the signal processor storing the sample data in an audio output buffer allocated within the main memory;
a display processor coupled to address the main memory, the display processor generating image data based at least in part on at least one texture map and other graphics data stored in the main memory, the display processor producing the image data in response to the graphics display commands, the display processor storing the image data in a color image frame buffer within the main memory;
a video interface coupled to address the main memory, the video interface reading the color image frame buffer in synchronism with display raster scan; and
an audio interface coupled to address the main memory, the audio interface reading the audio output buffer in synchronism with real time sound generation.
-
-
3. A method of operating a graphics display system of the type including a main processor, a coprocessor coupled to the main processor, a main random access memory coupled to the coprocessor and addressable by both the main processor and the coprocessor, and a video signal generating arrangement that produces a video signal for display, the method including the following steps:
-
(a) storing main processor code into the main memory;
(b) executing, with the main processor, the main processor code stored by the storing step, said executing step including storing coprocessor code, a task list, at least one texture map and a color lookup table into the main memory;
(c) fetching the task list from main memory;
(d) processing the task list with the coprocessor in accordance at least in part with the coprocessor code stored by step (b), the processing step including performing the following steps;
(1) loading the texture map and the color lookup table from the main memory into an on-chip texture memory;
(2) performing at least one 3D geometric transformation on a set of vertices using a scalar unit and a vector unit including performing multiple calculations in parallel with the vector unit;
(3) generating a triangle command based on the 3D geometric transformation;
(4) generating a pixel value in response to the triangle command;
(5) accessing the texture memory twice to provide color indexed texels based on the triangle command;
(6) combining the texels with the generated pixel value to generate a combined pixel value;
(7) accessing pixel values in a frame buffer stored in the main memory;
(8) blending the combined pixel value with at least one pixel value stored in the frame buffer;
(9) conditionally writing the combined pixel value into the frame buffer based on a comparison using a depth buffer stored in the main memory;
(10) using said scalar and vector units to generate output audio samples including performing multiple calculations in parallel with the vector unit; and
(11) storing the output audio samples into the main memory;
(e) reading the frame buffer in real time synchronism with color television set line scanning and converting the frame buffer contents to a composite video signal; and
(f) reading the stored output audio samples in real time and converting the stored audio samples into stereo sound.
-
Specification