Difference between revisions of "Blast processing"

From Sega Retro

(24 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
The advert wasn't designed to cause people to think about what was being said, just that Sega and the Genesis were "better" than Nintendo and the Super NES. These sorts of "attack ads" were commonplace in the US at the time - other countries with stricter advertising regulations would not be able to air it, not least because it is a difficult to prove the truthfulness of what was being said. The term was not officially used outside of North America, likely for this reason.
 
The advert wasn't designed to cause people to think about what was being said, just that Sega and the Genesis were "better" than Nintendo and the Super NES. These sorts of "attack ads" were commonplace in the US at the time - other countries with stricter advertising regulations would not be able to air it, not least because it is a difficult to prove the truthfulness of what was being said. The term was not officially used outside of North America, likely for this reason.
  
In addition to provoking hardware comparisons, the advert also has a subtle dig at ''Super Mario Kart'' - Nintendo's flagship racing game which relies on the Super NES' hardware graphics mode, "[[wikipedia:Mode 7|Mode 7]]". Mode 7 allows the Super NES to scale and rotate background planes - something only achievable on the Mega Drive through software. The ''Mario Kart'' [[cartridge]] also had a built-in [[wikipedia:DSP (Nintendo)|DSP-1]] enhancement chip, which helped give the SNES a performance comparable to the Mega Drive. It was not thought at the time that a game like ''Mario Kart'' could run on the Mega Drive with the same performance profile, yet Sega (perhaps ambitiously) chose to portray it as the "slower" game. On the other hand, the Mega Drive itself did have several games at the time with true 3D polygon graphics (such as ''[[Star Cruiser]]'' and ''[[Hard Drivin']]'', for example), yet Sega of America never promoted the system's 3D capabilities, reflecting a dismissive attitude towards 3D games that looked "slower" (despite requiring faster processing) in favour of 2D games that looked "faster".
+
In addition to provoking hardware comparisons, the advert also has a subtle dig at ''Super Mario Kart'' - Nintendo's flagship racing game which relies on the Super NES' hardware graphics mode, "[[wikipedia:Mode 7|Mode 7]]". Mode 7 allows the Super NES to scale and rotate background planes - something only achievable on the Mega Drive through software. The ''Mario Kart'' [[cartridge]] also had a built-in [[wikipedia:DSP (Nintendo)|DSP-1]] enhancement chip, a math co-processor that further improved the system's Mode 7 capabilities. It was not thought at the time that a game like ''Mario Kart'' could run on the Mega Drive with the same performance profile, yet Sega of America (perhaps ambitiously) chose to portray it as the "slower" game. The Mega Drive did have several games at the time demonstrating background scaling and rotation (e.g. [[Super Scaler]] [[arcade]] based titles such as ''[[Super Thunder Blade]]'', ''[[After Burner II]]'' and ''[[Super Monaco GP]]'') as well as true 3D polygon graphics (e.g. ''[[Star Cruiser]]'' and ''[[Hard Drivin']]''), but Sega of America did not include them in its "blast processing" ad. Instead, the ad highlighted 2D Genesis games with fast movement and scrolling, drawing a visual link between in-game movement speed and processing speed, despite the former not always being an indication of the latter (e.g. a game with slower on-screen movement could be more processor-intensive).
  
 
===Origins===
 
===Origins===
Line 39: Line 39:
  
 
*It claimed that the Genesis did not have any hardware/technology that gave a "Blast" boost. However, the term "Blast Processing" was originally coined to refer to its [[VDP]]'s [[wikipedia:DMA controller|DMA unit]] "blasting" data at higher speeds than the SNES. But it's unlikely that Nintendo could've known this at the time, due to a lack of explanation from Sega's own marketing department in the 1990s.
 
*It claimed that the Genesis did not have any hardware/technology that gave a "Blast" boost. However, the term "Blast Processing" was originally coined to refer to its [[VDP]]'s [[wikipedia:DMA controller|DMA unit]] "blasting" data at higher speeds than the SNES. But it's unlikely that Nintendo could've known this at the time, due to a lack of explanation from Sega's own marketing department in the 1990s.
*It claimed that the SNES was just as fast as the Genesis. To support this claim, it noted that, while the SNES's [[wikipedia:Ricoh 5A22|Ricoh 5A22]] CPU has a slower clock rate, it has faster memory transfer per cycle, claiming that this gives it faster data transfer speed. However, the Mega Drive's [[68000]] CPU has a wider 16-bit external data bus, twice as wide as the 5A22's 8-bit external data bus, which means the 68000 transfers 16-bit data per cycle, whereas the 5A22 transfers 8-bit data per cycle, giving the 68000 a faster data transfer speed.
+
*It claimed that the SNES was just as fast as the Genesis. To support this claim, it noted that, while the Super Nintendo's [[Ricoh]] [[wikipedia:Ricoh 5A22|5A22]] S-CPU has a slower clock rate, it has faster memory transfer per cycle, claiming that this gives it faster data transfer speed. However, the Mega Drive's [[68000]] CPU has a wider 16-bit external data bus, twice as wide as the S-CPU's 8-bit external data bus, which means the 68000 transfers 16-bit data per cycle, whereas the S-CPU transfers 8-bit data per cycle, giving the 68000 a faster data transfer speed.
 
*It claimed the SNES's larger [[RAM]] gives it superiority in terms of speeding-up programs. However, RAM speed is largely determined by [[Byte|bandwidth]]. The Genesis has faster RAM bandwidth, making it faster for program access. Furthermore, it can read program data from the [[ROM]] [[cartridge]] at a higher speed than the SNES.
 
*It claimed the SNES's larger [[RAM]] gives it superiority in terms of speeding-up programs. However, RAM speed is largely determined by [[Byte|bandwidth]]. The Genesis has faster RAM bandwidth, making it faster for program access. Furthermore, it can read program data from the [[ROM]] [[cartridge]] at a higher speed than the SNES.
 
*It claimed that the Genesis only had a 256-color palette. However, the Genesis has a 512-color palette, which can be increased to 1536 colors in shadow/highlight mode. With DMA, it can be further increased up to 4096 colors for static images. Nevertheless, the SNES did have a larger palette of up to 32,768 colors.
 
*It claimed that the Genesis only had a 256-color palette. However, the Genesis has a 512-color palette, which can be increased to 1536 colors in shadow/highlight mode. With DMA, it can be further increased up to 4096 colors for static images. Nevertheless, the SNES did have a larger palette of up to 32,768 colors.
Line 55: Line 55:
  
 
===Main CPU===
 
===Main CPU===
The Mega Drive's main CPU (central processing unit) is clocked over two times faster than the one in its rival product, the SNES. Sega's [[Motorola 68000]] processor is clocked at 7.67 MHz, compared to the 3.58 MHz clock speed of Nintendo's [[Ricoh]] 5A22 CPU processor. However, the idea of simply comparing CPU clock rates to determine performance, regardless of other characteristics, is commonly known as the [[wikipedia:Megahertz myth|megahertz myth]]. While the 5A22 did run slower in clock cycles per second, it required less clock cycles for most instructions, giving it an overall comparable [[wikipedia:Instructions per second|MIPS]] (million instructions per second) performance to the 68000. In other words, the 68000's higher clock rate is not the reason the 68000 performs faster than the 5A22.
+
The Mega Drive's main CPU (central processing unit) is clocked over two times faster than the one in its rival product, the SNES. Sega's [[Motorola 68000]] processor is clocked at 7.67 MHz, compared to the 3.58 MHz clock speed of Nintendo's [[Ricoh]] [[wikipedia:Ricoh 5A22|5A22]] S-CPU. However, the idea of simply comparing CPU clock rates to determine performance, regardless of other characteristics, is commonly known as the [[wikipedia:Megahertz myth|megahertz myth]]. While the S-CPU did run slower in clock cycles per second, it required less clock cycles for most instructions, giving it an overall comparable [[wikipedia:Instructions per second|MIPS]] (million instructions per second) performance to the 68000. In other words, the 68000's higher clock rate is not the reason the 68000 performs faster than the S-CPU.
  
The 68000's faster performance came from other advantages, such as a wider [[32-bit era|32-bit]] internal data bus (double the 5A22's 16-bit internal data bus), wider 16-bit external data bus (double the 5A22's 8-bit external data bus), faster memory bandwidth, more [[wikipedia:Processor register|registers]], a hybrid 16/32-bit [[wikipedia:Instruction set|instruction set]],{{ref|[http://trixter.oldskool.org/2008/12/05/blast-processing-101/ Blast Processing 101]}} and faster arithmetic calculations (with more precision). It also had a shared [[wikipedia:Codebase|codebase]] with [[arcade]] games, where the 68000 saw widespread use, allowing more efficient arcade conversions. Overall, the 68000 is only slightly faster than the 5A22 for most operations, but is significantly faster for some operations, such as multiplication (which in turn allows significantly faster calculation of 3D geometry, for example). On the other hand, the 5A22 has a DMA unit, which the 68000 lacks, though that is because the Mega Drive's DMA unit is located in its VDP graphics processor instead. In other words, the 68000 alone does not give the Mega Drive a significant performance advantage, but it's the combination of the 68000 with the VDP's DMA unit (along with faster memory) that gives the system a significant performance advantage over the SNES.
+
The 68000's faster performance came from other advantages, such as a wider [[32-bit era|32-bit]] internal data bus (double the S-CPU's 16-bit internal data bus), wider 16-bit external data bus (double the S-CPU's 8-bit external data bus), faster memory bandwidth, more [[wikipedia:Processor register|registers]], a hybrid 16/32-bit [[wikipedia:Instruction set|instruction set]],{{ref|[http://trixter.oldskool.org/2008/12/05/blast-processing-101/ Blast Processing 101]}} and faster arithmetic calculations (with more precision). It also had a shared [[wikipedia:Codebase|codebase]] with [[arcade]] games, where the 68000 saw widespread use, allowing more efficient arcade conversions. Overall, the 68000 is only slightly faster than the S-CPU for most operations, but is significantly faster for some operations, such as multiplication (which in turn allows significantly faster calculation of 3D geometry, for example). On the other hand, the S-CPU has a DMA unit, which the 68000 lacks, though that is because the Mega Drive's DMA unit is located in its VDP graphics processor instead. In other words, the 68000 alone does not give the Mega Drive a significant performance advantage, but it's the combination of the 68000 with the VDP's DMA unit (along with faster memory) that gives the system a significant performance advantage over the SNES.
  
 
{| class="wikitable" style="width: 950px;"
 
{| class="wikitable" style="width: 950px;"
Line 67: Line 67:
 
! colspan=2 | Main [[wikipedia:Central processing unit|CPU]]
 
! colspan=2 | Main [[wikipedia:Central processing unit|CPU]]
 
! [[Motorola 68000]]
 
! [[Motorola 68000]]
! [[Ricoh]] [[wikipedia:Ricoh 5A22|5A22]]
+
! [[Ricoh]] [[wikipedia:Ricoh 5A22|5A22]] S-CPU
 
|-
 
|-
 
! rowspan=2 | [[wikipedia:Clock rate|Clock rate]]
 
! rowspan=2 | [[wikipedia:Clock rate|Clock rate]]
Line 147: Line 147:
 
| 51,000 divides/sec (16-bit){{ref|70 cycles per divide (3 cycles STZ, 2 cycles LDY, 2 cycles ASL, 2 cycles BCS, 2 cycles INY, 2 cycles CPY, 4 cycles BNE, 7 cycles ROR, 3 cycles PHA, 2 cycles TXA, 2 cycles SEC, 7 cycles SBC, 4 cycles BCC, 2 cycles TAX, 7 cycles ROL, 4 cycles PLA, 7 cycles LSR, 2 cycles DEY, 6 cycles RTS){{ref|[http://apprize.info/programming/65816/17.html Programming the 65816 Including the 6502, 65C02, and 65802]}}{{ref|[https://wiki.superfamicom.org/65816-reference SNES Development: 65816 Reference]}}|group=n}}
 
| 51,000 divides/sec (16-bit){{ref|70 cycles per divide (3 cycles STZ, 2 cycles LDY, 2 cycles ASL, 2 cycles BCS, 2 cycles INY, 2 cycles CPY, 4 cycles BNE, 7 cycles ROR, 3 cycles PHA, 2 cycles TXA, 2 cycles SEC, 7 cycles SBC, 4 cycles BCC, 2 cycles TAX, 7 cycles ROL, 4 cycles PLA, 7 cycles LSR, 2 cycles DEY, 6 cycles RTS){{ref|[http://apprize.info/programming/65816/17.html Programming the 65816 Including the 6502, 65C02, and 65802]}}{{ref|[https://wiki.superfamicom.org/65816-reference SNES Development: 65816 Reference]}}|group=n}}
 
|-
 
|-
! rowspan=3 | [[wikipedia:Polygonal modeling|3D polygon]] <br> [[wikipedia:Geometry pipelines|geometry calculations]]
+
! colspan=2 | [[wikipedia:Polygonal modeling|3D polygon]] [[wikipedia:Geometry pipelines|geometry calculations]]
! Base CPU
 
 
| 3300 [[wikipedia:Polygon mesh|polys/s]]
 
| 3300 [[wikipedia:Polygon mesh|polys/s]]
 
| 260 polys/s{{ref|1=SNES CPU geometry calculations: 13.32 kHz per polygon (80 adds, 111 multiplies, 9 divides){{ref|1=[https://books.google.co.uk/books?id=iAvHt5RCHbMC&pg=PA95 ''Design of Digital Systems and Devices'' (pages 95-97)]}}|group=n}}
 
| 260 polys/s{{ref|1=SNES CPU geometry calculations: 13.32 kHz per polygon (80 adds, 111 multiplies, 9 divides){{ref|1=[https://books.google.co.uk/books?id=iAvHt5RCHbMC&pg=PA95 ''Design of Digital Systems and Devices'' (pages 95-97)]}}|group=n}}
|-
 
! rowspan=2 | Cartridge <br> enhancement <br> chips
 
| rowspan=2 | [[Sega Virtua Processor]] (23.01136 MHz) <br> 50,000 polys/s
 
| [[wikipedia:Super FX|Super FX]] (10.738635 MHz){{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}} <br> 10,000 polys/s{{ref|1=Super FX geometry calculations: 923 cycles per polygon (80 adds, 111 multiplies, 9 divides),{{ref|1=[https://books.google.co.uk/books?id=iAvHt5RCHbMC&pg=PA95 ''Design of Digital Systems and Devices'' (pages 95-97)]}} 1 cycle per add, 5 cycles per 16×16 multiply, 32 cycles per 16-bit divide{{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}}|group=n}}
 
|-
 
| Super FX 2 (21.47727 MHz){{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}} <br> 20,000 polys/s
 
 
|}
 
|}
  
 
===GPU and DMA===
 
===GPU and DMA===
The Sega Mega Drive's [[Yamaha]] YM7101 [[VDP]] graphics processor has a powerful [[wikipedia:DMA controller|DMA unit]] that could handle [[wikipedia:Direct memory access|DMA]] (direct memory access) operations at significantly faster speeds than the SNES.{{ref|[http://trixter.oldskool.org/2008/12/05/blast-processing-101/ Blast Processing 101]}} The Mega Drive's DMA unit is part of the VDP, which is located on the same Yamaha IC6 integrated circuit as the sound chips.{{fileref|Sega Service Manual - Genesis II - Mega Drive II (PAL) - 001 - June 1993.pdf}} The combination of the VDP's high-speed DMA unit with the 68000 CPU as well as faster memory is essentially what gives the Mega Drive a significant performance advantage over the SNES. In comparison, the Super Nintendo's DMA unit is part of its [[Ricoh]] 5A22 CPU,{{ref|[http://problemkaputt.de/fullsnes.htm SNES hardware specifications]}} while its PPU graphics chips lack DMA. On the other hand, the PPU chips come with more built-in hardware graphics features, such as more colors on screen, larger [[sprite]]s, and background scaling ([[wikipedia:Mode 7|Mode 7]]), most of which the VDP is also capable of with its fast DMA, but requires developers to manually program these features.
+
The Sega Mega Drive's [[Yamaha]] YM7101 [[VDP]] graphics processor has a powerful [[wikipedia:DMA controller|DMA unit]] that could handle [[wikipedia:Direct memory access|DMA]] (direct memory access) operations at significantly faster speeds than the SNES.{{ref|[http://trixter.oldskool.org/2008/12/05/blast-processing-101/ Blast Processing 101]}} The Mega Drive's DMA unit is part of the VDP, which is located on the same Yamaha IC6 integrated circuit as the sound chips.{{fileref|Sega Service Manual - Genesis II - Mega Drive II (PAL) - 001 - June 1993.pdf}} The combination of the VDP's high-speed DMA unit with the 68000 CPU as well as faster memory is essentially what gives the Mega Drive a significant performance advantage over the SNES. In comparison, the Super Nintendo's DMA unit is part of its [[Ricoh]] 5A22 S-CPU,{{ref|[http://problemkaputt.de/fullsnes.htm SNES hardware specifications]}} while its PPU graphics chips lack DMA. On the other hand, the PPU chips come with more built-in hardware graphics features, such as more colors on screen, larger [[sprite]]s, and background scaling ([[wikipedia:Mode 7|Mode 7]]), most of which the VDP is also capable of with its fast DMA, but requires developers to manually program these features.
  
 
The Mega Drive's DMA unit could write to [[VRAM]] during active display, [[wikipedia:Vertical blanking interval|VBlank]], and [[wikipedia:Horizontal blanking interval|HBlank]],{{fileref|GenesisTechnicalOverview.pdf}} whereas the SNES CPU's DMA unit could only do so during VBlank and HBlank. The Mega Drive has higher memory [[Byte|bandwidth]] and is capable of quicker DMA transfer rates, giving it a faster performance than the SNES,{{ref|[http://www.gamepilgrimage.com/content/sega-genesis-vs-super-nintendo Sega Genesis vs Super Nintendo]}} and helped give the Mega Drive a higher [[fillrate]], higher gameplay resolution, faster parallax scrolling, fast data [[wikipedia:Blitter|blitting]], and high frame-rate with many moving objects on screen, and allowed it to display more unique tiles (background and sprite tiles) and large [[sprite]]s (32×32 and higher) on screen, and quickly transfer more unique tiles and large sprites (16×16 and higher) on screen. The Mega Drive's graphics are also rendered with a [[wikipedia:Packed pixel|packed pixel]] format, which is more flexible and efficient than the Super Nintendo's [[wikipedia:Planar (computer graphics)|planar]] graphics format (except for Mode 7 which also uses packed pixels).
 
The Mega Drive's DMA unit could write to [[VRAM]] during active display, [[wikipedia:Vertical blanking interval|VBlank]], and [[wikipedia:Horizontal blanking interval|HBlank]],{{fileref|GenesisTechnicalOverview.pdf}} whereas the SNES CPU's DMA unit could only do so during VBlank and HBlank. The Mega Drive has higher memory [[Byte|bandwidth]] and is capable of quicker DMA transfer rates, giving it a faster performance than the SNES,{{ref|[http://www.gamepilgrimage.com/content/sega-genesis-vs-super-nintendo Sega Genesis vs Super Nintendo]}} and helped give the Mega Drive a higher [[fillrate]], higher gameplay resolution, faster parallax scrolling, fast data [[wikipedia:Blitter|blitting]], and high frame-rate with many moving objects on screen, and allowed it to display more unique tiles (background and sprite tiles) and large [[sprite]]s (32×32 and higher) on screen, and quickly transfer more unique tiles and large sprites (16×16 and higher) on screen. The Mega Drive's graphics are also rendered with a [[wikipedia:Packed pixel|packed pixel]] format, which is more flexible and efficient than the Super Nintendo's [[wikipedia:Planar (computer graphics)|planar]] graphics format (except for Mode 7 which also uses packed pixels).
Line 246: Line 239:
 
|-
 
|-
 
! Sprite sizes
 
! Sprite sizes
| 16 sprites sizes <br> (8×8, 8×16, 8×24, 8×32, 16×8, 16×16, 16×24, 16×32, <br> 24×8, 24×16, 24×24, 24×32, <br> 32×8, 32×16, 32×24, 32×32)
+
| 16 sprites sizes (16 sizes on screen) <br> (8×8, 8×16, 8×24, 8×32, 16×8, 16×16, 16×24, 16×32, <br> 24×8, 24×16, 24×24, 24×32, <br> 32×8, 32×16, 32×24, 32×32)
 
| 4 sprites sizes (2 sizes on screen) <br> (8x8, 16x16, 32x32, 64x64)
 
| 4 sprites sizes (2 sizes on screen) <br> (8x8, 16x16, 32x32, 64x64)
 
|-
 
|-
Line 293: Line 286:
 
! colspan=2 | [[wikipedia:DMA controller|DMA controller]]
 
! colspan=2 | [[wikipedia:DMA controller|DMA controller]]
 
! [[Sega]] 315‑5313 [[VDP]] ([[Yamaha]] YM7101) DMA unit
 
! [[Sega]] 315‑5313 [[VDP]] ([[Yamaha]] YM7101) DMA unit
! [[wikipedia:Ricoh 5A22|Ricoh 5A22 (CPU) DMA unit]]
+
! [[Ricoh]] [[wikipedia:Ricoh 5A22|5A22 (CPU) DMA unit]]
 
|-
 
|-
 
! rowspan=2 | Clock rate
 
! rowspan=2 | Clock rate
Line 369: Line 362:
 
| 256×224 resolution, 8-bit color{{ref|[https://multimedia.cx/eggs/snes-fmv/ SNES FMV]}}
 
| 256×224 resolution, 8-bit color{{ref|[https://multimedia.cx/eggs/snes-fmv/ SNES FMV]}}
 
|-
 
|-
! rowspan=3 | [[wikipedia:3D rendering|3D polygon <br> rendering]]
+
! colspan=2 | [[wikipedia:3D rendering|3D polygon rendering]]
! Base hardware
 
 
| 1800 polys/s (flat), 1000 polys/s (textured)
 
| 1800 polys/s (flat), 1000 polys/s (textured)
 
| 190 polys/s (flat),{{ref|1=SNES CPU rendering:
 
| 190 polys/s (flat),{{ref|1=SNES CPU rendering:
Line 382: Line 374:
 
*5110 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 630 vertex divide cycles per polygon (9 divides per polygon), 4480 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel){{ref|1=[https://books.google.co.uk/books?id=teMHqC2BnuYC&pg=PA110 ''State of the Art in Computer Graphics: Visualization and Modeling'' (page 110)]}}
 
*5110 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 630 vertex divide cycles per polygon (9 divides per polygon), 4480 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel){{ref|1=[https://books.google.co.uk/books?id=teMHqC2BnuYC&pg=PA110 ''State of the Art in Computer Graphics: Visualization and Modeling'' (page 110)]}}
 
|group=n}}
 
|group=n}}
|-
 
! rowspan=2 | [[Cartridge]] <br> enhancement <br> chips
 
| rowspan=2 | [[Sega Virtua Processor]] (23.01136 MHz) <br> 20,000 polys/s (flat), 3000 polys/s (textured)
 
| [[wikipedia:Super FX|Super FX]] (10.738635 MHz){{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}} <br> 2000 polys/s (flat),{{ref|1=Super FX rendering:
 
*Framebuffer rendering: 256×192 framebuffer (double-buffered, 48 KB), 15 FPS (737.28 KB/s), 983.562 kHz CPU framebuffer DMA (1.334 kHz per KB, 30 cycles setup), 2.950686 MHz Super FX cycles
 
*Polygon rendering: 7.787949 MHz (15 FPS) Super FX cycles available, 3.632 kHz per 8×8 pixel polygon
 
:*Geometry per polygon: 923 Super FX cycles
 
:*Polygon rendering per polygon: 1083 Super FX cycles (361 CPU cycles)
 
:*Pixel rendering per 8×8 pixel polygon: 1626 Super FX cycles (542 CPU cycles)
 
|group=n}} 1000 polys/s (textured){{ref|1=Super FX texture mapping: 6.916 kHz per 8×8 texel polygon (3.284 kHz texture mapping per 8×8 texel polygon)
 
*948 Super FX cycles (316 CPU cycles) DMA per 8×8 texel texture
 
*2336 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 288 vertex divide cycles per polygon (9 divides per polygon), 2048 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel)
 
|group=n}}
 
|-
 
| Super FX 2 (21.47727 MHz){{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}} <br> 4000 polys/s (flat), 2000 polys/s (textured)
 
 
|}
 
|}
  
Line 402: Line 379:
 
The Mega Drive's audio hardware includes a sound CPU, the [[Zilog]] [[Z80]], along with two sound chips, the [[Yamaha YM2612]] and the [[SN76489|Sega PSG]], both located on the same [[Sega]]-[[Yamaha]] IC6 integrated circuit as the Yamaha [[VDP]] graphics processor, with the PSG located within the VDP itself. The Super Nintendo's audio processing unit, the [[Sony]] S-SMP, includes an audio CPU, the Sony SPC700, and a DSP sound chip, the S-DSP.
 
The Mega Drive's audio hardware includes a sound CPU, the [[Zilog]] [[Z80]], along with two sound chips, the [[Yamaha YM2612]] and the [[SN76489|Sega PSG]], both located on the same [[Sega]]-[[Yamaha]] IC6 integrated circuit as the Yamaha [[VDP]] graphics processor, with the PSG located within the VDP itself. The Super Nintendo's audio processing unit, the [[Sony]] S-SMP, includes an audio CPU, the Sony SPC700, and a DSP sound chip, the S-DSP.
  
The Mega Drive's Z80 audio CPU has over three times the clock rate of the Super Nintendo's SPC700 audio CPU. However, the SPC700 requires less cycles per instruction, so the Z80 is only slightly faster for most operations. What gives the Z80 a significant performance advantage, however, is that it has direct memory access to the 68000 address space (in addition to its own internal 8 KB sound RAM), allowing it to stream data directly from the [[ROM]] [[cartridge]], whereas the SPC700 only has direct access its limited 64 KB internal sound [[RAM]] (where the main 5A22 CPU needs to transfer the audio data). This allows the Mega Drive to stream audio data from the ROM cartridge at a higher speed than the SNES, as well as giving the Z80 more flexibility to be used for non-audio purposes (such as [[Sega Master System]] emulation, for example).
+
The Mega Drive's Z80 audio CPU has over three times the clock rate of the Super Nintendo's SPC700 audio CPU. However, the SPC700 requires less cycles per instruction, so the Z80 is only slightly faster for most operations. What gives the Z80 a significant performance advantage, however, is that it has direct memory access to the 68000 address space (in addition to its own internal 8 KB sound RAM), allowing it to stream data directly from the [[ROM]] [[cartridge]], whereas the SPC700 only has direct access its limited 64 KB internal sound [[RAM]] (where the main 5A22 S-CPU needs to transfer the audio data). This allows the Mega Drive to stream audio data from the ROM cartridge at a higher speed than the SNES, as well as giving the Z80 more flexibility to be used for non-audio purposes (such as [[Sega Master System]] emulation, for example).
  
 
The Mega Drive's YM2612 sound chip has a sound output of 53 kHz, higher than the Super Nintendo's S-DSP which has a 32 kHz output, giving the YM2612 a wider frequency range. The S-DSP also uses Gaussian filtering, which eliminates noise by cutting-off the lowest and highest frequencies, at the expense of further limiting the frequency range, creating a muffled sound. The Mega Drive's greater frequency range, on the other hand, provides sharper audio clarity, but with more noise heard at at the highest frequencies, while a lowpass filter reduces noise at the lowest frequencies on both systems (with the Super Nintendo's Gaussian filter further reducing noise at the expense of muffling).
 
The Mega Drive's YM2612 sound chip has a sound output of 53 kHz, higher than the Super Nintendo's S-DSP which has a 32 kHz output, giving the YM2612 a wider frequency range. The S-DSP also uses Gaussian filtering, which eliminates noise by cutting-off the lowest and highest frequencies, at the expense of further limiting the frequency range, creating a muffled sound. The Mega Drive's greater frequency range, on the other hand, provides sharper audio clarity, but with more noise heard at at the highest frequencies, while a lowpass filter reduces noise at the lowest frequencies on both systems (with the Super Nintendo's Gaussian filter further reducing noise at the expense of muffling).
  
The Mega Drive's sound chips have more sound channels than the Super Nintendo's S-DSP. The S-DSP only supports [[PCM]] sampling, whereas the Mega Drive's YM2612 supports both [[wikia:w:c:electronicmusic:Frequency modulation|FM synthesis]] and PCM sampling while the PSG provides additional synthesized channels. In terms of PCM sampling capabilities, the S-SMP supports 8 PCM channels, higher than the YM2612 which supports up to 4 PCM channels with software mixing. The S-SMP's PCM sampling is limited to 16-bit 32 kHz quality, slightly higher than the YM2612's PCM sampling which is limited to 8-bit 32 kHz quality. Due to the Z80 having direct access to the ROM cartridge, the YM2612 can stream PCM audio directly from the ROM cartridge, whereas the S-SMP can only access samples from its limited 64 KB sound RAM, relying on the main 5A22 CPU to transfer samples from the ROM cartridge. This allows the YM2612 to stream high-quality PCM audio at a high [[wikipedia:Bitrate|bitrate]] without straining the main 68000 CPU (saving most of its bandwidth for graphics or game logic), whereas streaming high-quality PCM audio on the SNES strains the main 5A22 CPU (significantly reducing its bandwidth for graphics or game logic).
+
The Mega Drive's sound chips have more sound channels than the Super Nintendo's S-DSP. The S-DSP only supports [[PCM]] sampling, whereas the Mega Drive's YM2612 supports both [[wikia:w:c:electronicmusic:Frequency modulation|FM synthesis]] and PCM sampling while the PSG provides additional synthesized channels. In terms of PCM sampling capabilities, the S-SMP supports 8 PCM channels, higher than the YM2612 which supports up to 4 PCM channels with software mixing. The S-SMP's PCM sampling is limited to 16-bit 32 kHz quality, slightly higher than the YM2612's PCM sampling which is limited to 8-bit 32 kHz quality. Due to the Z80 having direct access to the ROM cartridge, the YM2612 can stream PCM audio directly from the ROM cartridge, whereas the S-SMP can only access samples from its limited 64 KB sound RAM, relying on the main S-CPU to transfer samples from the ROM cartridge. This allows the YM2612 to stream high-quality PCM audio at a high [[wikipedia:Bitrate|bitrate]] without straining the main 68000 CPU (saving most of its bandwidth for graphics or game logic), whereas streaming high-quality PCM audio on the SNES strains the main S-CPU (significantly reducing its bandwidth for graphics or game logic).
  
 
{| class="wikitable" style="width: 950px;"
 
{| class="wikitable" style="width: 950px;"
Line 478: Line 455:
 
! Cartridge ROM <br> access bandwidth
 
! Cartridge ROM <br> access bandwidth
 
| 1.191969 MB/s (NTSC), 1.181096 MB/s (PAL)
 
| 1.191969 MB/s (NTSC), 1.181096 MB/s (PAL)
| 128 [[Byte|KB/s]] (5A22 CPU){{ref|1=[http://forums.nesdev.com/viewtopic.php?t=6121 16-bit stereo 32 kHz streaming success]}}
+
| 128 [[Byte|KB/s]] (S-CPU){{ref|1=[http://forums.nesdev.com/viewtopic.php?t=6121 16-bit stereo 32 kHz streaming success]}}
 
|-
 
|-
 
! colspan=2 | Sound chip(s)
 
! colspan=2 | Sound chip(s)
Line 527: Line 504:
 
| 1024 [[Byte|Kbps]] (128 KB/s, 11% bandwidth)
 
| 1024 [[Byte|Kbps]] (128 KB/s, 11% bandwidth)
 
| 1024 Kbps (128 KB/s, 99% bandwidth){{ref|1=[http://forums.nesdev.com/viewtopic.php?t=6121 16-bit stereo 32 kHz streaming success]}}
 
| 1024 Kbps (128 KB/s, 99% bandwidth){{ref|1=[http://forums.nesdev.com/viewtopic.php?t=6121 16-bit stereo 32 kHz streaming success]}}
 +
|}
 +
 +
===Enhancement chips===
 +
{| class="wikitable" style="width: 950px;"
 +
|-
 +
! colspan=2 | Console
 +
! [[Sega Mega Drive]]{{intref|Sega Mega Drive/Technical specifications}}
 +
! colspan=3 | [[Super Nintendo Entertainment System]]
 +
|-
 +
! colspan=2 | [[Cartridge]] enhancement chip
 +
! [[Sega Virtua Processor]]{{intref|Sega Virtua Processor}}
 +
! [[wikipedia:DSP (Nintendo)|DSP-1]]{{ref|[http://problemkaputt.de/fullsnes.htm SNES hardware specifications]}}{{ref|[https://archive.org/stream/SNESDevManual/book2#page/n285/mode/2up SNES Development Manual: DSP1 Command Summary]}}
 +
! [[wikipedia:Super FX|Super FX]]{{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}}{{ref|1=[https://snescentral.com/pcbboards.php?chip=SHVC-1RA2B6S-01 SHVC-1RA2B6S-01 (PCB)]}}
 +
! Super FX 2{{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}}{{ref|1=[https://snescentral.com/pcbboards.php?chip=SHVC-1RA2B6S-01 SHVC-1RA2B6S-01 (PCB)]}}
 +
|-
 +
! colspan=2 | Co-processor
 +
| [[Sega]] 315-5750 <br> ([[Samsung]] SSP1601)
 +
| [[NEC]] [[wikipedia:NEC µPD77C25|µPD77C25]]
 +
| [[Nintendo]] GSU-1
 +
| Nintendo GSU-2
 +
|-
 +
! colspan=2 | Clock rate
 +
| 23.01136 MHz
 +
| 7.647059 MHz{{ref|3.4 microseconds per 26 cycles,{{ref|[https://archive.org/stream/SNESDevManual/book2#page/n285/mode/2up SNES Development Manual: DSP1 Command Summary]}} 2.136322× CPU clock rate|group=n}}
 +
| 10.738635 MHz
 +
| 21.47727 MHz
 +
|-
 +
! rowspan=2 | Cartridge [[RAM]]
 +
! Memory
 +
| 128 KB ([[wikipedia:FPM DRAM|FPM&nbsp;DRAM]])
 +
| 2-32 KB ([[SRAM]]){{ref|1=[https://snescentral.com/pcbboards.php?chip=SHVC-2QW5B-X1 SHVC-2QW5B-X1 (PCB)]}}
 +
| 40-72 KB (SRAM)
 +
| 40-72 KB (SRAM)
 +
|-
 +
! Bandwidth
 +
| 34.679066 MB/s <br> (16-bit, 18.181818 MHz)
 +
| 6.666666 MB/s <br> (8-bit, 6.666666 MHz){{ref|1=[https://snescentral.com/pcbboards.php?chip=SHVC-2QW5B-X1 SHVC-2QW5B-X1 (PCB)]}}
 +
| 10.738635 MB/s <br> (8-bit, 10.738635 MHz){{ref|[https://www.datasheets360.com/part/detail/km68512lg-7/7521320337035499905/ KM68512LG-7 Datasheet]}}
 +
| 14.285714 MB/s <br> (8-bit, 14.285714 MHz){{ref|[https://www.datasheets360.com/part/detail/km68512lg-7/7521320337035499905/ KM68512LG-7 Datasheet]}}
 +
|-
 +
! rowspan=3 | [[wikipedia:Fixed-point arithmetic|Fixed-point <br> arithmetic]]
 +
! Additions
 +
| 23,011,360 adds/sec
 +
| 596,000 adds/sec
 +
| 10,738,635 adds/sec{{ref|1 cycle per add{{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}}|group=n}}
 +
| 21,477,270 adds/sec
 +
|-
 +
! Multiplications
 +
| 23,011,360 multiplies/sec
 +
| 294,117 multiplies/sec
 +
| 2,147,727 multiplies/sec{{ref|5 cycles per 16×16 multiply{{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}}|group=n}}
 +
| 4,295,454 multiplies/sec
 +
|-
 +
! Divisions
 +
| 719,105 divides/sec
 +
| 77,519 divides/sec
 +
| 335,582 divides/sec{{ref|32 cycles per 16-bit divide{{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}}|group=n}}
 +
| 671,164 divides/sec
 +
|-
 +
! rowspan=2 | [[wikia:w:c:gaming:2.5D|Scaling and <br> rotation]]
 +
! Background
 +
| Hardware rendering
 +
| Mode 7
 +
| Mode 7
 +
| Mode 7
 +
|-
 +
! [[Sprite]]s
 +
| Hardware rendering
 +
| N/A
 +
| Hardware rendering
 +
| Hardware rendering
 +
|-
 +
! rowspan=3 | [[wikipedia:Polygonal modeling|3D polygon]] <br> graphics
 +
! [[wikipedia:Geometry pipelines|Geometry <br> calculations]]
 +
| 50,000 polys/s
 +
| 1,900 polys/s{{ref|DSP-1 geometry calculations: 3,939 cycles per polygon (80 adds, 111 multiplies, 9 divides),{{ref|1=[https://books.google.co.uk/books?id=iAvHt5RCHbMC&pg=PA95 ''Design of Digital Systems and Devices'' (pages 95-97)]}} 2.136322 cycles (1 CPU cycle) per add, 26 cycles per 16-bit multiply, 98 cycles per divide{{ref|[https://archive.org/stream/SNESDevManual/book2#page/n285/mode/2up SNES Development Manual: DSP1 Command Summary]}}|group=n}}
 +
| 10,000 polys/s{{ref|1=Super FX geometry calculations: 923 cycles per polygon (80 adds, 111 multiplies, 9 divides),{{ref|1=[https://books.google.co.uk/books?id=iAvHt5RCHbMC&pg=PA95 ''Design of Digital Systems and Devices'' (pages 95-97)]}} 1 cycle per add, 5 cycles per 16×16 multiply, 32 cycles per 16-bit divide{{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial Super NES Programming: Super FX tutorial]}}|group=n}}
 +
| 20,000 polys/s
 +
|-
 +
! Flat-shaded <br> [[wikipedia:3D rendering|rendering]]
 +
| 20,000 polys/s
 +
| 940 polys/s{{ref|1=DSP-1 assisted rendering:
 +
*CPU framebuffer rendering: 256×192 framebuffer (double-buffered, 48 KB), 15 FPS (737.28 KB/s), 983.562 kHz CPU framebuffer DMA (1.334 kHz per KB, 30 cycles setup), 2.101205 MHz DSP-1 cycles
 +
*Polygon rendering: 5.545854 MHz (15 FPS) DSP-1 cycles available, 5.869 kHz per 8×8 pixel polygon
 +
:*Geometry per polygon: 3,939 DSP-1 cycles
 +
:*Polygon rendering per polygon: 772 DSP-1 cycles (361 CPU cycles)
 +
:*Pixel rendering per 8×8 pixel polygon: 1,158 DSP-1 cycles (542 CPU cycles)
 +
|group=n}}
 +
| 2000 polys/s{{ref|1=Super FX rendering:
 +
*Framebuffer rendering: 256×192 framebuffer (double-buffered, 48 KB), 15 FPS (737.28 KB/s), 983.562 kHz CPU framebuffer DMA (1.334 kHz per KB, 30 cycles setup), 2.950686 MHz Super FX cycles
 +
*Polygon rendering: 7.787949 MHz (15 FPS) Super FX cycles available, 3.632 kHz per 8×8 pixel polygon
 +
:*Geometry per polygon: 923 Super FX cycles
 +
:*Polygon rendering per polygon: 1083 Super FX cycles (361 CPU cycles)
 +
:*Pixel rendering per 8×8 pixel polygon: 1626 Super FX cycles (542 CPU cycles)
 +
|group=n}}
 +
| 4000 polys/s
 +
|-
 +
! Texture <br> mapping
 +
| 3000 polys/s
 +
| 660 polys/s{{ref|1=DSP-1 assisted texture mapping: 11.462 kHz per 8×8 texel polygon (7.83 kHz texture mapping per 8×8 texel polygon)
 +
*676 DSP-1 cycles (316 CPU cycles) CPU DMA per 8×8 texel texture
 +
*7154 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 882 vertex divide cycles per polygon (9 divides per polygon), 6272 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel)
 +
|group=n}}
 +
| 1000 polys/s{{ref|1=Super FX texture mapping: 6.916 kHz per 8×8 texel polygon (3.284 kHz texture mapping per 8×8 texel polygon)
 +
*948 Super FX cycles (316 CPU cycles) DMA per 8×8 texel texture
 +
*2336 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 288 vertex divide cycles per polygon (9 divides per polygon), 2048 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel)
 +
|group=n}}
 +
| 2000 polys/s
 
|}
 
|}
  

Revision as of 04:28, 7 November 2018

Blast processing was a marketing term coined by Sega of America to promote the Sega Mega Drive (Sega Genesis in that region) video game console over its nearest rival, the Super Nintendo Entertainment System (SNES). The purpose of the term was to highlight the Genesis as the faster of the two machines. The term "blast processing" was originally coined in reference to the Yamaha VDP graphics processor's DMA unit "blasting" data at high speeds. While the campaign was short-lived, it was very successful in making the Genesis a more desirable product in 1992 and 1993, and remains a talking point among fans to this day.

History

Advertising

Error creating thumbnail:


The Sega Genesis has blast processing. Super Nintendo, doesn't.

— US television advert[1]



While the term would be used several times across Sega's marketing output, "blast processing" is usually remembered in North America for appearing in a 30-second commercial by Sega's choice of marketing agency, Goodby Silverstein & Partners. A Genesis (linked up to a TV) is strapped to a high-speed drag racer, while a Super NES is strapped to an old van. A drag race occurs, with the Genesis speeding off, displaying footage from Sonic the Hedgehog 2, Ecco the Dolphin and Streets of Rage 2. The Super NES, however, stutters while Super Mario Kart plays. Inevtiably the Genesis "wins".

The advert wasn't designed to cause people to think about what was being said, just that Sega and the Genesis were "better" than Nintendo and the Super NES. These sorts of "attack ads" were commonplace in the US at the time - other countries with stricter advertising regulations would not be able to air it, not least because it is a difficult to prove the truthfulness of what was being said. The term was not officially used outside of North America, likely for this reason.

In addition to provoking hardware comparisons, the advert also has a subtle dig at Super Mario Kart - Nintendo's flagship racing game which relies on the Super NES' hardware graphics mode, "Mode 7". Mode 7 allows the Super NES to scale and rotate background planes - something only achievable on the Mega Drive through software. The Mario Kart cartridge also had a built-in DSP-1 enhancement chip, a math co-processor that further improved the system's Mode 7 capabilities. It was not thought at the time that a game like Mario Kart could run on the Mega Drive with the same performance profile, yet Sega of America (perhaps ambitiously) chose to portray it as the "slower" game. The Mega Drive did have several games at the time demonstrating background scaling and rotation (e.g. Super Scaler arcade based titles such as Super Thunder Blade, After Burner II and Super Monaco GP) as well as true 3D polygon graphics (e.g. Star Cruiser and Hard Drivin'), but Sega of America did not include them in its "blast processing" ad. Instead, the ad highlighted 2D Genesis games with fast movement and scrolling, drawing a visual link between in-game movement speed and processing speed, despite the former not always being an indication of the latter (e.g. a game with slower on-screen movement could be more processor-intensive).

Origins

In the 2000s, former Sega staff revealed that "blast processing" originally referred to the Yamaha YM7101 VDP graphics processor's DMA unit, which was capable of high-speed DMA, bandwidth and fillrate. It was a reference to how the DMA unit could quickly "blast" data into the VDP graphics processor and the DAC through high-speed DMA (direct memory access). However, due to a lack of explanation (or understanding) from Sega's marketing department, much of the gaming media in the 1990s had assumed it was referring to the 68000 CPU's higher clock rate. This misconception was widespread up until the 2000s, when former Sega staff eventually revealed that "Blast Processing" was originally a reference to the VDP's DMA unit:



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[2]


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:



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[3]


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



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[4]



As with many marketing buzzwords from the era, "blast processing" was a questionable term in the 1990s, up until these interviews in the 2000s eventually revealed that the term was originally referring to the DMA unit. It is also worth noting that, while the Mega Drive is able to process data more quickly than the Super NES, the quality of the software lies in the hands of individual developers. Only a handful of developers pushed the Mega Drive hardware to its limits, whereas most other developers only utilised a fraction of the hardware's potential.

Response

While the "blast processing" term went largely unchallenged for over a year, Nintendo eventually responded to it in a series of magazine campaigns in 1994. Most notably, they published an advertisement entitled "SMASHING The Myth About Speed and Power" in popular US video game magazines such as Electronic Gaming Monthly, GamePro and Game Players which aimed to counter Sega's narrative.[5]

The advertisement was presented as a two-page, pseudo-editorial piece. While it had the word "advertisement" in very small writing, it was not made clear to readers that it was written by Nintendo, misleading many to believe it was a legitimate editorial piece written by the actual magazines. Nintendo's pseudo-editorial piece claimed that "Blast Processing" is a "Myth" and made a number of other claims intended to make the SNES look technically superior to the Genesis in every way other than the CPU clock rate. While some of the claims were accurate, there were a number of claims made in Nintedo's pseudo-editorial advertisement which were either inaccurate, uninformed or misleading:

  • It claimed that the Genesis did not have any hardware/technology that gave a "Blast" boost. However, the term "Blast Processing" was originally coined to refer to its VDP's DMA unit "blasting" data at higher speeds than the SNES. But it's unlikely that Nintendo could've known this at the time, due to a lack of explanation from Sega's own marketing department in the 1990s.
  • It claimed that the SNES was just as fast as the Genesis. To support this claim, it noted that, while the Super Nintendo's Ricoh 5A22 S-CPU has a slower clock rate, it has faster memory transfer per cycle, claiming that this gives it faster data transfer speed. However, the Mega Drive's 68000 CPU has a wider 16-bit external data bus, twice as wide as the S-CPU's 8-bit external data bus, which means the 68000 transfers 16-bit data per cycle, whereas the S-CPU transfers 8-bit data per cycle, giving the 68000 a faster data transfer speed.
  • It claimed the SNES's larger RAM gives it superiority in terms of speeding-up programs. However, RAM speed is largely determined by bandwidth. The Genesis has faster RAM bandwidth, making it faster for program access. Furthermore, it can read program data from the ROM cartridge at a higher speed than the SNES.
  • It claimed that the Genesis only had a 256-color palette. However, the Genesis has a 512-color palette, which can be increased to 1536 colors in shadow/highlight mode. With DMA, it can be further increased up to 4096 colors for static images. Nevertheless, the SNES did have a larger palette of up to 32,768 colors.
  • It claimed that the SNES is capable of scaling Sonic. However, Mode 7 only scales backgrounds, not sprites. The SNES usually required enhancement chips such as the SuperFX to achieve true sprite-scaling.
  • It suggested that the Genesis is not capable of scaling or rotation. However, the Genesis is capable of scaling and rotation through software programming, by relying on its CPU's fast arithmetic and the VDP's fast DMA unit.
  • It suggested that only the SNES has specialised DMA hardware capable of high-speed DMA. However, the Genesis has a DMA unit with faster DMA transfer speeds than the SNES.
  • Its statement that the SNES has a higher sprite display limit is true, but misleading, as it can only reach its display limit when using small sprites. The Genesis displays more sprite tiles and has a higher sprite fillrate, which allows the Genesis to display a higher number of large sprites, as well as a greater variety of sprites.
  • Its claim that the SNES produces sharper sound than the Genesis is not true, as the Mega Drive's Yamaha YM2612 sound chip produces a higher 53 kHz output than the Super Nintendo's Sony chip which produces a 32 kHz output, and the latter's Gaussian filtering limits its frequency range, resulting in a more muffled sound on the SNES and sharper audio clarity on the Genesis.
  • Its implication that only the SNES has true digital sound is not true, as the Mega Drive's YM2612 chip is also capable of true digital sound. It can play PCM samples at up to 8-bit 32 kHz, slightly below the Super Nintendo's 16-bit 32 kHz limit. The Genesis can also stream PCM audio from the ROM cartridge at a comparable bitrate while using less of its bandwidth (due to the Genesis having greater bandwidth).

Many of these misleading claims and inaccuracies eventually became widely accepted and went largely unchallenged up until the 2000s. Nintendo's pseudo-editorial advertisement helped create the misleading perception that Sega's marketing department were dishonest and that there was no basis for the "blast processing" label, eventually leading to backlash against the "blast processing" label and a general distrust of Sega's marketing department.

Hardware comparison

For more technical details on Mega Drive, see Mega Drive: Technical specifications and Mega Drive: Blast processing

Main CPU

The Mega Drive's main CPU (central processing unit) is clocked over two times faster than the one in its rival product, the SNES. Sega's Motorola 68000 processor is clocked at 7.67 MHz, compared to the 3.58 MHz clock speed of Nintendo's Ricoh 5A22 S-CPU. However, the idea of simply comparing CPU clock rates to determine performance, regardless of other characteristics, is commonly known as the megahertz myth. While the S-CPU did run slower in clock cycles per second, it required less clock cycles for most instructions, giving it an overall comparable MIPS (million instructions per second) performance to the 68000. In other words, the 68000's higher clock rate is not the reason the 68000 performs faster than the S-CPU.

The 68000's faster performance came from other advantages, such as a wider 32-bit internal data bus (double the S-CPU's 16-bit internal data bus), wider 16-bit external data bus (double the S-CPU's 8-bit external data bus), faster memory bandwidth, more registers, a hybrid 16/32-bit instruction set,[6] and faster arithmetic calculations (with more precision). It also had a shared codebase with arcade games, where the 68000 saw widespread use, allowing more efficient arcade conversions. Overall, the 68000 is only slightly faster than the S-CPU for most operations, but is significantly faster for some operations, such as multiplication (which in turn allows significantly faster calculation of 3D geometry, for example). On the other hand, the S-CPU has a DMA unit, which the 68000 lacks, though that is because the Mega Drive's DMA unit is located in its VDP graphics processor instead. In other words, the 68000 alone does not give the Mega Drive a significant performance advantage, but it's the combination of the 68000 with the VDP's DMA unit (along with faster memory) that gives the system a significant performance advantage over the SNES.

Console Sega Mega Drive[7] Super Nintendo[8][9][10][11]
Main CPU Motorola 68000 Ricoh 5A22 S-CPU
Clock rate NTSC 7.670454 MHz 2.684658–3.579545 MHz
PAL 7.600489 MHz 2.660171–3.546895 MHz
Bits Data bus width 32-bit internal, 16-bit external 16-bit internal, 8-bit external
Arithmetic logic
units
16-bit data ALU,
32-bit address ALU (2x 16-bit ALU)
16-bit ALU
Word length 16-bit 16-bit
Internal
instructions
Registers 16x 32-bit registers 4x 16-bit registers, 4x 8-bit registers
Instruction set 16-bit, 32-bit 8-bit, 16-bit
Instructions per
second
1.342329 MIPS (NTSC),
1.330085 MIPS (PAL)
1.125–1.5 MIPS (NTSC),
1.114738–1.486318 MIPS (PAL)
Work RAM Memory 64 KB PSRAM
(16-bit, 5.263157 MHz)
128 KB DRAM
(8-bit, 2.660171–2.684658 MHz)
Bandwidth 10.526314 MB/s 2.684658 MB/s (NTSC), 2.660171 MB/s (PAL)
CPU access (NTSC) 3.835226 MB/s,[n 1] 62 KB per frame 2.684658 MB/s,[n 2] 43 KB per frame
CPU access (PAL) 3.800244 MB/s,[n 3] 73 KB per frame 2.660171 MB/s,[n 4] 51 KB per frame
Cartridge
ROM
Memory 128 KB to 8 MB 128 KB to 6 MB
Bandwidth 10–15.340906 MB/s 2.5–3.579545 MB/s
CPU access 3.835226 MB/s (NTSC),
3.800244 MB/s (PAL)
2.684658–3.579545 MB/s (NTSC),
2.660171–3.546895 MB/s (PAL)[n 5]
Fixed-point
arithmetic
Additions 639,000 adds/sec[n 6] 596,000 adds/sec[n 7]
Multiplications 109,000 multiplies/sec (16×16)[n 8] 65,000 multiplies/sec (16×8),[n 9]
32,000 multiplies/sec (16×16),[n 10]
94,000 multiplies/sec (Mode 7)[n 11]
Divisions 54,000 divides/sec (16-bit)[n 12] 51,000 divides/sec (16-bit)[n 13]
3D polygon geometry calculations 3300 polys/s 260 polys/s[n 14]

GPU and DMA

The Sega Mega Drive's Yamaha YM7101 VDP graphics processor has a powerful DMA unit that could handle DMA (direct memory access) operations at significantly faster speeds than the SNES.[6] The Mega Drive's DMA unit is part of the VDP, which is located on the same Yamaha IC6 integrated circuit as the sound chips.[18] The combination of the VDP's high-speed DMA unit with the 68000 CPU as well as faster memory is essentially what gives the Mega Drive a significant performance advantage over the SNES. In comparison, the Super Nintendo's DMA unit is part of its Ricoh 5A22 S-CPU,[9] while its PPU graphics chips lack DMA. On the other hand, the PPU chips come with more built-in hardware graphics features, such as more colors on screen, larger sprites, and background scaling (Mode 7), most of which the VDP is also capable of with its fast DMA, but requires developers to manually program these features.

The Mega Drive's DMA unit could write to VRAM during active display, VBlank, and HBlank,[19] whereas the SNES CPU's DMA unit could only do so during VBlank and HBlank. The Mega Drive has higher memory bandwidth and is capable of quicker DMA transfer rates, giving it a faster performance than the SNES,[10] and helped give the Mega Drive a higher fillrate, higher gameplay resolution, faster parallax scrolling, fast data blitting, and high frame-rate with many moving objects on screen, and allowed it to display more unique tiles (background and sprite tiles) and large sprites (32×32 and higher) on screen, and quickly transfer more unique tiles and large sprites (16×16 and higher) on screen. The Mega Drive's graphics are also rendered with a packed pixel format, which is more flexible and efficient than the Super Nintendo's planar graphics format (except for Mode 7 which also uses packed pixels).

The Mega Drive's DMA capabilities, higher bandwidth, and packed pixel format, give it more flexibility, allowing the hardware to be programmed in various different ways. Combining the CPU's fast arithmetic with the VDP's fast DMA, it could replicate some of the SNES PPU hardware features with software programming, such as larger 64×64 sprites (combining 32×32 sprites), the scaling and rotation of background planes (like the Sega X Board and Mode 7), and direct color (increasing colors on screen). Other programmable capabilities include mid-frame palette swaps (increasing colors per scanline), bitmap framebuffers, sprite scaling and rotation, and ray casting. The Mega Drive could also playback full motion video (FMV) at a higher quality than the SNES. The base Mega Drive hardware (without needing any cartridge enhancement chips) could also render 3D polygon graphics with a performance almost approaching the SNES's optional Super FX (SFX) cartridge enhancement chip,[20][21][22][23] which itself was significantly outperformed by the Mega Drive's optional Sega Virtua Processor (SVP) cartridge enhancement chip.

One aspect of the SNES hardware that the Mega Drive cannot replicate with DMA is its color palette. While DMA programming techniques such as those mentioned above could allow the Mega Drive to match the 256 on-screen color display of the SNES, the Mega Drive cannot come close to the overall 32,768 selectable color palette of the SNES. But when in direct color mode (required for certain types of three-dimensional graphics, such as ray casting and 3D polygons), the SNES and Mega Drive were both on-par in terms of colors, as the SNES cannot use its 32,768 color palette in direct color mode.

Console Sega Mega Drive[7] Super Nintendo[8][9][10][11][24]
System
master
clock rate
NTSC 53.693175 MHz 21.47727 MHz
PAL 53.203424 MHz 21.28137 MHz
Graphics processing unit (GPU) Sega 315‑5313 VDP (Yamaha YM7101) Ricoh S-PPU (PPU1 & PPU2)
Clock rate NTSC 13.423294 MHz 5.579545 MHz (PPU1), 3.579545 MHz (PPU2)
PAL 13.300856 MHz 5.320343 MHz (PPU1), 3.546895 MHz (PPU2)
Internal
GPU cache
Cache 232 bytes
(72 bytes CRAM, 80 bytes VSRAM, 80 bytes sprite buffer)
1056 bytes
(544 bytes PPU1 OAM, 512 bytes PPU2 CGRAM)
Bandwidth 26.846588 MB/s (NTSC), 26.601712 MB/s (PAL) PPU1 OAM:
11.15909 MB/s (NTSC), 10.640685 MB/s (PAL)
PPU2 CGRAM:
7.15909 MB/s (NTSC), 7.09379 MB/s (PAL)
Video RAM
(VRAM)
Memory 64 KB VRAM (Dual-Port)
(64 KB FPM DRAM, 256 bytes SAM buffer)
64 KB SRAM (PPU1 VRAM)
Bandwidth 13.423294 MB/s (NTSC), 13.300856 MB/s (PAL) 11.15909 MB/s (NTSC), 10.640685 MB/s (PAL)
Pixels Pixel format Packed pixel Planar (Modes 1-6), packed pixel (Mode 7)
Read fillrate 6.650428–6.934358 MPixels/s
(103,912–108,349 tiles/sec)
5.320342–5.369317 MPixels/s
(83,130–83,896 tiles/sec)
Tiles on screen 1808 tiles 1395 tiles (NTSC), 1536 tiles (PAL)
Resolution Overscan 427×262 (NTSC), 423×312 (PAL) 341×262 (NTSC), 341×312 (PAL)
Display
resolution
Gameplay: 256×224 to 320×480 (default 320×224) Gameplay: 256×224 to 256×239 (default 256×224)
Pseudo-hires text: 512×448, 512×478 (half-pixels)
Sprite
capabilities
Sprite fillrate 4.90887 MTexels/s (76,701 sprites/sec),
320 texels per scanline
4.282881 MTexels/s (66,920 sprites/sec),
272 texels per scanline
Sprite tiles
on screen
1280 sprite tiles (8×8) 512 sprite tiles (8×8)
Sprite sizes 16 sprites sizes (16 sizes on screen)
(8×8, 8×16, 8×24, 8×32, 16×8, 16×16, 16×24, 16×32,
24×8, 24×16, 24×24, 24×32,
32×8, 32×16, 32×24, 32×32)
4 sprites sizes (2 sizes on screen)
(8x8, 16x16, 32x32, 64x64)
Sprites per
scanline
20 sprites (8×8 to 16×16), 13 sprites (24×24),
10 sprites (32×32), 5 sprites (64×64)
32 sprites (8×8), 17 sprites (16×16),
8 sprites (32×32), 4 sprites (64×64)
Sprites on
screen
80 sprites (8×8 to 32×32), 20 sprites (64×64),
5 sprites (128×128)
128 sprites (8×8, 16×16), 69 sprites (32×32),
17 sprites (64×64), 4 sprites (128×128)
Unique sprites
on screen
80 sprites (8×8 to 32×32), 20 sprites (64×64),
5 sprites (128×128)
128 sprites (8×8, 16×16), 32 sprites (32×32),
8 sprites (64×64), 2 sprites (128×128)
Background
planes
Background tiles
on screen
1344–1808 background tiles 256–1024 background tiles
Tilemap planes 2 scrolling planes (1344–1808 tiles),
1 static window plane,
20–32 overlapping scrolling layers per scrolling plane
1–4 planes (256–1024 tiles)
Tilemap
resolution
256×256 to 512×512 (2 planes, 1344–1808 tiles),
1024×256 (2 planes, 1344–1424 tiles)
256×256 to 512×512 (1–4 planes, 256–1024 tiles),
1024×1024 (1 plane, 256 tiles)
Scrolling
capabilities
Parallax scrolling, line scrolling, tile scrolling,
row/column scrolling, overlapping scrolling layers
Parallax scrolling, line scrolling, tile scrolling
Colors
(without DMA)
Color palette 512 colors (default),
1536 colors (Shadow/Highlight)
32,768 colors
Colors on screen 61–64 (default), 183–192 (Shadow/Highlight) 128–256 (1–2 planes), 128–160 (3 planes),
128 (4 planes)
Colors per tile 16 colors (2 planes) 16 colors (1–2 planes), 8 colors (3 planes),
4 colors (4 planes)
DMA controller Sega 315‑5313 VDP (Yamaha YM7101) DMA unit Ricoh 5A22 (CPU) DMA unit
Clock rate NTSC 13.423294 MHz 2.684658–3.579545 MHz
PAL 13.300856 MHz 2.660171–3.546895 MHz
DMA blitting
bandwidth
VBlank
(inactive display)
VRAM: 3.21845 MB/s, 205 bytes per scanline
VDP cache: 6.4369 MB/s, 410 bytes per scanline
NTSC: 2.684658 MB/s, 170.5 bytes per scanline
PAL: 2.660171 MB/s, 170.5 bytes per scanline
During active display
(VRAM)
320×224: 708.406 KB/s (NTSC), 1.09701 MB/s (PAL)
320×160: 1.437846 MB/s (NTSC), 1.702026 MB/s (PAL)
256×224: 443.228 KB/s (NTSC), 795.11 KB/s (PAL)
256×192: 763.435 KB/s (NTSC), 1.061548 MB/s (PAL)
During active display
(cache)
320×224: 1.416813 MB/s (NTSC), 2.194021 MB/s (PAL)
320×160: 2.875692 MB/s (NTSC), 3.404052 MB/s (PAL)
DMA blitting
fillrate
Write fillrate
(VBlank/inactive display)
6.4369 MPixels/s,
410 pixels (51 tiles) per scanline
5.320342–5.369317 MPixels/s,
341 pixels (42 tiles) per scanline
Write fillrate
(during active display)
1.416813–2.875692 MPixels/s (NTSC),
2.194021–3.404052 MPixels/s (PAL)
886,457 pixels/s (NTSC),
1.59022 MPixels/s (PAL)
Tile blitting per frame
(during active display)
369 tiles (NTSC), 1070 tiles (PAL) 230 tiles (NTSC), 496 tiles (PAL)
Sprite blitting
per frame
NTSC 80 sprites (8×8 to 16×16), 41 sprites (24×24),
23 sprites (32×32), 5 sprites (64×64)
128 sprites (8×8), 57 sprites (16×16),
14 sprites (32×32), 3 sprites (64×64)
PAL 80 sprites (8×8 to 24×24), 66 sprites (32×32),
16 sprites (64×64), 4 sprites (128×128)
128 sprites (8×8), 124 sprites (16×16),
31 sprites (32×32), 7 sprites (64×64)
Scaling and
rotation
Background DMA software rendering Mode 7 hardware rendering
Sprites DMA software rendering SuperFX enhancement chip required
Color DMA Color palette Up to 4096 colors (bitmap image) 32,768 colors (default),
256–4096 colors (direct color)
Colors
on screen
256–512 (direct color), 1536 (scrolling image),
4096 (static image)
256-512 (direct color), 2723 (static image)
Colors per tile 16–256 colors (palette swap),
64–512 colors (direct color)
16–256 colors (direct color)
Full motion video
(FMV)
Maximum bitrate 4.608 Mbps (576 KB/s, 24 KB per frame) 1.773 Mbps (222 KB/s, 18 KB per frame)[25]
Maximum quality 320×224 resolution, 8-bit color 256×224 resolution, 8-bit color[25]
3D polygon rendering 1800 polys/s (flat), 1000 polys/s (textured) 190 polys/s (flat),[n 15] 140 polys/s (textured)[n 16]

Audio

The Mega Drive's audio hardware includes a sound CPU, the Zilog Z80, along with two sound chips, the Yamaha YM2612 and the Sega PSG, both located on the same Sega-Yamaha IC6 integrated circuit as the Yamaha VDP graphics processor, with the PSG located within the VDP itself. The Super Nintendo's audio processing unit, the Sony S-SMP, includes an audio CPU, the Sony SPC700, and a DSP sound chip, the S-DSP.

The Mega Drive's Z80 audio CPU has over three times the clock rate of the Super Nintendo's SPC700 audio CPU. However, the SPC700 requires less cycles per instruction, so the Z80 is only slightly faster for most operations. What gives the Z80 a significant performance advantage, however, is that it has direct memory access to the 68000 address space (in addition to its own internal 8 KB sound RAM), allowing it to stream data directly from the ROM cartridge, whereas the SPC700 only has direct access its limited 64 KB internal sound RAM (where the main 5A22 S-CPU needs to transfer the audio data). This allows the Mega Drive to stream audio data from the ROM cartridge at a higher speed than the SNES, as well as giving the Z80 more flexibility to be used for non-audio purposes (such as Sega Master System emulation, for example).

The Mega Drive's YM2612 sound chip has a sound output of 53 kHz, higher than the Super Nintendo's S-DSP which has a 32 kHz output, giving the YM2612 a wider frequency range. The S-DSP also uses Gaussian filtering, which eliminates noise by cutting-off the lowest and highest frequencies, at the expense of further limiting the frequency range, creating a muffled sound. The Mega Drive's greater frequency range, on the other hand, provides sharper audio clarity, but with more noise heard at at the highest frequencies, while a lowpass filter reduces noise at the lowest frequencies on both systems (with the Super Nintendo's Gaussian filter further reducing noise at the expense of muffling).

The Mega Drive's sound chips have more sound channels than the Super Nintendo's S-DSP. The S-DSP only supports PCM sampling, whereas the Mega Drive's YM2612 supports both FM synthesis and PCM sampling while the PSG provides additional synthesized channels. In terms of PCM sampling capabilities, the S-SMP supports 8 PCM channels, higher than the YM2612 which supports up to 4 PCM channels with software mixing. The S-SMP's PCM sampling is limited to 16-bit 32 kHz quality, slightly higher than the YM2612's PCM sampling which is limited to 8-bit 32 kHz quality. Due to the Z80 having direct access to the ROM cartridge, the YM2612 can stream PCM audio directly from the ROM cartridge, whereas the S-SMP can only access samples from its limited 64 KB sound RAM, relying on the main S-CPU to transfer samples from the ROM cartridge. This allows the YM2612 to stream high-quality PCM audio at a high bitrate without straining the main 68000 CPU (saving most of its bandwidth for graphics or game logic), whereas streaming high-quality PCM audio on the SNES strains the main S-CPU (significantly reducing its bandwidth for graphics or game logic).

Console Sega Mega Drive[7] Super Nintendo[8][9][10]
System master
clock rate
NTSC 53.693175 MHz 24.576 MHz
PAL 53.203424 MHz 24.576 MHz
Audio CPU Zilog Z80 Sony SPC700
Clock rate NTSC 3.579545 MHz 1.024 MHz
PAL 3.546894 MHz 1.024 MHz
Bits Bus width 8-bit 8-bit
Word length 8-bit 8-bit
Instruction set 8-bit, 16-bit 8-bit, 16-bit
Instructions per
second
NTSC 0.519034 MIPS 0.44032 MIPS[34]
PAL 0.5143 MIPS 0.44032 MIPS
Sound RAM Memory 8 KB SRAM/XRAM (8-bit, 3.030303 MHz) 64 KB SRAM (8-bit, 1.024 MHz)
Bandwidth 3.030303 MB/s 1.024 MB/s
Memory access Addressable memory 8 KB sound RAM,
64 KB work RAM (32 KB banks),
128 KB to 8 MB cartridge ROM (32 KB banks)
64 KB sound RAM
RAM access bandwidth 1.193182 MB/s (NTSC),
1.182298 MB/s (PAL)[35]
1.024 MB/s
Cartridge ROM
access bandwidth
1.191969 MB/s (NTSC), 1.181096 MB/s (PAL) 128 KB/s (S-CPU)[36]
Sound chip(s) Yamaha YM2612, Sega PSG Sony S-DSP
Clock rate NTSC 7.670454 MHz (YM2612), 3.579545 MHz (PSG) 2.048 MHz
PAL 7.600489 MHz (YM2612), 3.546894 MHz (PSG) 2.048 MHz
Sound output Speakers Mono, stereo Mono, stereo, virtual surround sound
Frequency 53.267 kHz (NTSC), 52.781 kHz (PAL) 32 kHz
Sound channels Total channels 11 channels (hardware),
12-14 channels (software mixing)
8 channels
Synthesis channels 11 channels
(6 FM synthesis, 1 LFO, 3 square waves, 1 noise)
N/A
PCM sample channels 1 channel (hardware), 2-4 channels (software mixing) 8 channels
PCM sampling
capabilities
File formats PCM, DPCM, ADPCM, VGM, XGM, TFM, WAV, MOD PCM, ADPCM, BRR[37]
Maximum sample
quality
8-bit depth, 32 kHz sample rate 16-bit depth, 32 kHz sample rate
Maximum bitrate 1024 Kbps (128 KB/s, 11% bandwidth) 1024 Kbps (128 KB/s, 99% bandwidth)[36]

Enhancement chips

Console Sega Mega Drive[7] Super Nintendo Entertainment System
Cartridge enhancement chip Sega Virtua Processor[38] DSP-1[9][39] Super FX[40][41] Super FX 2[40][41]
Co-processor Sega 315-5750
(Samsung SSP1601)
NEC µPD77C25 Nintendo GSU-1 Nintendo GSU-2
Clock rate 23.01136 MHz 7.647059 MHz[n 17] 10.738635 MHz 21.47727 MHz
Cartridge RAM Memory 128 KB (FPM DRAM) 2-32 KB (SRAM)[42] 40-72 KB (SRAM) 40-72 KB (SRAM)
Bandwidth 34.679066 MB/s
(16-bit, 18.181818 MHz)
6.666666 MB/s
(8-bit, 6.666666 MHz)[42]
10.738635 MB/s
(8-bit, 10.738635 MHz)[43]
14.285714 MB/s
(8-bit, 14.285714 MHz)[43]
Fixed-point
arithmetic
Additions 23,011,360 adds/sec 596,000 adds/sec 10,738,635 adds/sec[n 18] 21,477,270 adds/sec
Multiplications 23,011,360 multiplies/sec 294,117 multiplies/sec 2,147,727 multiplies/sec[n 19] 4,295,454 multiplies/sec
Divisions 719,105 divides/sec 77,519 divides/sec 335,582 divides/sec[n 20] 671,164 divides/sec
Scaling and
rotation
Background Hardware rendering Mode 7 Mode 7 Mode 7
Sprites Hardware rendering N/A Hardware rendering Hardware rendering
3D polygon
graphics
Geometry
calculations
50,000 polys/s 1,900 polys/s[n 21] 10,000 polys/s[n 22] 20,000 polys/s
Flat-shaded
rendering
20,000 polys/s 940 polys/s[n 23] 2000 polys/s[n 24] 4000 polys/s
Texture
mapping
3000 polys/s 660 polys/s[n 25] 1000 polys/s[n 26] 2000 polys/s

Notes

  1. [16-bit data bus, 7.670454 MHz (NTSC), 4 cycles per word, 16-bit (2 bytes) per word, 2 cycles per byte 16-bit data bus, 7.670454 MHz (NTSC), 4 cycles per word, 16-bit (2 bytes) per word, 2 cycles per byte]
  2. [8-bit data bus, 2.684658 MHz (NTSC), 1 cycle per byte 8-bit data bus, 2.684658 MHz (NTSC), 1 cycle per byte]
  3. [16-bit data bus, 7.600489 MHz (PAL), 4 cycles per word, 16-bit (2 bytes) per word, 2 cycles per byte 16-bit data bus, 7.600489 MHz (PAL), 4 cycles per word, 16-bit (2 bytes) per word, 2 cycles per byte]
  4. [8-bit data bus, 2.660171 MHz (PAL), 1 cycle per byte 8-bit data bus, 2.660171 MHz (PAL), 1 cycle per byte]
  5. [8-bit data bus, 2.684658–3.579545 MHz (NTSC), 2.660171–3.546895 MHz (PAL), 1 cycle per byte 8-bit data bus, 2.684658–3.579545 MHz (NTSC), 2.660171–3.546895 MHz (PAL), 1 cycle per byte]
  6. [12 cycles per add[12] 12 cycles per add[12]]
  7. [6 cycles per add: 17 cycles per 3 adds (2 cycles LDA, 6 cycles CLC, 6 cycles ADC, 3 cycles STA)[13][14] 6 cycles per add: 17 cycles per 3 adds (2 cycles LDA, 6 cycles CLC, 6 cycles ADC, 3 cycles STA)[13][14]]
  8. [70 cycles per multiply[12] 70 cycles per multiply[12]]
  9. [55 cycles per 16×8 multiply (3 cycles SEP, 6 cycles STA, 3 cycles STY, 12 cycles NOP, 2 cycles LDA, 4 cycles LDY, 6 cycles XBA, 2 cycles TYA, 2 cycles CLC, 2 cycles ADC, 2 cycles BCC, 2 cycles INY, 3 cycles REP, 6 cycles RTS)[15][14] 55 cycles per 16×8 multiply (3 cycles SEP, 6 cycles STA, 3 cycles STY, 12 cycles NOP, 2 cycles LDA, 4 cycles LDY, 6 cycles XBA, 2 cycles TYA, 2 cycles CLC, 2 cycles ADC, 2 cycles BCC, 2 cycles INY, 3 cycles REP, 6 cycles RTS)[15][14]]
  10. [110 cycles per 16×16 multiply (2x 16×8 multiplies) 110 cycles per 16×16 multiply (2x 16×8 multiplies)]
  11. [38 cycles per Mode 7 multiply (3 cycles SEP, 7 cycles STA, 3 cycles XBA, 6 cycles STA, 6 cycles STY, 3 cycles REP, 2 cycles LDA, 2 cycles LDY, 6 cycles RTS)[15][14] 38 cycles per Mode 7 multiply (3 cycles SEP, 7 cycles STA, 3 cycles XBA, 6 cycles STA, 6 cycles STY, 3 cycles REP, 2 cycles LDA, 2 cycles LDY, 6 cycles RTS)[15][14]]
  12. [140 cycles per divide[12] 140 cycles per divide[12]]
  13. [70 cycles per divide (3 cycles STZ, 2 cycles LDY, 2 cycles ASL, 2 cycles BCS, 2 cycles INY, 2 cycles CPY, 4 cycles BNE, 7 cycles ROR, 3 cycles PHA, 2 cycles TXA, 2 cycles SEC, 7 cycles SBC, 4 cycles BCC, 2 cycles TAX, 7 cycles ROL, 4 cycles PLA, 7 cycles LSR, 2 cycles DEY, 6 cycles RTS)[16][14] 70 cycles per divide (3 cycles STZ, 2 cycles LDY, 2 cycles ASL, 2 cycles BCS, 2 cycles INY, 2 cycles CPY, 4 cycles BNE, 7 cycles ROR, 3 cycles PHA, 2 cycles TXA, 2 cycles SEC, 7 cycles SBC, 4 cycles BCC, 2 cycles TAX, 7 cycles ROL, 4 cycles PLA, 7 cycles LSR, 2 cycles DEY, 6 cycles RTS)[16][14]]
  14. [SNES CPU geometry calculations: 13.32 kHz per polygon (80 adds, 111 multiplies, 9 divides)[17] SNES CPU geometry calculations: 13.32 kHz per polygon (80 adds, 111 multiplies, 9 divides)[17]]
  15. [SNES CPU rendering:
    • Framebuffer rendering: 256×160 framebuffer (double-buffered, 40 KB), 15 FPS (614.4 KB/s), 819.64 kHz framebuffer DMA (1.334 kHz per KB,[26] 30 cycles setup), 30 cycles per DMA setup (4 cycles LDX, 6 cycles STX, 8 cycles LDA, 12 cycles STA)[27][14]
    • Polygon rendering: 2.759905 MHz (15 FPS), 14.223 kHz per 8×8 pixel polygon
    • 13.32 kHz geometry per polygon
    • 361 Hz polygon rendering per polygon: 24 comparison cycles (12 comparisons,[28] 2 cycles per CPY comparison),[14] 7 assignments (6 rasterization assignments,[28] 1 flat shading assignment),[29] 220 multiply cycles (2 multiplies), 24 add cycles (4 adds), 5 broadcasts,[30] 110 cycles DMA access (40 bytes per polygon, 2 cycles per byte, 30 cycles setup)[31]
    • 542 Hz pixel rendering per 8×8 pixel polygon: 384 add cycles (1 add per pixel),[32] 158 cycles DMA (1 byte per pixel, 2 cycles per pixel, 30 cycles setup) SNES CPU rendering:
    • Framebuffer rendering: 256×160 framebuffer (double-buffered, 40 KB), 15 FPS (614.4 KB/s), 819.64 kHz framebuffer DMA (1.334 kHz per KB,[26] 30 cycles setup), 30 cycles per DMA setup (4 cycles LDX, 6 cycles STX, 8 cycles LDA, 12 cycles STA)[27][14]
    • Polygon rendering: 2.759905 MHz (15 FPS), 14.223 kHz per 8×8 pixel polygon
    • 13.32 kHz geometry per polygon
    • 361 Hz polygon rendering per polygon: 24 comparison cycles (12 comparisons,[28] 2 cycles per CPY comparison),[14] 7 assignments (6 rasterization assignments,[28] 1 flat shading assignment),[29] 220 multiply cycles (2 multiplies), 24 add cycles (4 adds), 5 broadcasts,[30] 110 cycles DMA access (40 bytes per polygon, 2 cycles per byte, 30 cycles setup)[31]
    • 542 Hz pixel rendering per 8×8 pixel polygon: 384 add cycles (1 add per pixel),[32] 158 cycles DMA (1 byte per pixel, 2 cycles per pixel, 30 cycles setup)]
  16. [SNES CPU texture mapping: 18.746 kHz per 8×8 texel polygon (5.426 kHz texture mapping per 8×8 texel polygon)
    • 316 cycles DMA per 8×8 texel texture: 2 block moves, 2 cycles per texel (1 byte per texel), 30 cycles setup
    • 5110 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 630 vertex divide cycles per polygon (9 divides per polygon), 4480 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel)[33] SNES CPU texture mapping: 18.746 kHz per 8×8 texel polygon (5.426 kHz texture mapping per 8×8 texel polygon)
    • 316 cycles DMA per 8×8 texel texture: 2 block moves, 2 cycles per texel (1 byte per texel), 30 cycles setup
    • 5110 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 630 vertex divide cycles per polygon (9 divides per polygon), 4480 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel)[33]]
  17. [3.4 microseconds per 26 cycles,[39] 2.136322× CPU clock rate 3.4 microseconds per 26 cycles,[39] 2.136322× CPU clock rate]
  18. [1 cycle per add[40] 1 cycle per add[40]]
  19. [5 cycles per 16×16 multiply[40] 5 cycles per 16×16 multiply[40]]
  20. [32 cycles per 16-bit divide[40] 32 cycles per 16-bit divide[40]]
  21. [DSP-1 geometry calculations: 3,939 cycles per polygon (80 adds, 111 multiplies, 9 divides),[17] 2.136322 cycles (1 CPU cycle) per add, 26 cycles per 16-bit multiply, 98 cycles per divide[39] DSP-1 geometry calculations: 3,939 cycles per polygon (80 adds, 111 multiplies, 9 divides),[17] 2.136322 cycles (1 CPU cycle) per add, 26 cycles per 16-bit multiply, 98 cycles per divide[39]]
  22. [Super FX geometry calculations: 923 cycles per polygon (80 adds, 111 multiplies, 9 divides),[17] 1 cycle per add, 5 cycles per 16×16 multiply, 32 cycles per 16-bit divide[40] Super FX geometry calculations: 923 cycles per polygon (80 adds, 111 multiplies, 9 divides),[17] 1 cycle per add, 5 cycles per 16×16 multiply, 32 cycles per 16-bit divide[40]]
  23. [DSP-1 assisted rendering:
    • CPU framebuffer rendering: 256×192 framebuffer (double-buffered, 48 KB), 15 FPS (737.28 KB/s), 983.562 kHz CPU framebuffer DMA (1.334 kHz per KB, 30 cycles setup), 2.101205 MHz DSP-1 cycles
    • Polygon rendering: 5.545854 MHz (15 FPS) DSP-1 cycles available, 5.869 kHz per 8×8 pixel polygon
    • Geometry per polygon: 3,939 DSP-1 cycles
    • Polygon rendering per polygon: 772 DSP-1 cycles (361 CPU cycles)
    • Pixel rendering per 8×8 pixel polygon: 1,158 DSP-1 cycles (542 CPU cycles) DSP-1 assisted rendering:
    • CPU framebuffer rendering: 256×192 framebuffer (double-buffered, 48 KB), 15 FPS (737.28 KB/s), 983.562 kHz CPU framebuffer DMA (1.334 kHz per KB, 30 cycles setup), 2.101205 MHz DSP-1 cycles
    • Polygon rendering: 5.545854 MHz (15 FPS) DSP-1 cycles available, 5.869 kHz per 8×8 pixel polygon
    • Geometry per polygon: 3,939 DSP-1 cycles
    • Polygon rendering per polygon: 772 DSP-1 cycles (361 CPU cycles)
    • Pixel rendering per 8×8 pixel polygon: 1,158 DSP-1 cycles (542 CPU cycles)]
  24. [Super FX rendering:
    • Framebuffer rendering: 256×192 framebuffer (double-buffered, 48 KB), 15 FPS (737.28 KB/s), 983.562 kHz CPU framebuffer DMA (1.334 kHz per KB, 30 cycles setup), 2.950686 MHz Super FX cycles
    • Polygon rendering: 7.787949 MHz (15 FPS) Super FX cycles available, 3.632 kHz per 8×8 pixel polygon
    • Geometry per polygon: 923 Super FX cycles
    • Polygon rendering per polygon: 1083 Super FX cycles (361 CPU cycles)
    • Pixel rendering per 8×8 pixel polygon: 1626 Super FX cycles (542 CPU cycles) Super FX rendering:
    • Framebuffer rendering: 256×192 framebuffer (double-buffered, 48 KB), 15 FPS (737.28 KB/s), 983.562 kHz CPU framebuffer DMA (1.334 kHz per KB, 30 cycles setup), 2.950686 MHz Super FX cycles
    • Polygon rendering: 7.787949 MHz (15 FPS) Super FX cycles available, 3.632 kHz per 8×8 pixel polygon
    • Geometry per polygon: 923 Super FX cycles
    • Polygon rendering per polygon: 1083 Super FX cycles (361 CPU cycles)
    • Pixel rendering per 8×8 pixel polygon: 1626 Super FX cycles (542 CPU cycles)]
  25. [DSP-1 assisted texture mapping: 11.462 kHz per 8×8 texel polygon (7.83 kHz texture mapping per 8×8 texel polygon)
    • 676 DSP-1 cycles (316 CPU cycles) CPU DMA per 8×8 texel texture
    • 7154 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 882 vertex divide cycles per polygon (9 divides per polygon), 6272 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel) DSP-1 assisted texture mapping: 11.462 kHz per 8×8 texel polygon (7.83 kHz texture mapping per 8×8 texel polygon)
    • 676 DSP-1 cycles (316 CPU cycles) CPU DMA per 8×8 texel texture
    • 7154 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 882 vertex divide cycles per polygon (9 divides per polygon), 6272 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel)]
  26. [Super FX texture mapping: 6.916 kHz per 8×8 texel polygon (3.284 kHz texture mapping per 8×8 texel polygon)
    • 948 Super FX cycles (316 CPU cycles) DMA per 8×8 texel texture
    • 2336 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 288 vertex divide cycles per polygon (9 divides per polygon), 2048 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel) Super FX texture mapping: 6.916 kHz per 8×8 texel polygon (3.284 kHz texture mapping per 8×8 texel polygon)
    • 948 Super FX cycles (316 CPU cycles) DMA per 8×8 texel texture
    • 2336 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 288 vertex divide cycles per polygon (9 divides per polygon), 2048 texel divide cycles per 8×8 texel polygon (64 divides, 1 divide per texel)]

References

  1. File:Blast Processing Commercial.mp4
  2. ["Damien McFerran Retroinspection: Mega-CD", Retro Gamer, issue 61 (2009), page 84 "Damien McFerran Retroinspection: Mega-CD", Retro Gamer, issue 61 (2009), page 84]
  3. The Man Responsible For Sega's Blast Processing (Nintendo Life)
  4. How Sega Built the Genesis: Masami Ishikawa Inteview (Polygon)
  5. Game Players, "Vol. 7 No. 5 May 1994" (US; 1994-0x-xx), page 10
  6. 6.0 6.1 Blast Processing 101
  7. 7.0 7.1 7.2 7.3 Sega Mega Drive/Technical specifications
  8. 8.0 8.1 8.2 Super Nintendo Entertainment System technical specifications
  9. 9.0 9.1 9.2 9.3 9.4 SNES hardware specifications
  10. 10.0 10.1 10.2 10.3 Sega Genesis vs Super Nintendo
  11. 11.0 11.1 Anomie's Register Doc
  12. 12.0 12.1 12.2 Standard Instruction Execution Times
  13. SNES Development: General Advice
  14. 14.0 14.1 14.2 14.3 14.4 14.5 SNES Development: 65816 Reference
  15. 15.0 15.1 Super NES Programming: Multiplication
  16. Programming the 65816 Including the 6502, 65C02, and 65802
  17. 17.0 17.1 17.2 Design of Digital Systems and Devices (pages 95-97)
  18. File:Sega Service Manual - Genesis II - Mega Drive II (PAL) - 001 - June 1993.pdf
  19. File:GenesisTechnicalOverview.pdf
  20. 3D math engine (SGDK)
  21. Interview: Lee Actor (Sterling Software Programmer)
  22. Star Fox 3D Tech Demo on Sega Genesis
  23. Star Fox 3D Tech Demo on Sega Genesis: Version 2 Using DMA
  24. SNES Developer Manual (Nintendo)
  25. 25.0 25.1 SNES FMV
  26. SNES Development: DMA & HDMA
  27. SNES Development: Grog's Guide to DMA and HDMA on the SNES
  28. 28.0 28.1 Algorithms for Parallel Polygon Rendering (pages 33-34)
  29. Transformation Of Rendering Algorithms For Hardware Implementation (page 53)
  30. Algorithms for Parallel Polygon Rendering (page 36)
  31. Computer Organization and Design: The Hardware/Software Interface (page C-44)
  32. Algorithms for Parallel Polygon Rendering (page 35)
  33. State of the Art in Computer Graphics: Visualization and Modeling (page 110)
  34. Obsolete Microprocessors
  35. File:Zilog Z80 Programmer's Reference Manual.pdf, page 33
  36. 36.0 36.1 16-bit stereo 32 kHz streaming success
  37. Bit Rate Reduction (BRR)
  38. Sega Virtua Processor
  39. 39.0 39.1 39.2 SNES Development Manual: DSP1 Command Summary
  40. 40.0 40.1 40.2 40.3 40.4 40.5 Super NES Programming: Super FX tutorial
  41. 41.0 41.1 SHVC-1RA2B6S-01 (PCB)
  42. 42.0 42.1 SHVC-2QW5B-X1 (PCB)
  43. 43.0 43.1 KM68512LG-7 Datasheet

External links


Hardware comparisons
SG-1000 / SC-3000 (specs) vs. Famicom | vs. Master System | vs. C64 | vs. MSX
Sega Master System (specs) Hardware comparison | vs. NES | vs. Atari 7800 | vs. Game Gear | vs. Mega Drive | vs. C64 and ZX | vs. Amiga
Sega Mega Drive (specs) Hardware comparison | vs. 32X | vs. Amiga | vs. Atari Jaguar | vs. Atari ST | vs. Mega-CD | vs. Neo Geo | vs. Saturn | vs. SNES | vs. TurboGrafx-16
Sega Game Gear (specs) vs. Atari Lynx | vs. Game Boy | vs. Master System
Sega Mega-CD (specs) vs. 32X | vs. 3DO | vs. Amiga CD32 | vs. Atari Jaguar CD | vs. Neo Geo CD | vs. SNES | vs. Saturn | vs. TurboGrafx-CD
Sega 32X (specs) Hardware comparison | vs. 3DO | vs. Atari Jaguar | vs. SNES | vs. Saturn
Sega Saturn (specs) Hardware comparison | vs. Atari Jaguar | vs. Dreamcast | vs. Nintendo 64 | vs. PC-FX | vs. PlayStation | vs. SNES | vs. PC | vs. Sega Model 2
Sega Dreamcast (specs) Hardware comparison | vs. GameCube | vs. Nintendo 64 | vs. PlayStation | vs. PlayStation 2 | vs. Xbox | vs. Arcade | vs. PC
Sega Mega Drive
Topics Technical specifications (Hardware comparison) | History | List of games | Magazine articles | Promotional material | Merchandise | Cartridges | TradeMark Security System
Hardware Japan | North America | Western Europe | Eastern Europe | South America | Asia | South Korea | Australasia | Africa
EZ Games | LaserActive | Mega Jet | Mega PC | Mega Play | Mega-Tech System | Nomad | Teradrive | Mega Drive Mini | Mega Drive Mini 2
New Mega Drive | Tianli VCD/DVD Players | "Consoles on a chip" | Licensed clones (Magic 2 | Mega Game II | Power Pegasus | Super Bitman)
Unlicensed clones
Add-ons Game Box | Power Base Converter | Mega-CD | 32X (Mega-CD 32X) | Mega Modem | Demo System DS-16
Cases Sega Genesis Nomad Carrying Case | System Carry Case
Controllers Control Pad | Six Button Control Pad | 6 Button Arcade Pad | Arcade Power Stick 6B | Konami Justifier | MK-1470
Action Chair | Activator | Arcade Power Stick | Keyboard | MegaFire | Mouse | Mega Stick | Menacer | Remote Arcade System | Ten Key Pad | Third Party Controllers
Accessories 4 Way Play | Cleaning System | Control Pad Extension Cord | Genesis Speakers | Headset | HeartBeat Catalyst | Microphone | Region converter cartridges | Mega Terminal | Nomad PowerBack | RF Unit (Mega Drive 2) | SCART Cable (Mega Drive 2) | Stereo Audio Video Cable | Team Player | Video Monitor Cable | Third Party Accessories
Network services Sega Channel | Sega Game Toshokan | Mega Anser | Mega Net | TeleBradesco Residência | XB∀ND
Development tools ERX 308P | ERX 318P | Sprobe | SNASM68K | SNASM2 (Mega Drive) | SNASM2 (32X) | PSY-Q Development System (Mega Drive) | PSY-Q Development System (32X) | 32X CartDev | Sega Mars Development Aid System | Sega 32X Development Target
Unreleased Edge 16 | Floppy Disk Drive | Mega Play 1010 | Sega VR | Teleplay System | Video Jukebox