Difference between revisions of "Sprite"
From Sega Retro
m (Text replacement - "{{multicol| <references /> }}" to "<references />") |
|||
(26 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
In [[Mega Drive]] games, sprites can be no larger than 32x32 [[pixel]]s and use no more than 15 [[Palette|colors]] (plus 1 for transparency), so several sprites are often used by a single [[object]] (for example the Sonic object). The way sprites are arranged together in a single object is called [[sprite mappings]]. It is also possible to zoom sprites up to full screen.{{ref|http://www.polygon.com/features/2015/2/3/7952705/sega-genesis-masami-ishikawa}} | In [[Mega Drive]] games, sprites can be no larger than 32x32 [[pixel]]s and use no more than 15 [[Palette|colors]] (plus 1 for transparency), so several sprites are often used by a single [[object]] (for example the Sonic object). The way sprites are arranged together in a single object is called [[sprite mappings]]. It is also possible to zoom sprites up to full screen.{{ref|http://www.polygon.com/features/2015/2/3/7952705/sega-genesis-masami-ishikawa}} | ||
− | A sprite is essentially a [[wikipedia:Texture mapping|texture]], or textured rectangle.{{ref|[http://www.sfml-dev.org/tutorials/2.0/graphics-sprite.php Sprites and textures]}} Sprites can be used for both two-dimensional gameplay (as flat surfaces) and three-dimensional gameplay (with scaling, rotation and distortion). Sprites could be manipulated to resemble [[wikipedia:Texture mapping|texture-mapped]] 3D polygons, as is the case with several [[Sega]] systems, including the [[Sega Saturn]] console and the [[Sega X Board]], [[Y Board]], [[System 32]], [[ST-V]] and [[Sega H1 Board|H1 Board]] [[List of Sega arcade systems|arcade systems]]. Conversely, a texture-mapped polygon could be manipulated to resemble a 2D sprite (rendering a textured quad polygon as a flat surface), as is the case with the [[Sega Dreamcast]] console and [[Sega NAOMI]] [[arcade]] system | + | A sprite is essentially a [[wikipedia:Texture mapping|texture]], or textured rectangle.{{ref|[http://www.sfml-dev.org/tutorials/2.0/graphics-sprite.php Sprites and textures]}} Sprites can be used for both two-dimensional gameplay (as flat surfaces) and three-dimensional gameplay (with scaling, rotation and distortion). Sprites could be manipulated to resemble [[wikipedia:Texture mapping|texture-mapped]] 3D polygons, as is the case with several [[Sega]] systems, including the [[Sega Saturn]] console and the [[Sega X Board]], [[Y Board]], [[System 32]], [[ST-V]] and [[Sega H1 Board|H1 Board]] [[List of Sega arcade systems|arcade systems]]. A sprite can also be used as a texture that is applied to the surface of a 3D polygon, resulting in a texture-mapped 3D polygon. Conversely, a texture-mapped polygon could be manipulated to resemble a 2D sprite (rendering a textured quad polygon as a flat surface), as is the case with the [[Sega Dreamcast]] console and [[Sega NAOMI]] [[arcade]] system. |
− | ==List of Sega systems by sprite capabilities== | + | == List of Sega systems by sprite capabilities == |
− | {| class=" | + | {| class="wikitable sortable" style="font-size: 87%;" |
− | |+Sprite Hardware Features | + | |+ Sprite Hardware Features |
− | | | + | ! style="text-align:center" | Year |
− | + | ! style="text-align:center" | System(s), [[wikia:w:c:gaming:Graphics processing unit|chip(s)]] | |
− | ! System(s), [[wikia:w:c:gaming:Graphics processing unit|chip(s)]] ! | + | ! style="text-align:center" | Sprites on screen |
− | |- align=center | + | ! style="text-align:center" | Max. [[texel]]s on screen |
− | | rowspan="2" | 1976 | + | ! style="text-align:center" | Sprites on [[wikipedia:Scan line|line]] |
− | | [[Sega Fonz hardware|Fonz]], <br> [[List of Sega arcade systems|arcade hardware]] | + | ! style="text-align:center" | Max. texels on line |
+ | ! style="text-align:center" | Texture width | ||
+ | ! style="text-align:center" | Texture height | ||
+ | ! style="text-align:center" | [[Palette|Colors]] | ||
+ | ! style="text-align:center" | [http://www.giantbomb.com/sprite-scaling/3015-7122/ Hardware zoom] | ||
+ | ! style="text-align:center" | Rotation | ||
+ | ! style="text-align:center" | [[Plane|Background]] | ||
+ | ! style="text-align:center" | [[wikipedia:Collision_detection|Collision detection]] | ||
+ | ! style="text-align:center" | [[wikipedia:Transparency (graphic)|Transparency]] | ||
+ | ! style="text-align:center" | References | ||
+ | |- align="center" | ||
+ | | rowspan="2" |1976 | ||
+ | |[[Sega Fonz hardware|Fonz]], <br /> [[List of Sega arcade systems|arcade hardware]] | ||
+ | |3 | ||
+ | |1688 | ||
+ | |3 | ||
+ | |104 | ||
+ | |13, 20 | ||
+ | |28, 48 | ||
+ | |2 | ||
| {{yes}} | | {{yes}} | ||
− | | {{partial| | + | | {{partial|Partial rotation/distortion}} |
− | | 1 [[wikipedia:Bitmap|bitmap]] layer | + | |1 [[wikipedia:Bitmap|bitmap]] [[Plane|layer]] |
| {{yes}} | | {{yes}} | ||
| {{partial|[[wikipedia:Chroma key|Color key]]}} | | {{partial|[[wikipedia:Chroma key|Color key]]}} | ||
| | | | ||
− | |- align=center | + | |- align="center" |
− | | [[Heavyweight Champ (1976)|Heavyweight Champ]], <br> [[arcade]] hardware | + | |[[Heavyweight Champ (1976)|Heavyweight Champ]], <br /> [[arcade]] hardware |
+ | |2 | ||
+ | |5670 | ||
+ | |2 | ||
+ | |90 | ||
+ | |35 to 45 | ||
+ | |62, 63 | ||
+ | |3 | ||
| {{partial|1, 2× integer}} | | {{partial|1, 2× integer}} | ||
| {{no}} | | {{no}} | ||
− | | 1 bitmap layer | + | |1 bitmap [[Plane|layer]] |
| {{yes}} | | {{yes}} | ||
| {{partial|Color key}} | | {{partial|Color key}} | ||
− | | {{ref|1=[http://www.system16.com/hardware.php?id=683 Sega Discrete Logic Hardware (System 16)]}} | + | |{{ref|1=[http://www.system16.com/hardware.php?id=683 Sega Discrete Logic Hardware (System 16)]}} |
− | |- align=center | + | |- align="center" |
− | | 1980 | + | |1980 |
− | | [[Galaxian-based hardware|Galaxian]] | + | |[[Galaxian-based hardware|Sega Galaxian]], <br /> arcade hardware |
+ | |64 | ||
+ | |16,384 | ||
+ | |7 | ||
+ | |112 | ||
+ | |16 | ||
+ | |16 | ||
+ | |3 | ||
| {{no}} | | {{no}} | ||
| {{partial|Horizontal and vertical mirroring}} | | {{partial|Horizontal and vertical mirroring}} | ||
− | | 1 [[wikipedia: | + | |1 [[wikipedia:Tile_engine|tile]] layer and 1 bitmap layer |
| {{yes}} | | {{yes}} | ||
| {{partial|Color key}} | | {{partial|Color key}} | ||
| | | | ||
− | |- align=center | + | |- align="center" |
− | | rowspan="3" | 1981 | + | | rowspan="3" |1981 |
− | | [[KO Punch]], <br> arcade hardware || | + | |[[KO Punch]], <br /> arcade hardware |
+ | |24 | ||
+ | |6144 | ||
+ | |6 | ||
+ | |96 | ||
+ | |16 | ||
+ | |16 | ||
+ | |7 | ||
| {{partial|1, 2× integer}} | | {{partial|1, 2× integer}} | ||
| {{partial|Horizontal and vertical mirroring}} | | {{partial|Horizontal and vertical mirroring}} | ||
− | | 1 tile layer | + | |1 tile layer |
| {{partial|Mechanical}} | | {{partial|Mechanical}} | ||
| {{partial|Color key}} | | {{partial|Color key}} | ||
|{{ref|https://github.com/mamedev/mame/blob/master/src/mame/drivers/kopunch.cpp}}{{ref|https://github.com/mamedev/mame/blob/master/src/mame/video/kopunch.cpp}}{{ref|1=[http://www.system16.com/hardware.php?id=682 Sega Unique Hardware (System 16)]}}{{ref|[http://www.vizzed.com/games/ko-punch-mame-arcade-50256-game KO Punch (Vizzed)]}} | |{{ref|https://github.com/mamedev/mame/blob/master/src/mame/drivers/kopunch.cpp}}{{ref|https://github.com/mamedev/mame/blob/master/src/mame/video/kopunch.cpp}}{{ref|1=[http://www.system16.com/hardware.php?id=682 Sega Unique Hardware (System 16)]}}{{ref|[http://www.vizzed.com/games/ko-punch-mame-arcade-50256-game KO Punch (Vizzed)]}} | ||
− | |- align=center | + | |- align="center" |
− | | [[Sega G80]],<br />Raster Display Controller || | + | |[[Sega G80]],<br />Raster Display Controller |
+ | |128 | ||
+ | |8192 | ||
+ | |32 | ||
+ | |256 | ||
+ | |8, 16 | ||
+ | |8, 16 | ||
+ | |3 | ||
| {{partial|[[wikipedia:Vector graphics|Vector]]}} || {{partial|Screen orientation}} | | {{partial|[[wikipedia:Vector graphics|Vector]]}} || {{partial|Screen orientation}} | ||
− | | 2 tile layers | + | |2 tile layers |
| {{yes}} | | {{yes}} | ||
| {{partial|Color key}} | | {{partial|Color key}} | ||
|{{intref|Sega G80 Hardware Reference (1997-10-25)}}{{ref|https://web.archive.org/web/20130104202105/mamedev.org/source/src/mame/video/segag80r.c.html}} | |{{intref|Sega G80 Hardware Reference (1997-10-25)}}{{ref|https://web.archive.org/web/20130104202105/mamedev.org/source/src/mame/video/segag80r.c.html}} | ||
− | |- align=center | + | |- align="center" |
− | | [[Sega VCO Object]],<br />arcade hardware | + | |[[Sega VCO Object]],<br />arcade hardware |
+ | |128 | ||
+ | |71,680 | ||
+ | |16 | ||
+ | |322 | ||
+ | |8 to 256 | ||
+ | |8 to 224 | ||
+ | |3, 7 | ||
| {{yes}} | | {{yes}} | ||
| {{partial|Background tile mirroring}} | | {{partial|Background tile mirroring}} | ||
− | | 1 tile layer and 1 bitmap layer | + | |1 tile layer and 1 bitmap layer |
| {{yes}} | | {{yes}} | ||
| {{partial|Color key}} | | {{partial|Color key}} | ||
− | |{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/turbo.cpp}}{{ref|https://github.com/mamedev/mame/tree/master/src/mame/includes/turbo.h}}{{ref|https://github.com/mamedev/mame/tree/master/src/mame/video/turbo.cpp}} | + | |{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/turbo.cpp}}{{ref|https://github.com/mamedev/mame/tree/master/src/mame/includes/turbo.h}}{{ref|https://github.com/mamedev/mame/tree/master/src/mame/video/turbo.cpp}} |
− | |- align=center | + | |- align="center" |
− | | 1982 | + | |1982 |
− | | [[Sega System 1|System 1]] ([[Sega System 1#Prototype|prototype]]) <br> [[Sega System 1#Specifications|315‑5011 & | + | |[[Sega System 1|System 1]] ([[Sega System 1#Prototype|prototype]]) <br /> [[Sega System 1#Specifications|315‑5011 & 315‑5012]] |
+ | |32 | ||
+ | |114,688 | ||
+ | |32 | ||
+ | |512 | ||
+ | |8 to 248 | ||
+ | |8 to 224 | ||
+ | |15 | ||
| {{no}} | | {{no}} | ||
| {{partial|Horizontal and vertical mirroring}} | | {{partial|Horizontal and vertical mirroring}} | ||
− | | 2 tile layers | + | |2 tile layers |
| {{yes}} | | {{yes}} | ||
| {{partial|Color key}} | | {{partial|Color key}} | ||
− | | | + | | |
− | |- align=center | + | |- align="center" |
− | | rowspan="2" | 1983 | + | |rowspan="2" |1983 |
− | | [[ | + | |[[SG-1000]] & [[SC-3000]], <br /> [[TMS9918]] |
+ | |32 | ||
+ | |4096 | ||
+ | |4 | ||
+ | |64 | ||
+ | |8, 16 | ||
+ | |8, 16 | ||
+ | |1, 3 | ||
| {{partial|1, 2× integer}} | | {{partial|1, 2× integer}} | ||
| {{no}} | | {{no}} | ||
− | | 1 tile layer | + | |1 tile layer |
| {{yes}} | | {{yes}} | ||
| {{partial|Color key}} | | {{partial|Color key}} | ||
|{{ref|https://github.com/mamedev/mame/blob/master/src/mame/drivers/sg1000a.cpp}} | |{{ref|https://github.com/mamedev/mame/blob/master/src/mame/drivers/sg1000a.cpp}} | ||
− | |- align=center | + | |- align="center" |
− | | [[Sega System 1|System 1]] | + | |[[Sega System 1|System 1]] & [[Sega System 2|2]], <br /> [[Sega System 1#Specifications|315‑5011 & 315‑5012]] |
+ | |128 | ||
+ | |143,360 | ||
+ | |32 | ||
+ | |640 | ||
+ | |8 to 256 | ||
+ | |8 to 224 | ||
+ | |15 | ||
| {{no}} | | {{no}} | ||
| {{partial|Horizontal and vertical mirroring}} | | {{partial|Horizontal and vertical mirroring}} | ||
− | | 2 tile layers | + | |2 tile layers |
| {{yes}} | | {{yes}} | ||
| {{partial|Color key}} | | {{partial|Color key}} | ||
− | | | + | | |
− | |- align=center | + | |- align="center" |
− | | rowspan="2" | 1985 | + | | rowspan="2" |1985 |
− | | [[Sega Hang-On hardware|Hang‑On]] & [[Sega System 16|System 16]], <br> [[Sega Hang-On hardware#Technical Specifications|315‑5011 & | + | |[[Sega Hang-On hardware|Hang‑On]] & [[Sega System 16|System 16]], <br /> [[Sega Hang-On hardware#Technical Specifications|315‑5011 & 315‑5012]] |
+ | |128 | ||
+ | |209,796 | ||
+ | |100 | ||
+ | |800 | ||
+ | |8 to 256 | ||
+ | |8 to 256 | ||
+ | |15 | ||
| {{yes|Yes}} | | {{yes|Yes}} | ||
| {{partial|Horizontal and vertical mirroring}} | | {{partial|Horizontal and vertical mirroring}} | ||
− | | 2 tile layers and 1 bitmap layer | + | |2 tile layers and 1 bitmap layer |
| {{yes}} | | {{yes}} | ||
| {{yes|[[Sega System 16B hardware notes (2003-01-12)|Shadow / Highlight]]}} | | {{yes|[[Sega System 16B hardware notes (2003-01-12)|Shadow / Highlight]]}} | ||
|{{ref|https://github.com/mamedev/mame/tree/master/src/mame/video/system1.cpp}}{{intref|Sega Pre-System 16 hardware notes (2004-03-29)}} | |{{ref|https://github.com/mamedev/mame/tree/master/src/mame/video/system1.cpp}}{{intref|Sega Pre-System 16 hardware notes (2004-03-29)}} | ||
− | |- align=center | + | |- align="center" |
− | | [[Sega Master System | + | |[[Sega Master System/Technical specifications|Sega VDP]]<br />([[Master System]], [[Sega Game Gear|Game Gear]]) |
+ | |64 | ||
+ | |8192 | ||
+ | |8 | ||
+ | |128 | ||
+ | |8, 16 | ||
+ | |8, 16 | ||
+ | |1, 3, 15 | ||
| {{partial|1, 2× integer, 1, 2× vertical, full screen}} | | {{partial|1, 2× integer, 1, 2× vertical, full screen}} | ||
| {{partial|Background tile mirroring}} | | {{partial|Background tile mirroring}} | ||
− | | 1 tile layer | + | |1 tile layer |
| {{yes}} | | {{yes}} | ||
| {{partial|Color key}} | | {{partial|Color key}} | ||
|{{intref|Sega Master System VDP documentation (2002-11-12)}}{{intref|Sega Master System Technical Documentation (1998-06-10)}}{{ref|http://github.com/Aypok/QuAD-SMS-Tilemap-Editor}} | |{{intref|Sega Master System VDP documentation (2002-11-12)}}{{intref|Sega Master System Technical Documentation (1998-06-10)}}{{ref|http://github.com/Aypok/QuAD-SMS-Tilemap-Editor}} | ||
− | |- align=center | + | |- align="center" |
− | | 1986 | + | |1986 |
− | | [[Sega OutRun]], <br> [[Sega OutRun#Technical Specifications|315-5211]] | + | |[[Sega OutRun]], <br /> [[Sega OutRun hardware#Technical Specifications|315-5211]] |
+ | |128 | ||
+ | |384,267 | ||
+ | |128 | ||
+ | |1466 | ||
+ | |8 to 512 | ||
+ | |8 to 256 | ||
+ | |15 | ||
| {{yes}} | | {{yes}} | ||
| {{partial|Horizontal and vertical mirroring}} | | {{partial|Horizontal and vertical mirroring}} | ||
− | | 2 tile layers and 1 bitmap layer | + | |2 tile layers and 1 bitmap layer |
− | | {{yes}} | + | | {{yes}} |
| {{yes|[[wikipedia:Alpha compositing|Alpha]]}} | | {{yes|[[wikipedia:Alpha compositing|Alpha]]}} | ||
− | |{{intref|Sega "X-Board" hardware notes (2004-12-03)}}{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaorun.cpp}}{{ref|http://web.archive.org/web/20060611105140/emustatus.rainemu.com/games/outrun.htm}} <br> {{ref|http://www.coinop.org/kb_dl.aspx/KB/faqs/faq-sega%20outrun.html}}{{ref|http://imame4all.googlecode.com/svn-history/r146/Reloaded/trunk/src/mame/video/segaic16.c}} | + | |{{intref|Sega "X-Board" hardware notes (2004-12-03)}}{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaorun.cpp}}{{ref|http://web.archive.org/web/20060611105140/emustatus.rainemu.com/games/outrun.htm}} <br /> {{ref|http://www.coinop.org/kb_dl.aspx/KB/faqs/faq-sega%20outrun.html}}{{ref|http://imame4all.googlecode.com/svn-history/r146/Reloaded/trunk/src/mame/video/segaic16.c}} |
− | |- align=center | + | |- align="center" |
− | | 1987 | + | |1987 |
− | | [[X Board]],<br />315-5211A & 315‑5278 | + | |[[X Board]],<br />315-5211A & 315‑5278 |
+ | |256 | ||
+ | |833,333 | ||
+ | |256 | ||
+ | |3200 | ||
+ | |8 to 512 | ||
+ | |8 to 256 | ||
+ | |15 | ||
| {{yes|Yes}} | | {{yes|Yes}} | ||
| {{yes|Yes}} | | {{yes|Yes}} | ||
− | | 4 tile layers and 1 bitmap layer | + | |4 tile layers and 1 bitmap layer |
| {{yes}} | | {{yes}} | ||
| {{yes|Alpha}} | | {{yes|Alpha}} | ||
|{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaxbd.cpp}}{{intref|Sega "X-Board" hardware notes (2004-12-03)}} | |{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaxbd.cpp}}{{intref|Sega "X-Board" hardware notes (2004-12-03)}} | ||
− | |- align=center | + | |- align="center" |
− | | rowspan="3" | 1988 | + | | rowspan="3" |1988 |
− | | [[System 24]],<br />315-5293 & 315‑5295 | + | |[[System 24]],<br />315-5293 & 315‑5295 |
+ | |2048 | ||
+ | |503,808 | ||
+ | |164 | ||
+ | |1312 | ||
+ | |8 to 1024 | ||
+ | |8 to 1024 | ||
+ | |15 to 255 | ||
| {{yes|Yes}} | | {{yes|Yes}} | ||
| {{partial|Horizontal and vertical mirroring}} | | {{partial|Horizontal and vertical mirroring}} | ||
− | | 4 tile layers | + | |4 tile layers |
| {{Yes}} | | {{Yes}} | ||
| {{yes|Alpha}} | | {{yes|Alpha}} | ||
|{{intref|Sega System 24 Hardware Notes (2013-06-16)}}{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas24.cpp}}{{ref|http://web.archive.org/web/20121004090236/mamedev.org/source/src/mame/video/segaic24.c.html}} | |{{intref|Sega System 24 Hardware Notes (2013-06-16)}}{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas24.cpp}}{{ref|http://web.archive.org/web/20121004090236/mamedev.org/source/src/mame/video/segaic24.c.html}} | ||
− | |- align=center | + | |- align="center" |
− | | [[Y Board]],<br />315-5196 & 315‑5305 | + | |[[Y Board]],<br />315-5196 & 315‑5305 |
+ | |2176 | ||
+ | |1,049,476 | ||
+ | |500 | ||
+ | |4000 | ||
+ | |8 to 512 | ||
+ | |8 to 512 | ||
+ | |15 to 511 | ||
| {{yes|Yes}} | | {{yes|Yes}} | ||
| {{yes|Yes}} | | {{yes|Yes}} | ||
− | | 1 bitmap layer | + | |1 bitmap layer |
| {{yes}} | | {{yes}} | ||
| {{yes|Alpha}} | | {{yes|Alpha}} | ||
− | |{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaybd.cpp}}{{ref|http://web.archive.org/web/20130104202220/mamedev.org/source/src/mame/video/segaybd.c.html}}{{intref|Sega "X-Board" hardware notes (2004-12-03)}} <br> {{ref|http://imame4all.googlecode.com/svn-history/r146/Reloaded/trunk/src/mame/video/segaic16.c}}{{intref|Sega System 16B hardware notes (2003-01-12)}}{{ref|http://reassembler.blogspot.co.uk/2012/11/sega-system-16-sprite-viewer.html}} | + | |{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaybd.cpp}}{{ref|http://web.archive.org/web/20130104202220/mamedev.org/source/src/mame/video/segaybd.c.html}}{{intref|Sega "X-Board" hardware notes (2004-12-03)}} <br /> {{ref|http://imame4all.googlecode.com/svn-history/r146/Reloaded/trunk/src/mame/video/segaic16.c}}{{intref|Sega System 16B hardware notes (2003-01-12)}}{{ref|http://reassembler.blogspot.co.uk/2012/11/sega-system-16-sprite-viewer.html}} |
− | |- align=center | + | |- align="center" |
− | | [[ | + | |[[Sega Mega Drive/Technical specifications|Yamaha YM7101]] [[VDP]]<br /><small>([[Mega Drive]], [[Sega Mega-Tech|Mega‑Tech]], [[Sega Mega-Tech|Mega‑Play]], [[Sega System C|System C]])</small> |
+ | |80 | ||
+ | |81,920 | ||
+ | |20 | ||
+ | |320 | ||
+ | |8, 16, 24, 32 | ||
+ | |8, 16, 24, 32 | ||
+ | |15 | ||
| {{partial|1, 2× integer, full screen}} | | {{partial|1, 2× integer, full screen}} | ||
| {{Partial|Horizontal and vertical mirroring}} | | {{Partial|Horizontal and vertical mirroring}} | ||
− | | | + | |3 tile layers (2 scrolling, 1 static) |
| {{Yes}} | | {{Yes}} | ||
− | | {{yes|[[Sega Mega Drive | + | | {{yes|[[Sega Mega Drive/Technical specifications|Shadow / Highlight]]}} |
|{{ref|http://web.archive.org/web/20050122094914/fly.hiwaay.net/~jfrohwei/sega/genesis.html}}{{ref|http://www.polygon.com/features/2015/2/3/7952705/sega-genesis-masami-ishikawa}} | |{{ref|http://web.archive.org/web/20050122094914/fly.hiwaay.net/~jfrohwei/sega/genesis.html}}{{ref|http://www.polygon.com/features/2015/2/3/7952705/sega-genesis-masami-ishikawa}} | ||
− | |- align=center | + | |- align="center" |
− | | 1989 | + | |1989 |
− | | [[Turbo OutRun]], <br> [[Sega OutRun | + | |[[Turbo OutRun]], <br /> [[Sega OutRun hardware|315-5211]] |
+ | |128 | ||
+ | |419,200 | ||
+ | |128 | ||
+ | |1600 | ||
+ | |8 to 512 | ||
+ | |8 to 256 | ||
+ | |15 | ||
| {{yes}} | | {{yes}} | ||
| {{partial|Horizontal and vertical mirroring}} | | {{partial|Horizontal and vertical mirroring}} | ||
− | | 2 tile layers and 1 bitmap layer | + | |2 tile layers and 1 bitmap layer |
| {{yes}} | | {{yes}} | ||
| {{yes|Alpha}} | | {{yes|Alpha}} | ||
− | |- align=center | + | |- align="center" |
− | | 1990 | + | |1990 |
− | | [[System 32]],<br />315-5387 | + | |[[System 32]],<br />315-5387 |
+ | |8192 | ||
+ | |833,333 | ||
+ | |400 | ||
+ | |3200 | ||
+ | |8 to 1024 | ||
+ | |8 to 1024 | ||
+ | |15 to 512 | ||
| {{yes|Yes}} | | {{yes|Yes}} | ||
| {{yes|Yes}} | | {{yes|Yes}} | ||
− | | 4 tile layers and 1 bitmap layer | + | |4 tile layers and 1 bitmap layer |
| {{yes}} | | {{yes}} | ||
| {{yes|[[wikipedia:Alpha blending|Alpha]]}} | | {{yes|[[wikipedia:Alpha blending|Alpha]]}} | ||
− | |{{intref|Sega System 32}}{{intref|Sega System 24 Hardware Notes (2013-06-16)}}{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas32.cpp}} <br> {{ref|http://web.archive.org/web/20130104202207/mamedev.org/source/src/mame/video/segas32.c.html}}{{ref|http://www.shinforce.com/arcade/TechSpecs-Sys32.htm}} | + | |{{intref|Sega System 32}}{{intref|Sega System 24 Hardware Notes (2013-06-16)}}{{ref|https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas32.cpp}} <br /> {{ref|http://web.archive.org/web/20130104202207/mamedev.org/source/src/mame/video/segas32.c.html}}{{ref|http://www.shinforce.com/arcade/TechSpecs-Sys32.htm}} |
− | |- align=center | + | |- align="center" |
− | | 1991 | + | |1991 |
− | | [[Sega CD]], <br> [[Sega Mega-CD | + | |[[Sega CD]], <br /> [[Sega Mega-CD/Technical specifications|315-5548 ASIC]] |
+ | |80 | ||
+ | |81,920 | ||
+ | |20 | ||
+ | |320 | ||
+ | |8, 16, 24, 32 | ||
+ | |8, 16, 24, 32 | ||
+ | |15 | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
− | | 2 tile layers | + | |2 tile layers |
| {{yes}} | | {{yes}} | ||
| {{yes|Shadow / Highlight}} | | {{yes|Shadow / Highlight}} | ||
|{{ref|http://www.gamepilgrimage.com/content/sega-cd}} | |{{ref|http://www.gamepilgrimage.com/content/sega-cd}} | ||
− | |- align=center | + | |- align="center" |
− | | rowspan="2" | 1994 | + | | rowspan="2" |1994 |
− | | [[Sega 32X]],<br />[[Sega 32X | + | |[[Sega 32X]],<br />[[Sega 32X/Technical specifications|32X VDP]] |
+ | |3800 | ||
+ | |243,200 | ||
+ | |182 | ||
+ | |1463 | ||
+ | |8 to 320 | ||
+ | |8 to 240 | ||
+ | |127 to 32,768 | ||
| {{yes}} | | {{yes}} | ||
| {{yes}} | | {{yes}} | ||
− | | 2 tile layers | + | |2 tile layers |
| {{yes}} | | {{yes}} | ||
| {{yes|Alpha}} | | {{yes|Alpha}} | ||
| | | | ||
− | |- align=center | + | |- align="center" |
− | | [[VDP1 | + | |[[VDP1 (Saturn)|Hitachi]] [[VDP1]]<br />([[Sega Saturn/Technical specifications|Saturn]], [[Sega ST-V|STV]]) |
+ | |16,383 | ||
+ | |497,112 | ||
+ | |227 | ||
+ | |1820 | ||
+ | |8 to 504 | ||
+ | |1 to 255 | ||
+ | |15 to 32,768 | ||
| {{yes|Yes}} | | {{yes|Yes}} | ||
| {{yes|Yes, rotation/distortion, <br> [[wikipedia:Texture mapping#Forward texture mapping|forward texture mapping]]}} | | {{yes|Yes, rotation/distortion, <br> [[wikipedia:Texture mapping#Forward texture mapping|forward texture mapping]]}} | ||
− | | 2–6 layers (1–5 tile layers, 1–4 bitmap layers) | + | |2–6 [[VDP2]] layers <br /> (1–5 tile layers, <br /> 1–4 bitmap layers) |
| {{yes}} | | {{yes}} | ||
| {{yes|Alpha}} | | {{yes|Alpha}} | ||
− | |{{fileref|ST-013-R3-061694.pdf}}{{fileref|ST-058-R2-060194.pdf}}{{ref|https://web.archive.org/web/20130104202915/mamedev.org/source/src/mame/video/stvvdp1.c.html}}{{ref|https://web.archive.org/web/20130104202921/mamedev.org/source/src/mame/video/stvvdp2.c.html}} | + | |{{fileref|ST-013-R3-061694.pdf}}{{fileref|ST-058-R2-060194.pdf}}{{ref|https://web.archive.org/web/20130104202915/mamedev.org/source/src/mame/video/stvvdp1.c.html}} <br /> {{ref|https://web.archive.org/web/20130104202921/mamedev.org/source/src/mame/video/stvvdp2.c.html}}{{ref|http://saturn.system11.org/html/saturn_specs.html}}{{ref|https://web.archive.org/web/20140105190013/mamedev.org/source/src/mame/drivers/saturn.c.html}} <br /> {{ref|https://github.com/mamedev/mame/blob/master/src/mame/drivers/stv.cpp}}{{ref|http://www.oocities.org/stephan_dolby/saturn_capabilities.html}} |
− | |- align=center | + | |- align="center" |
− | | 1995 | + | |1995 |
− | | [[Sega H1 Board]], <br> arcade hardware | + | |[[Sega H1 Board]], <br /> arcade hardware |
+ | |16,384 | ||
+ | |1,424,640 | ||
+ | |795 | ||
+ | |6361 | ||
+ | |8 to 1024 | ||
+ | |1 to 1024 | ||
+ | |15 to 262,144 | ||
| {{yes|Yes}} | | {{yes|Yes}} | ||
| {{yes|Yes, rotation/distortion, <br> forward texture mapping}} | | {{yes|Yes, rotation/distortion, <br> forward texture mapping}} | ||
− | | Tile and bitmap layers | + | |Tile and bitmap layers |
| {{yes}} | | {{yes}} | ||
| {{yes|Alpha}} | | {{yes|Alpha}} | ||
|{{ref|https://github.com/mamedev/mame/blob/master/src/mame/drivers/coolridr.cpp}}{{ref|http://www.google.com/patents/US6141122}} | |{{ref|https://github.com/mamedev/mame/blob/master/src/mame/drivers/coolridr.cpp}}{{ref|http://www.google.com/patents/US6141122}} | ||
− | |- align=center | + | |- align="center" |
− | | 1998 | + | |1998 |
− | | [[Dreamcast]], <br> [[Sega Dreamcast | + | |[[Dreamcast]], <br /> [[Sega Dreamcast/Technical specifications|PowerVR CLX2]] |
+ | |31,250 | ||
+ | |2,000,000 | ||
+ | |1041 | ||
+ | |8333 | ||
+ | |8 to 2048 | ||
+ | |8 to 2048 | ||
+ | |15 to 16,777,216 | ||
| {{yes}} | | {{yes}} | ||
| {{yes|Yes, rotation/distortion, <br> [[wikipedia:Texture mapping#Perspective correctness|perspective correction]]}} | | {{yes|Yes, rotation/distortion, <br> [[wikipedia:Texture mapping#Perspective correctness|perspective correction]]}} | ||
− | | 1 bitmap layer | + | |1 bitmap layer |
| {{yes}} | | {{yes}} | ||
| {{yes|Alpha}} | | {{yes|Alpha}} | ||
| | | | ||
− | |- align=center | + | |- align="center" |
− | | 1998 | + | |1998 |
− | | [[Sega NAOMI]], <br> [[Sega NAOMI#Technical specifications|PowerVR 2]] | + | |[[Sega NAOMI]], <br /> [[Sega NAOMI#Technical specifications|PowerVR 2]] |
+ | |34,713 | ||
+ | |3,333,312 | ||
+ | |1157 | ||
+ | |9256 | ||
+ | |8 to 2048 | ||
+ | |8 to 2048 | ||
+ | |15 to 16,777,216 | ||
| {{yes}} | | {{yes}} | ||
| {{yes|Yes, rotation/distortion, <br> perspective correction}} | | {{yes|Yes, rotation/distortion, <br> perspective correction}} | ||
− | | 1 bitmap layer | + | |1 bitmap layer |
| {{yes}} | | {{yes}} | ||
| {{yes|Alpha}} | | {{yes|Alpha}} | ||
| | | | ||
|- class="sortbottom" | |- class="sortbottom" | ||
− | ! | + | ! style="text-align:center" | Year |
− | ! System(s), chip(s) ! | + | ! style="text-align:center" | System(s), chip(s) |
+ | ! style="text-align:center" | Sprites on screen | ||
+ | ! style="text-align:center" | Max. texels on screen | ||
+ | ! style="text-align:center" | Sprites on line | ||
+ | ! style="text-align:center" | Max. texels on line | ||
+ | ! style="text-align:center" | Texture width | ||
+ | ! style="text-align:center" | Texture height | ||
+ | ! style="text-align:center" | Colors | ||
+ | ! style="text-align:center" | Hardware zoom | ||
+ | ! style="text-align:center" | Rotation | ||
+ | ! style="text-align:center" | Background | ||
+ | ! style="text-align:center" | Collision detection | ||
+ | ! style="text-align:center" | Transparency | ||
+ | ! style="text-align:center" | References | ||
|} | |} | ||
==References== | ==References== | ||
− | |||
<references /> | <references /> | ||
− | |||
[[Category:Technical information]] | [[Category:Technical information]] |
Latest revision as of 10:50, 30 December 2023
A sprite is a 2-dimensional movable image that appears on the screen.
In Mega Drive games, sprites can be no larger than 32x32 pixels and use no more than 15 colors (plus 1 for transparency), so several sprites are often used by a single object (for example the Sonic object). The way sprites are arranged together in a single object is called sprite mappings. It is also possible to zoom sprites up to full screen.[1]
A sprite is essentially a texture, or textured rectangle.[2] Sprites can be used for both two-dimensional gameplay (as flat surfaces) and three-dimensional gameplay (with scaling, rotation and distortion). Sprites could be manipulated to resemble texture-mapped 3D polygons, as is the case with several Sega systems, including the Sega Saturn console and the Sega X Board, Y Board, System 32, ST-V and H1 Board arcade systems. A sprite can also be used as a texture that is applied to the surface of a 3D polygon, resulting in a texture-mapped 3D polygon. Conversely, a texture-mapped polygon could be manipulated to resemble a 2D sprite (rendering a textured quad polygon as a flat surface), as is the case with the Sega Dreamcast console and Sega NAOMI arcade system.
List of Sega systems by sprite capabilities
Year | System(s), chip(s) | Sprites on screen | Max. texels on screen | Sprites on line | Max. texels on line | Texture width | Texture height | Colors | Hardware zoom | Rotation | Background | Collision detection | Transparency | References |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1976 | Fonz, arcade hardware |
3 | 1688 | 3 | 104 | 13, 20 | 28, 48 | 2 | Yes | Partial rotation/distortion | 1 bitmap layer | Yes | Color key | |
Heavyweight Champ, arcade hardware |
2 | 5670 | 2 | 90 | 35 to 45 | 62, 63 | 3 | 1, 2× integer | No | 1 bitmap layer | Yes | Color key | [3] | |
1980 | Sega Galaxian, arcade hardware |
64 | 16,384 | 7 | 112 | 16 | 16 | 3 | No | Horizontal and vertical mirroring | 1 tile layer and 1 bitmap layer | Yes | Color key | |
1981 | KO Punch, arcade hardware |
24 | 6144 | 6 | 96 | 16 | 16 | 7 | 1, 2× integer | Horizontal and vertical mirroring | 1 tile layer | Mechanical | Color key | [4][5][6][7] |
Sega G80, Raster Display Controller |
128 | 8192 | 32 | 256 | 8, 16 | 8, 16 | 3 | Vector | Screen orientation | 2 tile layers | Yes | Color key | [8][9] | |
Sega VCO Object, arcade hardware |
128 | 71,680 | 16 | 322 | 8 to 256 | 8 to 224 | 3, 7 | Yes | Background tile mirroring | 1 tile layer and 1 bitmap layer | Yes | Color key | [10][11][12] | |
1982 | System 1 (prototype) 315‑5011 & 315‑5012 |
32 | 114,688 | 32 | 512 | 8 to 248 | 8 to 224 | 15 | No | Horizontal and vertical mirroring | 2 tile layers | Yes | Color key | |
1983 | SG-1000 & SC-3000, TMS9918 |
32 | 4096 | 4 | 64 | 8, 16 | 8, 16 | 1, 3 | 1, 2× integer | No | 1 tile layer | Yes | Color key | [13] |
System 1 & 2, 315‑5011 & 315‑5012 |
128 | 143,360 | 32 | 640 | 8 to 256 | 8 to 224 | 15 | No | Horizontal and vertical mirroring | 2 tile layers | Yes | Color key | ||
1985 | Hang‑On & System 16, 315‑5011 & 315‑5012 |
128 | 209,796 | 100 | 800 | 8 to 256 | 8 to 256 | 15 | Yes | Horizontal and vertical mirroring | 2 tile layers and 1 bitmap layer | Yes | Shadow / Highlight | [14][15] |
Sega VDP (Master System, Game Gear) |
64 | 8192 | 8 | 128 | 8, 16 | 8, 16 | 1, 3, 15 | 1, 2× integer, 1, 2× vertical, full screen | Background tile mirroring | 1 tile layer | Yes | Color key | [16][17][18] | |
1986 | Sega OutRun, 315-5211 |
128 | 384,267 | 128 | 1466 | 8 to 512 | 8 to 256 | 15 | Yes | Horizontal and vertical mirroring | 2 tile layers and 1 bitmap layer | Yes | Alpha | [19][20][21] [22][23] |
1987 | X Board, 315-5211A & 315‑5278 |
256 | 833,333 | 256 | 3200 | 8 to 512 | 8 to 256 | 15 | Yes | Yes | 4 tile layers and 1 bitmap layer | Yes | Alpha | [24][19] |
1988 | System 24, 315-5293 & 315‑5295 |
2048 | 503,808 | 164 | 1312 | 8 to 1024 | 8 to 1024 | 15 to 255 | Yes | Horizontal and vertical mirroring | 4 tile layers | Yes | Alpha | [25][26][27] |
Y Board, 315-5196 & 315‑5305 |
2176 | 1,049,476 | 500 | 4000 | 8 to 512 | 8 to 512 | 15 to 511 | Yes | Yes | 1 bitmap layer | Yes | Alpha | [28][29][19] [23][30][31] | |
Yamaha YM7101 VDP (Mega Drive, Mega‑Tech, Mega‑Play, System C) |
80 | 81,920 | 20 | 320 | 8, 16, 24, 32 | 8, 16, 24, 32 | 15 | 1, 2× integer, full screen | Horizontal and vertical mirroring | 3 tile layers (2 scrolling, 1 static) | Yes | Shadow / Highlight | [32][1] | |
1989 | Turbo OutRun, 315-5211 |
128 | 419,200 | 128 | 1600 | 8 to 512 | 8 to 256 | 15 | Yes | Horizontal and vertical mirroring | 2 tile layers and 1 bitmap layer | Yes | Alpha | |
1990 | System 32, 315-5387 |
8192 | 833,333 | 400 | 3200 | 8 to 1024 | 8 to 1024 | 15 to 512 | Yes | Yes | 4 tile layers and 1 bitmap layer | Yes | Alpha | [33][25][34] [35][36] |
1991 | Sega CD, 315-5548 ASIC |
80 | 81,920 | 20 | 320 | 8, 16, 24, 32 | 8, 16, 24, 32 | 15 | Yes | Yes | 2 tile layers | Yes | Shadow / Highlight | [37] |
1994 | Sega 32X, 32X VDP |
3800 | 243,200 | 182 | 1463 | 8 to 320 | 8 to 240 | 127 to 32,768 | Yes | Yes | 2 tile layers | Yes | Alpha | |
Hitachi VDP1 (Saturn, STV) |
16,383 | 497,112 | 227 | 1820 | 8 to 504 | 1 to 255 | 15 to 32,768 | Yes | Yes, rotation/distortion, forward texture mapping |
2–6 VDP2 layers (1–5 tile layers, 1–4 bitmap layers) |
Yes | Alpha | [38][39][40] [41][42][43] [44][45] | |
1995 | Sega H1 Board, arcade hardware |
16,384 | 1,424,640 | 795 | 6361 | 8 to 1024 | 1 to 1024 | 15 to 262,144 | Yes | Yes, rotation/distortion, forward texture mapping |
Tile and bitmap layers | Yes | Alpha | [46][47] |
1998 | Dreamcast, PowerVR CLX2 |
31,250 | 2,000,000 | 1041 | 8333 | 8 to 2048 | 8 to 2048 | 15 to 16,777,216 | Yes | Yes, rotation/distortion, perspective correction |
1 bitmap layer | Yes | Alpha | |
1998 | Sega NAOMI, PowerVR 2 |
34,713 | 3,333,312 | 1157 | 9256 | 8 to 2048 | 8 to 2048 | 15 to 16,777,216 | Yes | Yes, rotation/distortion, perspective correction |
1 bitmap layer | Yes | Alpha | |
Year | System(s), chip(s) | Sprites on screen | Max. texels on screen | Sprites on line | Max. texels on line | Texture width | Texture height | Colors | Hardware zoom | Rotation | Background | Collision detection | Transparency | References |
References
- ↑ 1.0 1.1 http://www.polygon.com/features/2015/2/3/7952705/sega-genesis-masami-ishikawa
- ↑ Sprites and textures
- ↑ Sega Discrete Logic Hardware (System 16)
- ↑ https://github.com/mamedev/mame/blob/master/src/mame/drivers/kopunch.cpp
- ↑ https://github.com/mamedev/mame/blob/master/src/mame/video/kopunch.cpp
- ↑ Sega Unique Hardware (System 16)
- ↑ KO Punch (Vizzed)
- ↑ Sega G80 Hardware Reference (1997-10-25)
- ↑ htt (Wayback Machine: 2013-01-04 20:21)
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/turbo.cpp
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/includes/turbo.h
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/video/turbo.cpp
- ↑ https://github.com/mamedev/mame/blob/master/src/mame/drivers/sg1000a.cpp
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/video/system1.cpp
- ↑ Sega Pre-System 16 hardware notes (2004-03-29)
- ↑ Sega Master System VDP documentation (2002-11-12)
- ↑ Sega Master System Technical Documentation (1998-06-10)
- ↑ http://github.com/Aypok/QuAD-SMS-Tilemap-Editor
- ↑ 19.0 19.1 19.2 Sega "X-Board" hardware notes (2004-12-03)
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaorun.cpp
- ↑ htt (Wayback Machine: 2006-06-11 10:51)
- ↑ http://www.coinop.org/kb_dl.aspx/KB/faqs/faq-sega%20outrun.html
- ↑ 23.0 23.1 http://imame4all.googlecode.com/svn-history/r146/Reloaded/trunk/src/mame/video/segaic16.c
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaxbd.cpp
- ↑ 25.0 25.1 Sega System 24 Hardware Notes (2013-06-16)
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas24.cpp
- ↑ htt (Wayback Machine: 2012-10-04 09:02)
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaybd.cpp
- ↑ htt (Wayback Machine: 2013-01-04 20:22)
- ↑ Sega System 16B hardware notes (2003-01-12)
- ↑ http://reassembler.blogspot.co.uk/2012/11/sega-system-16-sprite-viewer.html
- ↑ htt (Wayback Machine: 2005-01-22 09:49)
- ↑ Sega System 32
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas32.cpp
- ↑ htt (Wayback Machine: 2013-01-04 20:22)
- ↑ http://www.shinforce.com/arcade/TechSpecs-Sys32.htm
- ↑ http://www.gamepilgrimage.com/content/sega-cd
- ↑ File:ST-013-R3-061694.pdf
- ↑ File:ST-058-R2-060194.pdf
- ↑ htt (Wayback Machine: 2013-01-04 20:29)
- ↑ htt (Wayback Machine: 2013-01-04 20:29)
- ↑ http://saturn.system11.org/html/saturn_specs.html
- ↑ htt (Wayback Machine: 2014-01-05 19:00)
- ↑ https://github.com/mamedev/mame/blob/master/src/mame/drivers/stv.cpp
- ↑ http://www.oocities.org/stephan_dolby/saturn_capabilities.html
- ↑ https://github.com/mamedev/mame/blob/master/src/mame/drivers/coolridr.cpp
- ↑ http://www.google.com/patents/US6141122