Actions

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 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
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 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 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 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 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 Media:ST-013-R3-061694.pdf[38]Media:ST-058-R2-060194.pdf[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/distortion,
forward texture mapping
Tile and bitmap layers Yes Alpha [46][47]
1998 Dreamcast,
PowerVR CLX2
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 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. mamedev.org/source/src/mame/video/segag80r.c.html (archived 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. /emustatus.rainemu.com/games/outrun.htm (archived 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. /mamedev.org/source/src/mame/video/segaic24.c.html (archived 2012-10-04 09:02)
  28. https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaybd.cpp
  29. /mamedev.org/source/src/mame/video/segaybd.c.html (archived 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. /fly.hiwaay.net/~jfrohwei/sega/genesis.html (archived 2005-01-22 09:49)
  33. Sega System 32
  34. https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas32.cpp
  35. /mamedev.org/source/src/mame/video/segas32.c.html (archived 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. mamedev.org/source/src/mame/video/stvvdp1.c.html (archived 2013-01-04 20:29)
  41. mamedev.org/source/src/mame/video/stvvdp2.c.html (archived 2013-01-04 20:29)
  42. http://saturn.system11.org/html/saturn_specs.html
  43. mamedev.org/source/src/mame/drivers/saturn.c.html (archived 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