Difference between revisions of "Sprite"

From Sega Retro

Line 5: Line 5:
 
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.
 
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="wikitable sortable" style="font-size: 87%;"
 
{| class="wikitable sortable" style="font-size: 87%;"
 
|+Sprite Hardware Features
 
|+Sprite Hardware Features
|-
+
!'''Year'''
! '''Year'''
+
!System(s), [[wikia:w:c:gaming:Graphics processing unit|chip(s)]]
! System(s), [[wikia:w:c:gaming:Graphics processing unit|chip(s)]] !! Sprites on screen !! Sprites on [[wikipedia:Scan line|line]] !! Max. [[texel]]s on line !! Texture width !! Texture height !! [[Palette|Colors]] !! [http://www.giantbomb.com/sprite-scaling/3015-7122/ Hardware zoom] !! [[wikipedia:Rotation|Rotation]] !! Background !! [[wikipedia:Collision detection|Collision detection]] !! [[wikipedia:Transparency (graphic)|Transparency]] !! References
+
!Sprites on screen
|- align=center
+
!Sprite tiles on screen
| rowspan="2" | 1976
+
!Sprites on [[wikipedia:Scan_line|line]]
| [[Sega Fonz hardware|Fonz]], <br> [[List of Sega arcade systems|arcade hardware]] || 3 || 3 || 104 || 13, 20 || 28, 48 || 2
+
!Max. [[Texel|texels]] on line
 +
!Texture width
 +
!Texture height
 +
![[Palette|Colors]]
 +
![http://www.giantbomb.com/sprite-scaling/3015-7122/ Hardware zoom]
 +
![[wikipedia:Rotation|Rotation]]
 +
!Background
 +
![[wikipedia:Collision_detection|Collision detection]]
 +
![[wikipedia:Transparency_(graphic)|Transparency]]
 +
!References
 +
|- align="center"
 +
| rowspan="2" |1976
 +
|[[Sega Fonz hardware|Fonz]], <br /> [[List of Sega arcade systems|arcade hardware]]
 +
|3
 +
|3
 +
| 3
 +
|104
 +
|13, 20
 +
|28, 48
 +
|2
 
| {{yes}}
 
| {{yes}}
 
| {{partial|Partial rotation/distortion}}
 
| {{partial|Partial rotation/distortion}}
| 1 [[wikipedia:Bitmap|bitmap]] layer
+
|1 [[wikipedia:Bitmap|bitmap]] 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 || 2 || 2 || 90 || 35 to 45 || 62, 63 || 3
+
|[[Heavyweight Champ (1976)|Heavyweight Champ]], <br /> [[arcade]] hardware
 +
|2
 +
|2
 +
| 2
 +
|90
 +
|35 to 45
 +
|62, 63
 +
|3
 
| {{partial|1, 2× integer}}
 
| {{partial|1, 2× integer}}
 
| {{no}}
 
| {{no}}
| 1 bitmap layer
+
|1 bitmap 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]] ([[Sega]]), <br> arcade hardware || [[wikipedia:Display list|Display list]] || 7 || 112 || 16 || 16 || 3
+
|[[Galaxian-based hardware|Galaxian]] ([[Sega]]), <br /> arcade hardware
 +
|[[wikipedia:Display_list|Display list]]
 +
|
 +
| 7
 +
|112
 +
|16
 +
|16
 +
|3
 
| {{no}}
 
| {{no}}
 
| {{partial|Horizontal and vertical mirroring}}
 
| {{partial|Horizontal and vertical mirroring}}
| 1 [[wikipedia:Tile engine|tile]] layer and 1 bitmap layer
+
|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 || Display list || 6 || 96 || 16 || 16 || 7
+
|[[KO Punch]], <br /> arcade hardware
 +
|Display list
 +
|
 +
|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 || Display list || 32 || 256 || 8, 16 || 8, 16 || 3  
+
|[[Sega G80]],<br />Raster Display Controller
 +
|Display list
 +
|
 +
|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 || 128 || 16 || 322 || 8 to 256 || 8 to 224 || 3, 7  
+
|[[Sega VCO Object]],<br />arcade hardware
 +
|128
 +
|
 +
|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 &amp; 315‑5012]] || 32 || 32 || 512 || 8 to 248 || 8 to 224 || 15  
+
|[[Sega System 1|System 1]] ([[Sega System 1#Prototype|prototype]]) <br /> [[Sega System 1#Specifications|315‑5011 &#x26; 315‑5012]]
 +
|32
 +
|
 +
|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
| [[TMS9918]] <br> ([[SG-1000]], [[SC-3000]]) || 32 || 4 || 64 || 8, 16 || 8, 16 || 1, 3  
+
|[[TMS9918]] <br /> ([[SG-1000]], [[SC-3000]])
 +
|32
 +
|
 +
|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 2|2]], <br> [[Sega System 1#Specifications|315‑5011 &amp; 315‑5012]] || 128 || 32 || 640 || 8 to 256 || 8 to 224 || 15  
+
|[[Sega System 1|System 1]]/[[Sega System 2|2]], <br /> [[Sega System 1#Specifications|315‑5011 &#x26; 315‑5012]]
 +
|128
 +
|
 +
|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 &amp; 315‑5012]] || 128 || 100 || 800 || 8 to 256 || 8 to 256 || 15  
+
|[[Sega Hang-On hardware|Hang‑On]] & [[Sega System 16|System 16]], <br /> [[Sega Hang-On hardware#Technical Specifications|315‑5011 &#x26; 315‑5012]]
 +
|128
 +
|
 +
|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/Technical specifications|Sega VDP]]<br />([[Master System]], [[Sega Game Gear|Game Gear]]) || 64 || 8 || 128 || 8, 16 || 8, 16 || 1, 3, 15  
+
|[[Sega Master System/Technical specifications|Sega VDP]]<br />([[Master System]], [[Sega Game Gear|Game Gear]])
 +
|64
 +
|128
 +
|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]] || 128 || 128 || 1466 || 8 to 512 || 8 to 256 || 15  
+
|[[Sega OutRun]], <br /> [[Sega OutRun#Technical Specifications|315-5211]]
 +
|128
 +
|
 +
|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 || 256 || 256 || 3200 || 8 to 512 || 8 to 256 || 15  
+
|[[X Board]],<br />315-5211A & 315‑5278
 +
|256
 +
|
 +
|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 || 2048 || 164 || 1312 || 8 to 1024 || 8 to 1024 || 15 to 255  
+
|[[System 24]],<br />315-5293 & 315‑5295
 +
|2048
 +
|
 +
|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 || 2176 || 500 || 4000 || 8 to 512 || 8 to 512 || 15 to 511  
+
|[[Y Board]],<br />315-5196 & 315‑5305
 +
|2176
 +
|
 +
|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"
| [[VDP|Yamaha YM7101 VDP]]<br /><small>([[Sega Mega Drive/Technical specifications|Mega Drive]], [[Sega Mega-Tech|Mega‑Tech]], [[Sega Mega-Tech|Mega‑Play]], [[Sega System C|System&nbsp;C]])</small> || 80 || 20 || 320 || 8, 16, 24, 32 || 8, 16, 24, 32 || 15  
+
|[[VDP|Yamaha YM7101 VDP]]<br /><small>([[Sega Mega Drive/Technical specifications|Mega Drive]], [[Sega Mega-Tech|Mega‑Tech]], [[Sega Mega-Tech|Mega‑Play]], [[Sega System C|System&nbsp;C]])</small>
 +
|80
 +
|1280
 +
|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}}  
| 2 tile layers  
+
|2 tile layers
 
| {{Yes}}  
 
| {{Yes}}  
 
| {{yes|[[Sega Mega Drive/Technical specifications|Shadow / Highlight]]}}  
 
| {{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#Technical Specifications|315-5211]] || 128 || 128 || 1600 || 8 to 512 || 8 to 256 || 15  
+
|[[Turbo OutRun]], <br /> [[Sega OutRun#Technical Specifications|315-5211]]
 +
|128
 +
|
 +
|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 || 8192 || 400 || 3200 || 8 to 1024 || 8 to 1024 || 15 to 512  
+
|[[System 32]],<br />315-5387
 +
|8192
 +
|
 +
|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/Technical specifications|315-5548 ASIC]] || 80 || 20 || 320 || 8, 16, 24, 32 || 8, 16, 24, 32 || 15  
+
|[[Sega CD]], <br /> [[Sega Mega-CD/Technical specifications|315-5548 ASIC]]
 +
|80
 +
|
 +
|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/Technical specifications|32X VDP]] || 3800 || 182 || 1463 || 8 to 320 || 8 to 240 || 127 to 32,768
+
|[[Sega 32X]],<br />[[Sega 32X/Technical specifications|32X VDP]]
 +
|3800
 +
|3800
 +
|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 (Saturn)|Hitachi VDP1]]<br />([[Sega Saturn/Technical specifications|Saturn]], [[Sega ST-V|STV]]) || 16,383 || 227 || 1820 || 8 to 504 || 1 to 255 || 15 to 32,768
+
|[[VDP1 (Saturn)|Hitachi VDP1]]<br />([[Sega Saturn/Technical specifications|Saturn]], [[Sega ST-V|STV]])
 +
