Difference between revisions of "Blast processing"

From Sega Retro

Line 49: Line 49:
 
|-
 
|-
 
! Internal instruction rate
 
! Internal instruction rate
| 1.3423 MIPS (16/32-bit)
+
| 1.3423 MIPS (16/32-bit instructions)
| 1.5 MIPS (8/16-bit)
+
| 1.5 MIPS (8/16-bit instructions)
 
|-
 
|-
 
! External RAM
 
! External RAM
Line 57: Line 57:
 
|-
 
|-
 
! External RAM bandwidth
 
! External RAM bandwidth
| 10.526314 MB/s, <br> 64 KB per frame
+
| 10.526314 MB/s, <br> 204 KB (3x) access per frame
| 2.68 MB/s, <br> 43 KB per frame
+
| 2.68 MB/s, <br> 43 KB access per frame
 
|}
 
|}
  

Revision as of 22:06, 6 September 2016

Blast Processing was a marketing term coined by Sega to advertise the faster processing performance of the Mega Drive/Genesis. Sonic the Hedgehog 2 was the posterboy for this campaign, being faster than any other platform game at the time. The ad campaign featured commercials with races between two vehicles, with the SNES strapped to one and the Mega Drive strapped to the other.

Origins of term

<mediaplayer>File:Blast Processing Commercial.flv</mediaplayer>

According to Sega staff involved in its development and marketing, it was the high-speed DMA controller, rather than the CPU MHz, that the term was actually referring to. According to Sega of America's former technical director Scot Bayless: [1]


the PR guys interviewed me about what made the platform interesting from a technical standpoint and somewhere in there I mentioned the fact that you could just "blast data into the DAC's". Well they loved the word 'blast' and the next thing I knew Blast Processing was born.

— Scot Bayless


One of the specific DMA programming techniques he was referring to was the mid-frame palette swap, where the color could be changed every scanline, increasing the colors displayed on screen, a technique that was used in Sonic 2: [2]


Marty Franz [Sega technical director] discovered that you could do this nifty trick with the display system by hooking the scan line interrupt and firing off a DMA at just the right time. The result was that you could effectively jam data onto the graphics chip while the scan line was being drawn – which meant you could drive the DAC's with 8 bits per pixel. Assuming you could get the timing just right you could draw 256 color static images. There were all kinds of subtleties to the timing and the trick didn't work reliably on all iterations of the hardware but you could do it and it was cool as heck.

— Scot Bayless


Many of these DMA programmable techniques were originally intended by the Mega Drive's original product designer Masami Ishikawa: [3]


the sprite size could be changed to fill the whole display. It could also display the background screen behind the scrolling window and could change the color of each line. The number of available colors was limited compared to comparable arcade systems, but it could create shadows that matched each character's shape and was also capable of semi-transparency.

— Masami Ishikawa


Technical details

The term was used to refer to the following technical details that gave the Mega Drive/Genesis a faster performance:

CPU

The fact that the main CPU processor was clocked over two times faster than the one in its rival product, the Super NES. Sega's Motorola 68000 processor was clocked at 7.67 MHz, compared to the 3.58 MHz clock speed of Nintendo's Ricoh 5A22 processor. However, this was slightly misleading. This idea of simply comparing CPU clock rates to determine performance, regardless of other characteristics, is commonly known as the "megahertz myth". While Nintendo's 5A22 did run slower in clock cycles per second, it would put out more instructions per clock cycle, giving it a similar MIPS (million instructions per second) performance to Sega's 68000. The 68000's faster performance came from other advantages, such as a wider 16-bit data bus (the SNES CPU had an 8-bit data bus), faster memory bus bandwidth, more registers, 32-bit instructions,[4] and shared codebase with arcade games (where the 68000 saw widespread use). For more details, see Sega Mega Drive: Technical specifications.

