Difference between revisions of "Sprite"

From Sega Retro

Line 72: Line 72:
 
|- align=center
 
|- align=center
 
| rowspan="2" | 1983
 
| rowspan="2" | 1983
| [[Sega SG-1000]],<br />[[wikipedia:Texas Instruments TMS9918|TMS9929]] || 32 || 4 || 64 || 8, 16 || 8, 16 || 1, 3  
+
| [[Sega SG-1000]],<br />[[TMS9918]] || 32 || 4 || 64 || 8, 16 || 8, 16 || 1, 3  
 
| {{partial|1, 2× integer}}  
 
| {{partial|1, 2× integer}}  
 
| {{no}}  
 
| {{no}}  

Revision as of 23:19, 13 October 2016

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. 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 texture-mapped 3D polygon itself is essentially a 3D polygon with a sprite texture applied to its surface.

List of Sega systems by sprite capabilities

Sprite Hardware Features
Year 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
1976 Fonz,
arcade hardware
3  3 104 13, 20 28, 48 2 Yes Screen orientation 1 bitmap layer Yes Color key
Heavyweight Champ,
arcade hardware
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
Display list 16 315 8 to 20 8 to 20 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 Sega SG-1000,
TMS9918
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 8 128 8, 16 8, 16 15 1, 2× integer, 1, 2× vertical 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 20 320 8, 16, 24, 32 8, 16, 24, 32 15 1, 2× integer, full screen integer zoom 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
7600 182 1463 8 to 320 8 to 240 15 to 32,768 Yes Yes 2 tile layers Yes Alpha
Sega VDP1 & VDP2
(Saturn, STV)
16,383 455 3640 8 to 504 1 to 255 15 to 32,768 Yes Yes, rotation and 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 795 6361 8 to 1024 1 to 1024 15 to 262,144 Yes Yes, rotation and distortion,
forward texture mapping
Tile and bitmap layers Yes Alpha [46][47]
1998 Dreamcast,
PowerVR CLX2
31,250 1041 8333 8 to 1024 8 to 1024 15 to 16,777,216 Yes Yes, rotation and distortion,
perspective correction
1 bitmap layer Yes Alpha
1998 Sega NAOMI,
PowerVR 2
34,713 1157 9256 8 to 1024 8 to 1024 15 to 16,777,216 Yes Yes, rotation and 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