|16,383
 +
|16,383
 +
|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 <br> (1–5 tile layers, <br> 1–4 bitmap layers)
+
|2–6 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}} <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}}
+
|{{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 || 16,384 || 795 || 6361 || 8 to 1024 || 1 to 1024 || 15 to 262,144
+
|[[Sega H1 Board]], <br /> arcade hardware
 +
|16,384
 +
|16,384
 +
|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/Technical specifications|PowerVR CLX2]] || 31,250 || 1041 || 8333 || 8 to 2048 || 8 to 2048 || 15 to 16,777,216
+
|[[Dreamcast]], <br /> [[Sega Dreamcast/Technical specifications|PowerVR CLX2]]
 +
|31,250
 +
|31,250
 +
|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]] || 34,713 || 1157 || 9256 || 8 to 2048 || 8 to 2048 || 15 to 16,777,216
+
|[[Sega NAOMI]], <br /> [[Sega NAOMI#Technical specifications|PowerVR 2]]
 +
|34,713
 +
|34,713
 +
|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}}
Line 219: Line 399:
 
|- class="sortbottom"
 
|- class="sortbottom"
 
!
 
!
! System(s), chip(s) !! Sprites on screen !! Sprites on line !! Max. texels on line !! Texture width !! Texture height !! Colors !! Hardware zoom !! Rotation !! Background !! Collision detection !! Transparency !! References
+
!System(s), chip(s)
 +
