Difference between revisions of "Blast processing"

From Sega Retro

m
 
(426 intermediate revisions by 10 users not shown)
Line 1: Line 1:
'''Blast Processing''' was a marketing term coined by [[Sega of America]] to advertise the faster processing performance of the [[Sega Mega Drive]] (Sega Genesis in that region).
+
'''{{PAGENAME}}''' 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), in North America. "What makes the Genesis the superior machine?" It has "blast processing".
  
''[[Sonic the Hedgehog 2 (16-bit)|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.
+
While the Mega Drive is indeed capable of faster processing performance than the SNES, particularly due to the Mega Drive's [[Yamaha]] YM7101 [[VDP]] graphics processor having a faster [[wikipedia:DMA controller|DMA controller]] along with higher memory bandwidth (see ''[[Sega Mega Drive/Hardware comparison]]'' for a technical comparison with the SNES), the term "blast processing" itself was vague and unclear, due to a lack of technical explanation from Sega. The term is thus open to interpretation, and has been interpreted in different ways, as a reference to either the Mega Drive's faster performance, its higher CPU clock rate, its DMA controller, a specific DMA color technique (which is apparently what inspired the term), or just a meaningless marketing gimmick (as claimed by [[Nintendo]]). In more recent years, the term "blast processing" is occasionally used as a reference to the fast blitting capabilities of its DMA unit (see ''[[Sega Mega Drive/Technical specifications]]'' for details).
  
Sega originally coined the term to refer to the high-speed bandwidth and fillrate of the Mega Drive [[VDP]] graphics processor's [[wikipedia:DMA controller|DMA controller]]. It was a reference to how the DMA controller could "blast" data into the VDP graphics processor and [[wikipedia:Digital-to-analog converter|DAC]] at high speeds. However, many later assumed it was referring to the [[68000]] CPU's higher clock rate.
+
==History==
 +
===Advertising===
 +
[[File:Blast Processing Commercial.mp4|thumb|right]]
 +
{{quote|The Sega Genesis has blast processing. Super Nintendo, doesn't.|US television advert|ref={{fileref|Blast Processing Commercial.mp4}}}}
  
==Origins of term==
+
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 (16-bit)|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".
<p style="float:right; padding: 5px"><mediaplayer>File:Blast Processing Commercial.flv</mediaplayer></p>
 
  
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:{{ref|Damien McFerran, "Retroinspection: Mega-CD", ''[[wikipedia:Retro Gamer|Retro Gamer]]'', issue 61, page 84}}
+
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.
  
{{quote|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}}
+
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]]", as well as a built-in [[wikipedia:DSP (Nintendo)|DSP-1]] enhancement chip, a math co-processor that further improved the system's Mode 7 capabilities. Mode 7 allows the Super NES to scale and rotate background planes - something only achievable on the Mega Drive through software. 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.
  
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]]'':{{ref|[http://www.nintendolife.com/news/2015/11/the_man_responsible_for_segas_blast_processing_gimmick_is_sorry_for_creating_that_ghastly_phrase The Man Responsible For Sega's Blast Processing] ([[wikipedia:Nintendo Life|Nintendo Life]])}}
+
"Blast processing" became a fixture of Sega's advertising campaigns throughout the 1992 holiday season and into 1993. The following year the [[Welcome to the Next Level]] campaign became the face of Sega of America's advertising, and the term was never used again.
  
{{quote|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}}
+
===Origins===
 +
Misconceptions about what "blast processing" were rife until 2009, where in an interview [[Scot Bayless]] took responsibility for the phrase:
  
Many of these DMA programmable techniques were originally intended by the Mega Drive's original product designer [[Masami Ishikawa]]:{{ref|[http://www.polygon.com/features/2015/2/3/7952705/sega-genesis-masami-ishikawa How Sega Built the Genesis: Masami Ishikawa Inteview] ([[wikipedia:Polygon (website)|Polygon]])}}
+
{{quote|Sadly I have to take responsibility for that ghastly phrase. 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.
  
{{quote|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==
+
So during the runup to the western launch of Sega-CD 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. Oy.|[[Scot Bayless]]| ref={{ref|"Damien McFerran Retroinspection: Mega-CD", ''[[wikipedia:Retro Gamer|Retro Gamer]]'', issue 61 (2009), page 84}}}}
:''For more technical details on Mega Drive, see [[Sega Mega Drive#Technical specifications|Mega Drive: Technical specifications]] and [[Sega Mega Drive#Blast Processing|Mega Drive: Blast Processing]]''
 
  
The term was used to refer to either the faster CPU processor or the VDP graphics processor's faster DMA controller.
+
As it transpires, "blast processing" was originally a reference to a graphical technique mentioned by [[Marty Franz]], taking advantage of a hardware feature in the [[Yamaha]] YM7101 [[VDP]] graphics processor's [[wikipedia:DMA controller|DMA unit]]. On a Mega Drive, it is possible to change the colour [[palette]] during the [[Sega Mega Drive/Interrupts|H-blank interval]] by "DMA-ing" (a.k.a. "blasting") information into [[Sega Mega Drive/Palettes and CRAM|CRAM]] (Color [[RAM]]). However, doing so has the (usually) unwanted side effect of creating [[CRAM dots]] - rogue pixels which would corrupt the image if the trick was used too often.
  
===CPU===
+
Despite this, mid-frame colour palette changes were not unusual on the Mega Drive - ''[[Sonic the Hedgehog (16-bit)|Sonic the Hedgehog]]'' uses this trick whenever it needs to display water in Labyrinth Zone, and masks the CRAM dots by drawing a flickering water surface sprite roughly where the palette changeover occurs.
The main CPU processor was clocked over two times faster than the one in its rival product, the [[wikipedia:Super Nintendo Entertainment System|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, 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 Nintendo's 5A22 did run slower in clock cycles per second, it would put out more instructions per clock cycle, giving it a similar [[wikipedia:Instructions per second|MIPS]] (million instructions per second) performance to Sega's 68000.
 
  
The 68000's faster performance came from other advantages, such as a wider [[32-bit era|32-bit]] internal data bus and 16-bit external data bus (the SNES CPU had a 16-bit internal data bus and 8-bit external data bus), faster external data bus clock rate and bandwidth, more [[wikipedia:Processor register|registers]], 32-bit instructions,{{ref|[http://trixter.oldskool.org/2008/12/05/blast-processing-101/ Blast Processing 101]}} and shared [[wikipedia:Codebase|codebase]] with [[arcade]] games (where the 68000 saw widespread use).
+
However, if the programmer knew when these CRAM Dots were likely to appear, a screen could be drawn just by rapidly changing the palette (i.e. the whole image would be drawn with the CRAM dots glitch). Initially it was thought that this technique could be used to generate 256-colour images, however the likes of [[Traveller's Tales]]' [[Jon Burton]], who had also discovered the trick, managed to bump up the number to 512, simulating as many as 4096 by rapidly changing between two frames{{ref|1=https://www.youtube.com/watch?v=o8qgArSqMsc}}.  
  
{| class="wikitable" style="width: 850px;"
+
The downside to this technique is that it relies on perfect timing across the Mega Drive hardware, or the lines drawn would appear out of phase, and thus the image would be distorted. This, and the fact the technique was never well documented to begin with, meant that no commercial games made use of this so-called "blast processing" technique.
|-
 
! colspan=2 | Console
 
! scope="col" | [[Sega Mega Drive]]
 
! scope="col" | [https://en.wikipedia.org/w/index.php?title=Super_Nintendo_Entertainment_System_technical_specifications&oldid=684459832 Super Nintendo Entertainment System]{{ref|[http://problemkaputt.de/fullsnes.htm SNES hardware specifications]}}{{ref|[http://www.gamepilgrimage.com/content/sega-genesis-vs-super-nintendo Sega Genesis vs Super Nintendo]}}{{ref|[http://www.romhacking.net/documents/196/ Anomie's Register Doc]}}
 
|-
 
! colspan=2 | Main [[wikipedia:Central processing unit|CPU]]
 
! [[Motorola 68000]]
 
! [[wikipedia:Ricoh 5A22|Ricoh 5A22]]
 
|-
 
! rowspan=2 | [[wikipedia:Clock rate|Clock rate]]
 
! Internal
 
| 7.670453 MHz ([[NTSC]]), <br> 7.600489 MHz ([[PAL]])
 
| 2.684658–3.579545 MHz (NTSC), <br> 2.660171–3.546895 MHz (PAL)
 
|-
 
! External
 
| 5 MHz ([[RAM]]/[[ROM]])
 
| 2.660171–2.684658 MHz (RAM), <br> 2.660171–3.579545 MHz (ROM)
 
|-
 
! rowspan=3 | Bits
 
! [[wikipedia:Memory bus|Data bus]] width
 
| [[32-bit era|32-bit]] internal, 16-bit external
 
| 16-bit internal, [[8-bit era|8-bit]] external
 
|-
 
! [[wikipedia:Arithmetic logic unit|Arithmetic logic <br> units]]
 
| 16-bit data ALU, <br> 32-bit address ALU (2x 16-bit ALU)
 
| 16-bit ALU
 
|-
 
! [[wikipedia:Word length|Word length]]
 
| 16-bit
 
| 16-bit
 
|-
 
! rowspan=3 | Internal <br> instructions
 
! [[wikipedia:Processor register|Registers]]
 
| 16x 32-bit registers
 
| 4x 16-bit registers, 4x 8-bit registers
 
|-
 
! [[wikipedia:Instruction set|Instruction set]]
 
| 16-bit, 32-bit
 
| 8-bit, 16-bit
 
|-
 
! [[wikipedia:Instructions per second|Instructions per <br> second]]
 
| 1.342329 MIPS (NTSC), <br> 1.330085 MIPS (PAL)
 
| 1.125–1.5 MIPS (NTSC), <br> 1.114738–1.486318 MIPS (PAL)
 
|-
 
! rowspan=3 | Work [[RAM]]
 
! Memory
 
| 64 KB [[SRAM|PSRAM]] (16-bit, 5.263157 MHz)
 
| 128 KB [[wikipedia:Dynamic random-access memory|DRAM]] (8-bit, 2.660171–2.684658 MHz)
 
|-
 
! [[Byte|Bandwidth]]
 
| 10.526314 [[Byte|MB/s]] (5 MB/s CPU access) <br> CPU access per frame: 81 [[Byte|KB]] (NTSC), 98 KB (PAL)
 
| 2.684658 MB/s (NTSC), 2.660171 MB/s (PAL) <br> CPU access per frame: 43 KB (NTSC), 51 KB (PAL)
 
|-
 
! Transfer rate
 
| 3.835226 MB/s (NTSC), 3.800244 MB/s (PAL) <br> CPU write per frame: 62 KB (NTSC), 73 KB (PAL)
 
| 2.684658 MB/s (NTSC), 2.660171 MB/s (PAL) <br> CPU write per frame: 43 KB (NTSC), 51 KB (PAL)
 
|-
 
! rowspan=2 | [[Cartridge]] <br> [[ROM]]
 
! Memory
 
| 128 KB to 8 [[Byte|MB]]
 
| 128 KB to 6 MB
 
|-
 
! Bandwidth
 
| 10–15.340906 MB/s (5 MB/s CPU access)
 
| 2.5–3.579545 MB/s
 
|-
 
! rowspan=3 | [[wikipedia:Fixed-point arithmetic|Fixed-point <br> arithmetic]]
 
! Additions
 
| 639,000 adds/sec{{ref|12 cycles per add{{ref|[http://oldwww.nvg.ntnu.no/amiga/MC680x0_Sections/timstandard.HTML Standard Instruction Execution Times]}}|group=n}}
 
| 596,000 adds/sec{{ref|6 cycles per add{{ref|[https://wiki.superfamicom.org/snes/show/65816+Reference SNES Development: 65816 Reference]}}|group=n}}
 
|-
 
! Multiplications
 
| 109,000 multiplies/sec (16×16){{ref|70 cycles per multiply{{ref|[http://oldwww.nvg.ntnu.no/amiga/MC680x0_Sections/timstandard.HTML Standard Instruction Execution Times]}}|group=n}}
 
| 44,000 multiplies/sec (16×8),{{ref|80 cycles per 16×8 multiply (3 cycles SEP, 7 cycles STA, 4 cycles STY, 12 cycles NOP, 8 cycles LDY, 3 cycles XBA, 7 cycles STA, 2 cycles TYA, 2 cycles CLC, 6 cycles ADC, 2 cycles BCC, 2 cycles INY, 2 cycles BCC, 1 cycle carry_bit, 3 cycles XBA, 3 cycles REP, 6 cycles RTS){{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/multiplication Super NES Programming: Multiplication]}}{{ref|[https://wiki.superfamicom.org/snes/show/65816+Reference SNES Development: 65816 Reference]}}|group=n}} <br> 22,000 multiplies/sec (16×16),{{ref|160 cycles per 16×16 multiply (2x 16×8 multiplies)|group=n}} <br> 74,000 multiplies/sec ([[wikipedia:Mode 7|Mode 7]]){{ref|48 cycles per Mode 7 multiply (3 cycles SEP, 14 cycles STA, 3 cycles XBA, 8 cycles STY, 3 cycles REP, 7 cycles LDA, 4 cycles LDY, 6 cycles RTS){{ref|[https://en.wikibooks.org/wiki/Super_NES_Programming/multiplication Super NES Programming: Multiplication]}}{{ref|[https://wiki.superfamicom.org/snes/show/65816+Reference SNES Development: 65816 Reference]}}|group=n}}
 
|-
 
! Divisions
 
| 54,000 divisions/sec (16-bit){{ref|140 cycles per divide{{ref|[http://oldwww.nvg.ntnu.no/amiga/MC680x0_Sections/timstandard.HTML Standard Instruction Execution Times]}}|group=n}}
 
| 31,000 divisions/sec (16-bit){{ref|113 cycles per divide (5 cycles STZ, 4 cycles LDY, 7 cycles ASL, 2 cycles BCS, 2 cycles INY, 4 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, 32 cycles NOP){{ref|[http://apprize.info/programming/65816/17.html Programming the 65816 Including the 6502, 65C02, and 65802]}}{{ref|[https://wiki.superfamicom.org/snes/show/65816+Reference SNES Development: 65816 Reference]}}|group=n}}
 
|-
 
! rowspan=3 | [[wikipedia:Polygonal modeling|3D polygon]] <br> [[wikipedia:Geometry pipelines|geometry]]
 
! Base hardware
 
| 3300 [[wikipedia:Polygon mesh|polys/s]]
 
| 180 polys/s{{ref|1=SNES CPU geometry calculations: 19.257 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> 3700 polys/s{{ref|1=Super FX geometry calculations: 2.898 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)]}} 6 cycles per addition, 14 cycles per 16×16 multiply, 96 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> 7400 polys/s
 
|}
 
  
===DMA===
+
It would not be until many years later when a perfectly synced blast processing technique would be achieved,{{ref|1=https://www.youtube.com/watch?v=rvvL6S5Buiw}} but at the expense of fully utilising the Mega Drive's [[68000]] processor in order to display an image. The process also produces "chunky" pixels, meaning that while 512 colour images are technically possible, they do not make use of the full 320x224 screen resolution.
The Sega Mega Drive's [[Yamaha]] YM7101 [[VDP]] graphics processor had a powerful [[wikipedia:DMA controller|DMA controller]] that could handle [[wikipedia:Direct memory access|DMA]] (direct memory access) operations at much faster speeds than the Super Nintendo.{{ref|[http://trixter.oldskool.org/2008/12/05/blast-processing-101/ Blast Processing 101]}} The Mega Drive could write to [[VRAM]] during active display and [[wikipedia:Vertical blanking interval|VBlank]],{{fileref|GenesisTechnicalOverview.pdf}} and had a faster memory [[Byte|bandwidth]] than the SNES. The quicker DMA transfer rates and bandwidth gave the Mega Drive 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 DMA capabilities also helped give it more flexibility, allowing the hardware to be programmed in various different ways. With DMA programming, it could replicate some of the Super Nintendo's hardware features, such as larger 64×64 sprites (combining 32×32 sprites), background scaling and rotation (like the [[Sega X Board]] and [[wikipedia:Mode 7|Mode 7]]), and direct color (increasing colors on screen). Other DMA programmable capabilities of the Mega Drive include mid-frame palette swaps (increasing colors per scanline), sprite scaling and rotation, [[wikipedia:Ray casting|ray casting]], [[wikipedia:Bitmap|bitmap]] [[wikipedia:Framebuffer|framebuffers]], and 3D polygon graphics; the base Mega Drive hardware (without needing any [[cartridge]] enhancement chips) could render 3D polygons with a performance comparable to the Super Nintendo's optional [[wikipedia:Super FX|Super FX]] (SFX) enhancement chip,{{ref|[https://github.com/Stephane-D/SGDK/blob/master/inc/maths3D.h 3D math engine (SGDK)]}}{{ref|[http://www.sega-16.com/2008/05/interview-lee-actor/ Interview: Lee Actor (Sterling Software Programmer)]}}{{ref|[https://youtu.be/YUZpF2JLF4s Star Fox 3D Tech Demo on Sega Genesis]}}{{ref|[https://youtu.be/oHLc0AzD85g Star Fox 3D Tech Demo on Sega Genesis: Version 2 Using DMA]}} which itself is significantly outperformed by the Mega Drive's optional [[Sega Virtua Processor]] enhancement chip.
+
The net result means the process is generally impractical for standard Mega Drive games outside of static screens, but becomes a more attractive prospect when a [[Sega Mega-CD]] is introduced. The Mega-CD, with its own 68000 processor, has been shown to be able to assist the Mega Drive in running games in this new graphics mode.
  
{| class="wikitable" style="width: 900px; align: center;"
+
This technique is briefly mentioned among some features intended by the Mega Drive's original product designer [[Masami Ishikawa]]:
|-
 
! colspan=2 | Console
 
! [[Sega Mega Drive|Sega Mega Drive]]
 
! Super Nintendo Entertainment System{{ref|[http://problemkaputt.de/fullsnes.htm SNES hardware specifications]}}{{ref|[http://www.gamepilgrimage.com/content/sega-genesis-vs-super-nintendo Sega Genesis vs Super Nintendo]}}{{ref|[http://www.romhacking.net/documents/196/ Anomie's Register Doc]}}{{ref|[http://www.romhacking.net/documents/196/ SNES Developer Manual] ([[Nintendo]])}}
 
|-
 
! colspan=2 | [[wikipedia:DMA controller|DMA controller]]
 
! [[Sega]] 315‑5313 [[VDP]] ([[Yamaha]] YM7101)
 
! Ricoh 5A22
 
|-
 
! rowspan=2 | Clock rate
 
! Internal
 
| 13.423294 MHz ([[NTSC]]), <br> 13.300856 MHz (PAL)
 
| 2.684658–3.579545 MHz (NTSC), <br> 2.660171–3.546895 MHz (PAL)
 
|-
 
! External
 
| [[RAM]]: 8–11.764705 MHz (NTSC), 8–8.333333 MHz (PAL) <br> [[ROM]]: 5–7.670453 MHz (NTSC), 5–7.600489 MHz (PAL)
 
| RAM: 2.684658 MHz (NTSC), 2.660171 MHz (PAL) <br> ROM: 2.660171–3.579545 MHz
 
|-
 
! rowspan=2 | Video [[RAM]]
 
! Memory
 
| 64 KB [[VRAM]] (64 KB [[wikipedia:FPM DRAM|FPM DRAM]], 256 bytes [[wikipedia:Sequential access memory|SAM]]), <br> 232 bytes VDP [[wikipedia:GPU cache|cache]] ([[Palette|CRAM]], [[Sega Mega Drive#Graphics|VSRAM]], sprite [[wikipedia:Data buffer|buffer]])
 
| 64 KB [[SRAM]], <br> 1056 bytes [https://en.wikipedia.org/w/index.php?title=Super_Nintendo_Entertainment_System_technical_specifications&oldid=684459832 PPU] cache ([[Palette|CGRAM]], [[Sprite|OAM]])
 
|-
 
! [[Byte|Bandwidth]]
 
| 8–11.764705 [[Byte|MB/s]] (VRAM), 26.846588 MB/s (VDP cache)
 
| 7.15909 MB/s (NTSC), 7.09379 MB/s (PAL)
 
|-
 
! rowspan=3 | [[wikipedia:Direct memory access|DMA]] [[wikipedia:Blitter|blitting]] <br> transfer rate
 
! Inactive display
 
| VRAM: 3.21845 MB/s, 205 bytes per [[wikipedia:Scan line|scanline]] <br> VDP cache: 6.4369 MB/s, 410 bytes per scanline
 
| NTSC: 2.684658 MB/s, 170.5 bytes per scanline <br> PAL: 2.660171 MB/s, 170.5 bytes per scanline
 
|-
 
! Active display <br> (VRAM)
 
| 320×224: 708.406 KB/s (NTSC), 1.09701 MB/s (PAL) <br> 320×160: 1.437846 MB/s (NTSC), 1.702026 MB/s (PAL)
 
| rowspan=2 | 256×224: 443.228 KB/s (NTSC), 795.11 KB/s (PAL) <br> 256×192: 763.435 KB/s (NTSC), 1.061548 MB/s (PAL)
 
|-
 
! Active display <br> (cache)
 
| 320×224: 1.416813 MB/s (NTSC), 2.194021 MB/s (PAL) <br> 320×160: 2.875692 MB/s (NTSC), 3.404052 MB/s (PAL)
 
|-
 
! rowspan=5 | [[Fillrate]]
 
! Video clock rate
 
| 13.300856–13.423294 MHz (VDP)
 
| 5.320342–5.369317 MHz (PPU)
 
|-
 
! Read fillrate
 
| 6.650428–6.934358 [[Pixel|MPixels/s]]
 
| 5.320342–5.369317 MPixels/s
 
|-
 
! Write fillrate <br> (inactive display)
 
| 6.4369 MPixels/s, <br> 410 [[pixel]]s per scanline
 
| 5.320342–5.369317 MPixels/s, <br> 341 pixels per scanline
 
|-
 
! Write fillrate <br> (active display)
 
| 1.416813–2.875692 MPixels/s (NTSC), <br> 2.194021–3.404052 MPixels/s (PAL)
 
| 886,457 [[Pixel|pixels/s]] (NTSC), <br> 1.59022 MPixels/s (PAL)
 
|-
 
! [[wikipedia:Tile-based video game|Tiles]] on screen <br> (active display)
 
| Display: 1808 tiles <br> [[wikipedia:Bit blit|Blit]] per frame: 369 tiles (NTSC), 1070 tiles (PAL)
 
| Display: 1395 tiles (NTSC), 1536 tiles (PAL) <br> Blit per frame: 230 tiles (NTSC), 496 tiles (PAL)
 
|-
 
! rowspan=7 | [[Sprite]]s
 
! Sprite fillrate
 
| 4.90887 [[Texel|MTexels/s]], 320 [[texel]]s per scanline
 
| 4.282881 MTexels/s, 272 texels per scanline
 
|-
 
! Sprite tiles
 
| 1280 sprite tiles on screen
 
| 512 sprite tiles on screen
 
|-
 
! Sprites on <br> screen
 
| 80 sprites (8×8 to 32×32), 20 sprites (64×64), <br> 5 sprites (128×128)
 
| 128 sprites (8×8, 16×16), 69 sprites (32×32), <br> 17 sprites (64×64), 4 sprites (128×128)
 
|-
 
! Unique sprites <br> on screen
 
| 80 sprites (8×8 to 32×32), 20 sprites (64×64), <br> 5 sprites (128×128)
 
| 128 sprites (8×8, 16×16), 32 sprites (32×32), <br> 8 sprites (64×64), 2 sprites (128×128)
 
|-
 
! [[wikipedia:Bit blit|Blit]] per frame <br> (NTSC)
 
| 80 sprites (8×8 to 16×16), 41 sprites (24×24), <br> 23 sprites (32×32), 5 sprites (64×64)
 
| 128 sprites (8×8), 57 sprites (16×16), <br> 14 sprites (32×32), 3 sprites (64×64)
 
|-
 
! Blit per frame <br> (PAL)
 
| 80 sprites (8×8 to 24×24), 66 sprites (32×32), <br> 16 sprites (64×64), 4 sprites (128×128)
 
| 128 sprites (8×8), 124 sprites (16×16), <br> 31 sprites (32×32), 7 sprites (64×64)
 
|-
 
! Sprites per <br> scanline
 
| 20 sprites (8×8 to 16×16), 13 sprites (24×24), <br> 10 sprites (32×32), 5 sprites (64×64)
 
| 32 sprites (8×8), 17 sprites (16×16), <br> 8 sprites (32×32), 4 sprites (64×64)
 
|-
 
! rowspan=4 | Background <br> [[plane]]s
 
! Background tiles <br> on screen
 
| 1344–1808 background tiles
 
| 256–1024 background tiles
 
|-
 
! [[wikipedia:Tile-based video game|Tilemap]] planes
 
| 2 scrolling planes (1344–1808 tiles), 1 static window plane, <br> 40–64 overlapping scrolling layers (20–32 layers per plane)
 
| 1–4 planes (256–1024 tiles)
 
|-
 
! Tilemap <br> resolution
 
| 256×256 to 512×512 (2 planes, 1344–1808 tiles), <br> 1024×256 (2 planes, 1344–1424 tiles)
 
| 256×256 to 512×512 (1–4 planes, 256–1024 tiles), <br> 1024×1024 (1 plane, 256 tiles)
 
|-
 
! [[wikipedia:Scrolling|Scrolling]] <br> capabilities
 
| [[wikipedia:Parallax scrolling|Parallax scrolling]], line scrolling, tile scrolling, <br> row/column scrolling, overlapping scrolling layers
 
| Parallax scrolling, line scrolling, tile scrolling
 
|-
 
! rowspan=2 | [[Resolution]]
 
! Overscan
 
| 427×262 (NTSC), 423×312 (PAL)
 
| 341×262 (NTSC), 341×312 (PAL)
 
|-
 
! Display <br> resolution
 
| Gameplay: 256×224 to 320×480 (default 320×224) <br> Custom: 128×160 to 320×160, 128×224 to 160×224
 
| Gameplay: 256×224 to 256×239 (default 256×224) <br> Pseudo-hires text: 512×448, 512×478 (half-pixels)
 
|-
 
! rowspan=3 | [[Palette|Colors]]
 
! Color [[palette]]s
 
| 512 colors (default), 1536 colors (Shadow/Highlight)
 
| 32,768 colors (default), 256–4096 colors ([[wikipedia:Direct color|direct]])
 
|-
 
! Colors on <br> screen
 
| 61–64 (default), 114–1536 (Shadow/Highlight), <br> 1536 (scrolling background demo)
 
| 128–256 (1–2 planes), 128–160 (3 planes), <br> 128 (4 planes), 2723 (static image demo)
 
|-
 
! Colors per tile
 
| 16 colors (2 planes), 16–256 colors (palette swap), <br> 256–512 colors (direct)
 
| 16 colors (1–2 planes), 8 colors (3 planes), <br> 4 colors (4 planes), 256 colors (direct)
 
|-
 
! rowspan=3 | [[wikipedia:3D rendering|3D polygon <br> rendering]]
 
! Base hardware
 
| 1800 polys/s (flat), 1000 polys/s (textured)
 
| 130 polys/s (flat),{{ref|1=SNES CPU rendering:
 
*Framebuffer rendering: 256×160 framebuffer (double-buffered, 40 KB), 15 FPS (614.4 KB/s), 819.69 kHz framebuffer DMA (1.334 kHz per KB,{{ref|[https://wiki.superfamicom.org/snes/show/DMA+%26+HDMA SNES Development: DMA & HDMA]}} 80 cycles setup), 80 cycles per DMA setup (12 cycles LDX, 12 cycles STX, 28 cycles LDA, 28 cycles STA){{ref|[https://wiki.superfamicom.org/snes/show/Grog's+Guide+to+DMA+and+HDMA+on+the+SNES SNES Development: Grog's Guide to DMA and HDMA on the SNES]}}{{ref|[https://wiki.superfamicom.org/snes/show/65816+Reference SNES Development: 65816 Reference]}}
 
*Polygon rendering: 2.759855 MHz (15 FPS), 20.413 kHz per 8×8 pixel polygon
 
**19.257 kHz geometry per polygon
 
**564 Hz polygon rendering per polygon: 48 comparison cycles (12 comparisons,{{ref|1=[https://books.google.co.uk/books?id=yiVRHrxFj2wC&pg=PA33 ''Algorithms for Parallel Polygon Rendering'' (pages 33-34)]}} 4 cycles per CPY comparison),{{ref|[https://wiki.superfamicom.org/snes/show/65816+Reference SNES Development: 65816 Reference]}} 7 assignments (6 rasterization assignments,{{ref|1=[https://books.google.co.uk/books?id=yiVRHrxFj2wC&pg=PA33 ''Algorithms for Parallel Polygon Rendering'' (pages 33-34)]}} 1 flat shading assignment),{{ref|1=[http://sirkan.iit.bme.hu/~szirmay/abbas.pdf#page=53 Transformation Of Rendering Algorithms For Hardware Implementation (page 53)]}} 320 multiply cycles (2 multiplies), 24 add cycles ([4 adds), 5 broadcasts,{{ref|1=[https://books.google.co.uk/books?id=yiVRHrxFj2wC&pg=PA36 ''Algorithms for Parallel Polygon Rendering'' (page 36)]}} 160 cycles DMA access (40 bytes per polygon, 2 cycles per byte, 80 cycles setup){{ref|1=[https://books.google.co.uk/books?id=EVhgAAAAQBAJ&pg=SL3-PA44 ''Computer Organization and Design: The Hardware/Software Interface'' (page C-44)]}}
 
**592 Hz pixel rendering per 8×8 pixel polygon: 384 add cycles (1 add per pixel),{{ref|1=[https://books.google.co.uk/books?id=yiVRHrxFj2wC&pg=PA35 ''Algorithms for Parallel Polygon Rendering'' (page 35)]}} 208 cycles DMA (1 byte per pixel, 2 cycles per pixel, 80 cycles setup)
 
|group=n}} 90 polys/s (textured){{ref|1=SNES CPU texture mapping: 29.078 kHz per 8×8 texel polygon (8.665 kHz texture mapping per 8×8 texel polygon)
 
*416 cycles DMA per 8×8 texel texture: 2 block moves, 2 cycles per texel (1 byte per texel), 80 cycles setup
 
*8249 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 1017 vertex divide cycles per polygon (9 divides per polygon), 7232 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}}
 
|-
 
! 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.612 kHz CPU framebuffer DMA (1.334 kHz per KB, 80 cycles setup), 2.950836 MHz Super FX cycles
 
*Polygon rendering: 7.787799 MHz (15 FPS), 3.74 kHz per 8×8 pixel polygon
 
**Geometry per polygon: 2898 Super FX cycles
 
**Polygon rendering per polygon: 410 CPU cycles (1230 Super FX cycles)
 
**Pixel rendering per 8×8 pixel polygon: 432 CPU cycles (1296 Super FX cycles)
 
|group=n}} 640 polys/s (textured){{ref|1=Super FX texture mapping: 11.996 kHz per 8×8 texel polygon (8.256 kHz texture mapping per 8×8 texel polygon)
 
*416 CPU cycles (1248 Super FX cycles) DMA per 8×8 texel texture
 
*7008 divide cycles per 8×8 texel polygon: 73 divides per 8×8 texel polygon, 864 vertex divide cycles per polygon (9 divides per polygon), 6144 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), 1200 polys/s (textured)
 
|}
 
  
==Notes==
+
{{quote|We were able to have two scrolling windows — with both vertical and horizontal line scrolling — and 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]]|ref={{ref|[http://www.polygon.com/features/2015/2/3/7952705/sega-genesis-masami-ishikawa How Sega Built the Genesis: Masami Ishikawa Inteview] ([[wikipedia:Polygon (website)|Polygon]])}}
{{multicol|
 
<references group="n"/>
 
 
}}
 
}}
  
==References==
+
The DMA unit's ability to change the CRAM palette (as well as the [[VRAM]] and scrolling) during active display is also mentioned in Sega's technical manual.{{fileref|GenesisTechnicalOverview.pdf|page=36}}
{{multicol|
+
 
<references />
+
===Interpretations===
}}
+
The technique of drawing an image through using DMA (direct memory access) was not understood by Sega of America's marketing department (or indeed by many developers, as again, it was never seen in commercial games). Nor did it seem like they understood what DMA was. Instead, the words "blast" and "processing" were picked up and ran with, and the media and general public was tasked with filling in the blanks.
 +
 
 +
For many years, it was assumed that the term was referring to the Mega Drive's CPU, the [[68000]], having a higher clock rate than the [[Ricoh]] [[wikipedia:Ricoh 5A22|5A22]] S-CPU found in the Super NES. At a time when technical details were hard to come by, it was widely assumed that bigger numbers were better, without taking into account what the two integrated circuits were actually doing with each clock cycle. Sega of America's marketing department may have also interpreted "blast processing" as simply a higher CPU clock rate.
 +
 
 +
Blast processing was also used in conjunction with ''[[Sonic the Hedgehog 2 (16-bit)|Sonic the Hedgehog 2]]'' advertising, to suggest that it made Sonic "faster than ever". One trick used was to have the ground speed cap removed, leading to a situation in Chemical Plant Zone where Sonic appears to out-run the camera. This was entirely the decision of the programming team behind the game, rather than a hardware trick.
 +
 
 +
Separately, Sega stated that blast processing was "the total power dedication of the Genesis system to giving a character on screen a very quick blast of speed", a cited example being the spin dash manoeuvre in the game.{{magref|egm|44|12}}
 +
 
 +
A more likely reason why ''Sonic 2'' was chosen to demonstrate "blast processing" was its high-speed parallax scrolling, which was noticeably faster than what was seen in SNES games. While it is technically possible to match its scrolling speed on the SNES, it would require either significantly reducing the amount of graphics data on screen, or using enhancement chips. The Mega Drive's faster graphics DMA unit allows it to perform high-speed parallax scrolling with more graphics data on screen, which ''Sonic 2'' was able to demonstrate to great success. It even maintained its speed at a higher 320x448 resolution in 2-player mode (compared to its standard 320x224 resolution), whereas the SNES wouldn't be able to reach such a speed at resolutions above 256x224.
 +
 
 +
In more recent years, the term "blast processing" is occasionally used as a reference to the [[Yamaha]] YM7101 [[VDP]] graphics processor's [[wikipedia:DMA controller|DMA unit]], due to its fast data blitting capabilities (see ''[[#Legacy|Legacy]]'' section below).
 +
 
 +
Curiously, the Mega Drive had a hybrid 16/32-bit CPU whereas the SNES had a hybrid 8/16-bit CPU, as the Mega Drive CPU has a 32-bit internal data bus and 16-bit external data bus, compared to the SNES CPU having a 16-bit internal data bus and 8-bit external data bus (see ''[[Sega Mega Drive/Hardware comparison]]'' for technical details), yet Sega never capitalised on this in its marketing against Nintendo. Sega's marketing department had previously attacked the [https://necretro.org/TurboGrafx-16 TurboGrafx-16] as not being a true "16-bit" system, yet they didn't attempt similar "bit" marketing tactics against the SNES.
 +
 
 +
===Responses===
 +
The [[Nintendo]]-backed ''Nintendo Power'' magazine challenged Sega's customer service and PR firm about blast processing in the summer of 1993, claiming that in their view, it was marketing speak for the programmers "know[ing] what they're doing"{{magref|np|49|26}}. They would also commission evaulation company Booz-Allen & Hamilton to compare the Mega Drive and Super NES, predictably claiming that the SNES offered better equipment for building "faster, more complex games"{{magref|np|49|27}}.
 +
 
 +
{{float|[[File:GamePlayers US 0705.pdf|page=10|200px]][[File:GamePlayers US 0705.pdf|page=11|200px]]}}
 +
However, it was not until the middle of 1994 where Nintendo became more vocal about the subject. Most notably, they published an advertisement entitled "SMASHING The Myth About Speed and Power" in popular US video game magazines such as ''[[wikipedia:Electronic Gaming Monthly|Electronic Gaming Monthly]]'', ''[[wikipedia:GamePro|GamePro]]'' and ''[[wikipedia:Game Players|Game Players]]'' which aimed to counter Sega's narrative.{{magref|gameplayers|0705|10}}
 +
 
 +
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" was a "myth" and made a number of other points 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 or technology that gave a "Blast" boost. This is an incredibly vague statement to make, given that all part of the Mega Drive work in tandem to produce video games. It does, however, suggest that Nintendo were about as unaware of what blast processing really meant as most other people at the time.
 +
*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 that the Genesis only had a 256-color palette, when it actually has 512 colors (being increased to 1536 colors in shadow/highlight mode). Regardless the available palette is an acknowledged strength of the Super NES, as it has 32,768 colors at its disposal. The 256 number also contradicts Nintendo's own research the year prior{{magref|np|49|27}}.
 +
*It claimed that the SNES is capable of scaling [[Sonic]]. However, [[wikipedia:Mode 7|Mode 7]] only scales backgrounds, not [[sprite]]s. The SNES usually required enhancement chips such as the SuperFX to achieve true [[wikia:w:c:gaming:2.5D|sprite-scaling]].
 +
*It suggested that the Genesis is not capable of scaling or rotation. This is true from a hardware perspective, but can be (and was) achieved through software programming. The Mega-CD also adds support for scaling and rotation.
 +
*It suggested that only the SNES has specialised [[wikipedia:Direct memory access|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. It appears to be supporting the claim by referring to Gaussian filtering reducing noise, but this limits the 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 [[wikipedia:Bitrate|bitrate]] while using less of its bandwidth (due to the Genesis having greater bandwidth).
 +
 
 +
===Legacy===
 +
"Blast processing" was a term used only for a few years by Sega in one region of the world, North America. While a vague term not understood by most consumers (or even many developers), it achieved Sega's goal of generating recognition for their video game console in North America, while simultaneously causing people to challenge the credentials of its rival, the Super NES. "Blast processing" has since become synonymous with the Mega Drive console. In the years after the system was discontinued (and indeed when Sega left the video game console market entirely), "blast processing" has made its name in popular culture, appearing in Sega-related merchandise and even some video games (such as ''[[Sonic Mania]]'').
 +
 
 +
In more recent years, the term "blast processing" is occasionally used as a reference to the [[Yamaha]] YM7101 [[VDP]] graphics processor's [[wikipedia:DMA controller|DMA unit]]. A year before the 2009 revelation that the term "blast processing" originally referred to a DMA color trick, the retro blogger Trixter anticipated this by identifying "blast processing" as the console's DMA unit in a 2008 blog post.{{ref|[http://trixter.oldskool.org/2008/12/05/blast-processing-101/ Blast Processing 101]}} Since then, the term "blast processing" has been occasionally used as a reference to the Mega Drive's DMA unit  (see ''[[Sega Mega Drive/Technical specifications]]'' for details). The DMA blitting capabilities of the Mega Drive is comparable to the [[Amiga]], with the Mega Drive being capable of even faster blitting than the Amiga (see ''[[Sega Mega Drive/Hardware comparison]]'').
 +
 
 +
Homebrew programmers in recent years have utilized the fast blitting capabilities of the DMA unit to demonstrate various technical feats on stock Mega Drive hardware (without add-ons or enhancement chips), such as ''Star Fox'' demos showcasing 3D polygon graphics{{ref|1=[https://www.youtube.com/watch?v=YUZpF2JLF4s Star Fox 3D Tech Demo on Sega Genesis]}}{{ref|1=[https://www.youtube.com/watch?v=oHLc0AzD85g Star Fox 3D Tech Demo on Sega Genesis: Version 2 Using DMA]}} (also in commercial games such as ''[[Star Cruiser]]'', ''[[Hard Drivin']]'' and ''[[Race Drivin']]''), Mode 7 style scaling and rotation (such as the ''Sonic Team Racing'' demo),{{ref|1=[https://www.youtube.com/watch?v=_bPGh8TiP4c Sonic Team Racing Sega Genesis GASEGA68K Work in Progress]}} an accurate port of ''[[Wolfenstein 3D]]'' with full ray casting (also in commercial games such as ''[[Duke Nukem 3D]]''), software mixing allowing audio playback of multiple high-quality PCM sample channels (such as the ''Sonic: Next Level'' demo),{{ref|1=[https://www.youtube.com/watch?v=Xln0a0HIX5Y Sonic 1 The Next Level - Walkthrough]}} and FMV playback{{ref|1=[https://www.youtube.com/watch?v=7jHNu3eZvQQ Was Sega CD FMV really the best the Sega Mega Drive / Genesis Could do? Mike's Mega Drive FMV codec]}} (also in commercial games such as ''[[Sonic 3D Blast]]''). The Mega Drive's DMA unit is thus sometimes viewed as a "blast processor".
 +
 
 +
==Hardware comparison==
 +
:''See [[Sega Mega Drive/Hardware comparison (Super NES)]] for a detailed technical comparison with the SNES''
 +
 
 +
:''See also [[Sega Mega Drive/Technical specifications]]''
  
 
==External links==
 
==External links==
*[http://www.1up.com/do/feature?cId=3134008 1UP's Essential 50 - #28 Sonic The Hedgehog]
+
*''[https://www.nintendolife.com/news/2015/11/the_man_responsible_for_segas_blast_processing_gimmick_is_sorry_for_creating_that_ghastly_phrase The Man Responsible For Sega's Blast Processing Gimmick Is Sorry For Creating "That Ghastly Phrase"]'' article by Damien McFerran at ''[https://www.nintendolife.com Nintendo Life]''
*[http://info.sonicretro.org/Image:GamesTMRetrospect.jpg gamesTM - Gaming News '92 "Hogging the World Stage"]
 
  
==See also==
+
==References==
*[[Generations of video games]]
+
<references />
*[[Sega Saturn/Hardware comparison|Sega Saturn: Hardware comparison]]
 
*[[Sega Dreamcast/Hardware comparison|Sega Dreamcast: Hardware comparison]]
 
  
 
{{MegaDrive}}
 
{{MegaDrive}}
  
 
[[Category:Sega Mega Drive]]
 
[[Category:Sega Mega Drive]]
[[Category:Mega Drive hardware]]
 

Latest revision as of 18:57, 30 December 2021

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), in North America. "What makes the Genesis the superior machine?" It has "blast processing".

While the Mega Drive is indeed capable of faster processing performance than the SNES, particularly due to the Mega Drive's Yamaha YM7101 VDP graphics processor having a faster DMA controller along with higher memory bandwidth (see Sega Mega Drive/Hardware comparison for a technical comparison with the SNES), the term "blast processing" itself was vague and unclear, due to a lack of technical explanation from Sega. The term is thus open to interpretation, and has been interpreted in different ways, as a reference to either the Mega Drive's faster performance, its higher CPU clock rate, its DMA controller, a specific DMA color technique (which is apparently what inspired the term), or just a meaningless marketing gimmick (as claimed by Nintendo). In more recent years, the term "blast processing" is occasionally used as a reference to the fast blitting capabilities of its DMA unit (see Sega Mega Drive/Technical specifications for details).

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", as well as a built-in DSP-1 enhancement chip, a math co-processor that further improved the system's Mode 7 capabilities. Mode 7 allows the Super NES to scale and rotate background planes - something only achievable on the Mega Drive through software. 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.

"Blast processing" became a fixture of Sega's advertising campaigns throughout the 1992 holiday season and into 1993. The following year the Welcome to the Next Level campaign became the face of Sega of America's advertising, and the term was never used again.

Origins

Misconceptions about what "blast processing" were rife until 2009, where in an interview Scot Bayless took responsibility for the phrase:


Sadly I have to take responsibility for that ghastly phrase. 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.


So during the runup to the western launch of Sega-CD 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. Oy.

Scot Bayless[2]


As it transpires, "blast processing" was originally a reference to a graphical technique mentioned by Marty Franz, taking advantage of a hardware feature in the Yamaha YM7101 VDP graphics processor's DMA unit. On a Mega Drive, it is possible to change the colour palette during the H-blank interval by "DMA-ing" (a.k.a. "blasting") information into CRAM (Color RAM). However, doing so has the (usually) unwanted side effect of creating CRAM dots - rogue pixels which would corrupt the image if the trick was used too often.

Despite this, mid-frame colour palette changes were not unusual on the Mega Drive - Sonic the Hedgehog uses this trick whenever it needs to display water in Labyrinth Zone, and masks the CRAM dots by drawing a flickering water surface sprite roughly where the palette changeover occurs.

However, if the programmer knew when these CRAM Dots were likely to appear, a screen could be drawn just by rapidly changing the palette (i.e. the whole image would be drawn with the CRAM dots glitch). Initially it was thought that this technique could be used to generate 256-colour images, however the likes of Traveller's Tales' Jon Burton, who had also discovered the trick, managed to bump up the number to 512, simulating as many as 4096 by rapidly changing between two frames[3].

The downside to this technique is that it relies on perfect timing across the Mega Drive hardware, or the lines drawn would appear out of phase, and thus the image would be distorted. This, and the fact the technique was never well documented to begin with, meant that no commercial games made use of this so-called "blast processing" technique.

It would not be until many years later when a perfectly synced blast processing technique would be achieved,[4] but at the expense of fully utilising the Mega Drive's 68000 processor in order to display an image. The process also produces "chunky" pixels, meaning that while 512 colour images are technically possible, they do not make use of the full 320x224 screen resolution.

The net result means the process is generally impractical for standard Mega Drive games outside of static screens, but becomes a more attractive prospect when a Sega Mega-CD is introduced. The Mega-CD, with its own 68000 processor, has been shown to be able to assist the Mega Drive in running games in this new graphics mode.

This technique is briefly mentioned among some features intended by the Mega Drive's original product designer Masami Ishikawa:


We were able to have two scrolling windows — with both vertical and horizontal line scrolling — and 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[5]


The DMA unit's ability to change the CRAM palette (as well as the VRAM and scrolling) during active display is also mentioned in Sega's technical manual.[6]

Interpretations

The technique of drawing an image through using DMA (direct memory access) was not understood by Sega of America's marketing department (or indeed by many developers, as again, it was never seen in commercial games). Nor did it seem like they understood what DMA was. Instead, the words "blast" and "processing" were picked up and ran with, and the media and general public was tasked with filling in the blanks.

For many years, it was assumed that the term was referring to the Mega Drive's CPU, the 68000, having a higher clock rate than the Ricoh 5A22 S-CPU found in the Super NES. At a time when technical details were hard to come by, it was widely assumed that bigger numbers were better, without taking into account what the two integrated circuits were actually doing with each clock cycle. Sega of America's marketing department may have also interpreted "blast processing" as simply a higher CPU clock rate.

Blast processing was also used in conjunction with Sonic the Hedgehog 2 advertising, to suggest that it made Sonic "faster than ever". One trick used was to have the ground speed cap removed, leading to a situation in Chemical Plant Zone where Sonic appears to out-run the camera. This was entirely the decision of the programming team behind the game, rather than a hardware trick.

Separately, Sega stated that blast processing was "the total power dedication of the Genesis system to giving a character on screen a very quick blast of speed", a cited example being the spin dash manoeuvre in the game.[7]

A more likely reason why Sonic 2 was chosen to demonstrate "blast processing" was its high-speed parallax scrolling, which was noticeably faster than what was seen in SNES games. While it is technically possible to match its scrolling speed on the SNES, it would require either significantly reducing the amount of graphics data on screen, or using enhancement chips. The Mega Drive's faster graphics DMA unit allows it to perform high-speed parallax scrolling with more graphics data on screen, which Sonic 2 was able to demonstrate to great success. It even maintained its speed at a higher 320x448 resolution in 2-player mode (compared to its standard 320x224 resolution), whereas the SNES wouldn't be able to reach such a speed at resolutions above 256x224.

In more recent years, the term "blast processing" is occasionally used as a reference to the Yamaha YM7101 VDP graphics processor's DMA unit, due to its fast data blitting capabilities (see Legacy section below).

Curiously, the Mega Drive had a hybrid 16/32-bit CPU whereas the SNES had a hybrid 8/16-bit CPU, as the Mega Drive CPU has a 32-bit internal data bus and 16-bit external data bus, compared to the SNES CPU having a 16-bit internal data bus and 8-bit external data bus (see Sega Mega Drive/Hardware comparison for technical details), yet Sega never capitalised on this in its marketing against Nintendo. Sega's marketing department had previously attacked the TurboGrafx-16 as not being a true "16-bit" system, yet they didn't attempt similar "bit" marketing tactics against the SNES.

Responses

The Nintendo-backed Nintendo Power magazine challenged Sega's customer service and PR firm about blast processing in the summer of 1993, claiming that in their view, it was marketing speak for the programmers "know[ing] what they're doing"[8]. They would also commission evaulation company Booz-Allen & Hamilton to compare the Mega Drive and Super NES, predictably claiming that the SNES offered better equipment for building "faster, more complex games"[9].

However, it was not until the middle of 1994 where Nintendo became more vocal about the subject. 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.[10]

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" was a "myth" and made a number of other points 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 or technology that gave a "Blast" boost. This is an incredibly vague statement to make, given that all part of the Mega Drive work in tandem to produce video games. It does, however, suggest that Nintendo were about as unaware of what blast processing really meant as most other people at the time.
  • 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, when it actually has 512 colors (being increased to 1536 colors in shadow/highlight mode). Regardless the available palette is an acknowledged strength of the Super NES, as it has 32,768 colors at its disposal. The 256 number also contradicts Nintendo's own research the year prior[9].
  • 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. This is true from a hardware perspective, but can be (and was) achieved through software programming. The Mega-CD also adds support for scaling and rotation.
  • 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. It appears to be supporting the claim by referring to Gaussian filtering reducing noise, but this limits the 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).

Legacy

"Blast processing" was a term used only for a few years by Sega in one region of the world, North America. While a vague term not understood by most consumers (or even many developers), it achieved Sega's goal of generating recognition for their video game console in North America, while simultaneously causing people to challenge the credentials of its rival, the Super NES. "Blast processing" has since become synonymous with the Mega Drive console. In the years after the system was discontinued (and indeed when Sega left the video game console market entirely), "blast processing" has made its name in popular culture, appearing in Sega-related merchandise and even some video games (such as Sonic Mania).

In more recent years, the term "blast processing" is occasionally used as a reference to the Yamaha YM7101 VDP graphics processor's DMA unit. A year before the 2009 revelation that the term "blast processing" originally referred to a DMA color trick, the retro blogger Trixter anticipated this by identifying "blast processing" as the console's DMA unit in a 2008 blog post.[11] Since then, the term "blast processing" has been occasionally used as a reference to the Mega Drive's DMA unit (see Sega Mega Drive/Technical specifications for details). The DMA blitting capabilities of the Mega Drive is comparable to the Amiga, with the Mega Drive being capable of even faster blitting than the Amiga (see Sega Mega Drive/Hardware comparison).

Homebrew programmers in recent years have utilized the fast blitting capabilities of the DMA unit to demonstrate various technical feats on stock Mega Drive hardware (without add-ons or enhancement chips), such as Star Fox demos showcasing 3D polygon graphics[12][13] (also in commercial games such as Star Cruiser, Hard Drivin' and Race Drivin'), Mode 7 style scaling and rotation (such as the Sonic Team Racing demo),[14] an accurate port of Wolfenstein 3D with full ray casting (also in commercial games such as Duke Nukem 3D), software mixing allowing audio playback of multiple high-quality PCM sample channels (such as the Sonic: Next Level demo),[15] and FMV playback[16] (also in commercial games such as Sonic 3D Blast). The Mega Drive's DMA unit is thus sometimes viewed as a "blast processor".

Hardware comparison

See Sega Mega Drive/Hardware comparison (Super NES) for a detailed technical comparison with the SNES
See also Sega Mega Drive/Technical specifications

External links

References


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