Console Sega Mega Drive / Genesis [5] Super Nintendo [6][7]
Main CPU Motorola 68000 Ricoh 5A22
Clock rate 7.67 MHz internal,
5.263157 MHz external
3.58 MHz internal,
2.68 MHz external
Data bus width 32-bit internal,
16-bit external
16-bit internal,
8-bit external
Internal registers 16x 32-bit registers 4x 16-bit registers,
4x 8-bit registers
Internal instruction set 16-bit, 32-bit 8-bit, 16-bit
Internal instruction rate 1.3423 MIPS (16/32-bit instructions) 1.5 MIPS (8/16-bit instructions)
External RAM 64 KB 128 KB
External RAM bandwidth 10.526314 MB/s,
204 KB (3x) access per frame
2.68 MB/s,
43 KB access per frame

DMA

The fact that the Sega Mega Drive's Yamaha YM7101 VDP graphics chipset had a powerful DMA controller that could handle DMA (direct memory access) operations at a faster speed than the Super Nintendo.[4] The Mega Drive/Genesis could write to VRAM during active display and VBlank,[8] and had a faster VRAM bandwidth than the SNES. The quicker DMA transfer rates and bandwidth gave the Mega Drive/Genesis a faster performance over the SNES.[7] This included a higher fillrate, higher gameplay resolution, faster scrolling, high frame-rate with many moving objects on screen, and programmable capabilities such as mid-frame palette swaps (increasing colors per scanline), direct color mode (increasing colors on screen), scaling and rotation effects, ray casting, bitmap framebuffer, and 3D polygon graphics; the stock Mega Drive hardware (without needing any enhancement chips) could render 3D polygons with a performance comparable to the Super FX enhancement chip [9][10] (itself outperformed by the Mega Drive's optional Sega Virtua Processor enhancement chip). For more details on the Mega Drive's DMA capabilities, see Sega Mega Drive: Blast Processing.

Console Sega Mega Drive / Genesis [5] Super Nintendo [6][7]
DMA controller Yamaha YM7101 VDP Ricoh 5A22
Clock rate 13.3 MHz internal,
6.711648 MHz external
3.58 MHz internal,
2.68 MHz external
Data bus width 16-bit internal,
16-bit external
16-bit internal,
8-bit external
Video RAM 64 KB VRAM,
792 bytes VDP cache
64 KB VRAM,
1056 bytes PPU cache
Video RAM bandwidth 13.423296 MB/s
(16-bit, 6.711648 MHz)
7.16 MB/s
(16-bit, 3.58 MHz)
DMA transfer rate 3.21845 MB/s VRAM,
6.4369 MB/s VDP cache
2.68 MB/s
DMA transfer during active display 1.213812 MB/s VRAM,
2.427624 MB/s VDP cache
343.2 KB/s
Pixel fillrate 6.711648 MPixels/s,
427 pixels per scanline
5.369317 MPixels/s,
341 pixels per scanline
Pixel write fillrate 6.4369 MPixels/s
410 pixels per scanline
5.36 MPixels/s,
340 pixels per scanline
Write fillrate during active display 1.6384 MPixels/s (NTSC),
2.427624 MPixels/s (PAL)
686,400 pixels/s
Tile transfer during active display 37,931 tiles/sec,
753 tiles per frame
10,725 tiles/sec,
178 tiles per frame
Sprite transfer during active display 4793 sprites/sec,
80 sprites per frame
7680 sprites/sec,
128 sprites per frame
Sprite fillrate during active display 2.427624 MTexels/sec,
48,243 texels per frame
686,400 texels/sec,
11,421 texels per frame
Direct color mode 256–512 colors on screen 256–1024 colors on screen
3D polygon geometry 3333 triangles/sec (no enhancement),
9000 triangles/sec (SVP)
100 triangles/sec (no enhancement),
1000 triangles/sec (Super FX)
3D polygon rendering 1500 polygons/sec (no enhancement),
9000 polygons/sec (SVP)
100 poygons/sec (no enhancement),
1000 polygons/sec (Super FX)

References

External links