!Sprites on screen
 +
!
 +
!Sprites on line
 +
!Max. texels on line
 +
!Texture width
 +
!Texture height
 +
!Colors
 +
!Hardware zoom
 +
!Rotation
 +
!Background
 +
!Collision detection
 +
!Transparency
 +
!References
 
|}
 
|}
  

Revision as of 11:09, 2 October 2020

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

Sprite Hardware Features
Year System(s), chip(s) Sprites on screen Sprite tiles 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 3  3 104 13, 20 28, 48 2 Yes Partial rotation/distortion 1 bitmap layer Yes Color key
Heavyweight Champ,
arcade hardware
2 2  2 90 35 to 45 62, 63 3 1, 2× integer No 1 bitmap layer Yes Color key [3]
1980 Galaxian (Sega),
arcade hardware
Display list  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
Display list 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
Display list 32 256 8, 16 8, 16 3 Vector Screen orientation 2 tile layers Yes Color key [8][9]
Sega VCO Object,
arcade hardware
128 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 32 512 8 to 248 8 to 224 15 No Horizontal and vertical mirroring 2 tile layers Yes Color key
1983 TMS9918
(SG-1000, SC-3000)
32 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 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 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 128 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 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 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 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 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 1280 20 320 8, 16, 24, 32 8, 16, 24, 32 15 1, 2× integer, full screen Horizontal and vertical mirroring 2 tile layers Yes Shadow / Highlight [32][1]
1989 Turbo OutRun,
315-5211
128 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 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 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 3800 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 16,383 227 1820 8 to 504 1 to 255 15 to 32,768 Yes Yes, rotation/distortion,
forward texture mapping
2–6 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 16,384 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 31,250 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 34,713 1157 9256 8 to 2048 8 to 2048 15 to 16,777,216 Yes Yes, rotation/distortion,
perspective correction
1 bitmap layer Yes Alpha
System(s), chip(s) Sprites on screen Sprites on line Max. texels on line Texture width Texture height Colors Hardware zoom Rotation Background Collision detection Transparency References

