Sprite

From Sega Retro

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 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. 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