Sega Virtua Processor

From Sega Retro

SegaVirtuaProcessor logo.png

This short article is in need of work. You can help Sega Retro by adding to it.


The Sega Virtua Processor (SVP) is a custom-designed Sega Mega Drive-compatible DSP chip which allows for enhanced graphics and sound capabilities. This chip essentially serves as an extra processor, allowing games to produce a significantly higher number of polygons than would be possible on a standard Mega Drive. Primarily seen as a reaction to the Super Famicom's Super FX chip, the SVP boasted more performance than Nintendo's chip but would ultimately see use in only a single title - Virtua Racing, which saw an increase in both its cartridge size and retail price.

History

SegaVirtuaProcessor JP chip.png

The SVP chip was revealed for the Mega Drive in Summer 1993, before the Mega Drive version of Virtua Racing released in 1994.[1] Interestingly, Virtua Racing was the first to showcase the power of the SVP chip - plans were underway to produce more games using this chip, using a "Modular Converter" cartridge to cut production costs. This converter would contain the SVP chip, with the enhanced game designed to use the SVP chip plugging into the top of the unit.[2] However, due to the costs of production against the Mega Drive/Genesis' age and falling popularity, the project was dropped. Virtua Racing also has a cartridge roughly one-and-a-half times the size of a usual Mega Drive cartridge due to the added chip, and is incompatible with the Sega 32X add-on.

While it has been assumed that the SVP was only intended for the Mega Drive, there are indications that Sega may have had greater plans for the chip. Third-party developer Artech Digital Entertainments once considered using the SVP in their ultimately-unreleased Sega VR title Outlaw Racing, and the CRI title Zaxxon's Motherbase 2000 contains remnants of unused SVP support (despite being a Sega 32X game.)

List of games with planned support

Magazine articles

Main article: Sega Virtua Processor/Magazine articles.

Technical specifications

Main article: Sega Virtua Processor/Technical specifications.
See also Blast processing for SuperFX comparison

The SVP chip adds the following capabilities to the Mega Drive hardware.

  • DSP core: 16-bit fixed-point arithmetic, 32-bit output, 16-bit word size, 25 registers (8 general, 8 external, 8 pointer, 1 status)
  • ALU: 32-bit, status register
  • Multiplier: 32-bit output, 16x16-bit pipelined multiplication
  • DSP buses: 6 buses[5]
  • 32-bit internal data buses: Data (D) bus (16-bit), subsidiary (S) bus (16-bit)
  • 16-bit program data bus: Program data (PD) bus
  • 16-bit external data bus: External (EXT) bus
  • 16-bit address bus: Program address (PA) bus
  • 32-bit arithmetic bus: Multiplier (M) bus
Graphics
  • DSP performance:
  • MAC operations: 1 MAC (multiply-accumulate) per cycle,[5] 23.01136 million MACs per second
  • Fixed-point calculations: 2 calculations (multiply and add) per cycle,[4] 46.02272 million calculations (23.01136 million multiplies, 23.01136 million adds) per second
  • Framebuffer: 320×192, double-buffered, 30 FPS, 60 KB (dual 30 KB) buffers in FPM DRAM (1.8432 MB/s, 1.8432 MHz DSP cycles), 30 KB buffer in Mega Drive VRAM (921.6 KB/s DMA transfer, equivalent to 2.7648 MHz DSP cycles), 4.608 MHz DSP cycles for framebuffer
  • 3D polygon T&L geometry:
  • Geometry transformations: 60,000 polygons/sec[n 1]
  • Lighting calculations: 50,000 polygons/sec[n 2]
  • 3D polygon rendering:
  • Flat shading:[n 3] 20,000 polygons/sec (8×16 polygons),[n 4] 10,000 polygons/sec (16×32 polygons),[n 5] 9000 polygons/sec (Virtua Racing)[14]
  • Texture mapping: 3000 polygons/sec (8×16 texel textures)[n 6]
Memory
  • Memory: 2179 KB (2.128 MB)[4]
  • RAM: 131 KB
  • ROM: 2 MB (128 KB code, 1920 KB data)[3]
  • RAM bandwidth:
  • FPM DRAM: 34.679066 MB/sec (16-bit, 18.181818 MHz, 55ns cycles, 80ns access)[7][8]
  • SRAM cache: 92.04544 MB/sec (32-bit, dual 16-bit banks,[5][13] 23.01136 MHz, 43ns)[4][5]

References


Cite error: <ref> tags exist for a group named "n", but no corresponding <references group="n"/> tag was found, or a closing </ref> is missing