References

  1. 1.0 1.1 http://www.polygon.com/features/2015/2/3/7952705/sega-genesis-masami-ishikawa
  2. Sprites and textures
  3. Sega Discrete Logic Hardware (System 16)
  4. https://github.com/mamedev/mame/blob/master/src/mame/drivers/kopunch.cpp
  5. https://github.com/mamedev/mame/blob/master/src/mame/video/kopunch.cpp
  6. Sega Unique Hardware (System 16)
  7. KO Punch (Vizzed)
  8. Sega G80 Hardware Reference (1997-10-25)
  9. htt (Wayback Machine: 2013-01-04 20:21)
  10. https://github.com/mamedev/mame/tree/master/src/mame/drivers/turbo.cpp
  11. https://github.com/mamedev/mame/tree/master/src/mame/includes/turbo.h
  12. https://github.com/mamedev/mame/tree/master/src/mame/video/turbo.cpp
  13. https://github.com/mamedev/mame/blob/master/src/mame/drivers/sg1000a.cpp
  14. https://github.com/mamedev/mame/tree/master/src/mame/video/system1.cpp
  15. Sega Pre-System 16 hardware notes (2004-03-29)
  16. Sega Master System VDP documentation (2002-11-12)
  17. Sega Master System Technical Documentation (1998-06-10)
  18. http://github.com/Aypok/QuAD-SMS-Tilemap-Editor
  19. 19.0 19.1 19.2 Sega "X-Board" hardware notes (2004-12-03)
  20. https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaorun.cpp
  21. htt (Wayback Machine: 2006-06-11 10:51)
  22. http://www.coinop.org/kb_dl.aspx/KB/faqs/faq-sega%20outrun.html
  23. 23.0 23.1 http://imame4all.googlecode.com/svn-history/r146/Reloaded/trunk/src/mame/video/segaic16.c
  24. https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaxbd.cpp
  25. 25.0 25.1 Sega System 24 Hardware Notes (2013-06-16)
  26. https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas24.cpp
  27. htt (Wayback Machine: 2012-10-04 09:02)
  28. https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaybd.cpp
  29. htt (Wayback Machine: 2013-01-04 20:22)
  30. Sega System 16B hardware notes (2003-01-12)
  31. http://reassembler.blogspot.co.uk/2012/11/sega-system-16-sprite-viewer.html
  32. htt (Wayback Machine: 2005-01-22 09:49)
  33. Sega System 32
  34. https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas32.cpp
  35. htt (Wayback Machine: 2013-01-04 20:22)
  36. http://www.shinforce.com/arcade/TechSpecs-Sys32.htm
  37. http://www.gamepilgrimage.com/content/sega-cd
  38. File:ST-013-R3-061694.pdf
  39. File:ST-058-R2-060194.pdf
  40. htt (Wayback Machine: 2013-01-04 20:29)
  41. htt (Wayback Machine: 2013-01-04 20:29)
  42. http://saturn.system11.org/html/saturn_specs.html
  43. htt (Wayback Machine: 2014-01-05 19:00)
  44. https://github.com/mamedev/mame/blob/master/src/mame/drivers/stv.cpp
  45. http://www.oocities.org/stephan_dolby/saturn_capabilities.html
  46. https://github.com/mamedev/mame/blob/master/src/mame/drivers/coolridr.cpp
  47. http://www.google.com/patents/US6141122