https://segaretro.org/index.php?title=VDP1_(Saturn)&feed=atom&action=history
VDP1 (Saturn) - Revision history
2024-03-28T13:17:25Z
Revision history for this page on the wiki
MediaWiki 1.33.4
https://segaretro.org/index.php?title=VDP1_(Saturn)&diff=627178&oldid=prev
Hivebrain at 18:26, 2 October 2020
2020-10-02T18:26:29Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 18:26, 2 October 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l18" >Line 18:</td>
<td colspan="2" class="diff-lineno">Line 18:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The VDP1 was based on the [[:Category:Sega Model series|Sega Model series]], with a quad polygon engine based on the [[Model 1]], along with the [[Model 2]]'s [[wikipedia:Texture mapping|textured mapping]] capability. However, the way it maps textures onto quads is different from the Model 2. While the Model 2 maps a texture across multiple polygons, the VDP1 maps a single texture onto a single polygon. This allows the Saturn to render [[sprite]]s and texture-mapped polygons in the same manner.{{fileref|ST-013-R3-061694.pdf}} The VDP1's texture-mapped polygons are thus also similar to the [[Sega System 32]]'s textures.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The VDP1 was based on the [[:Category:Sega Model series|Sega Model series]], with a quad polygon engine based on the [[Model 1]], along with the [[Model 2]]'s [[wikipedia:Texture mapping|textured mapping]] capability. However, the way it maps textures onto quads is different from the Model 2. While the Model 2 maps a texture across multiple polygons, the VDP1 maps a single texture onto a single polygon. This allows the Saturn to render [[sprite]]s and texture-mapped polygons in the same manner.{{fileref|ST-013-R3-061694.pdf}} The VDP1's texture-mapped polygons are thus also similar to the [[Sega System 32]]'s textures.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The VDP1 is capable of drawing more polygons than the Model 1, but less than the Model 2. The VDP1 renders quad polygons, which, despite being used by the most powerful gaming system at the time ([[Sega Model 2]] arcade system), was not industry standard for 3D graphics, compared to the more widely used triangle polygons. The VDP1's quad polygons are drawn with [[wikipedia:Texture mapping#Forward texture mapping|forward texture mapping]] (a form of perspective correction), bilinear approximation (reduces texture warping), and medium polygon accuracy (resulting in seamless polygons).{{ref|<del class="diffchange diffchange-inline">[</del>http://www.shinforce.com/saturn/information/3D-Capabilities.htm <del class="diffchange diffchange-inline">Sega Saturn 3D Capabilities]</del>}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The VDP1 is capable of drawing more polygons than the Model 1, but less than the Model 2. The VDP1 renders quad polygons, which, despite being used by the most powerful gaming system at the time ([[Sega Model 2]] arcade system), was not industry standard for 3D graphics, compared to the more widely used triangle polygons. The VDP1's quad polygons are drawn with [[wikipedia:Texture mapping#Forward texture mapping|forward texture mapping]] (a form of perspective correction), bilinear approximation (reduces texture warping), and medium polygon accuracy (resulting in seamless polygons).{{ref|<ins class="diffchange diffchange-inline">https://web.archive.org/web/20060303164344/</ins>http://www.shinforce.com/saturn/information/3D-Capabilities.htm}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The VDP1 had issues with transparency. The VDP1 supports per-pixel transparency between different polygons/sprites in the VDP1 framebuffer, or between VDP1 and VDP2 layers, but not both at the same time, with the VDP2's transparency overriding the VDP1's transparency. In addition, the VDP1 takes six times longer to draw transparent pixels than opaque pixels.{{fileref|ST-013-R3-061694.pdf|page=110}} There are several ways to overcome the VDP1's transparency issues. The most common method used by Saturn games is to fake transparency with [[wikipedia:Dither|dithering]], using a mesh that gets blended by a television's Composite or S-Video cable. Another method is to use the VDP2's hardware transparency, by using a VDP2 bitmap layer as an additional transparent framebuffer, copying transparent assets from the VDP1 framebuffer to a VDP2 bitmap framebuffer layer (e.g. the transparent polygons in ''[[Burning Rangers]]''). Another method possible is software transparency, programming the CPU with software code, but there are no known games to do so.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The VDP1 had issues with transparency. The VDP1 supports per-pixel transparency between different polygons/sprites in the VDP1 framebuffer, or between VDP1 and VDP2 layers, but not both at the same time, with the VDP2's transparency overriding the VDP1's transparency. In addition, the VDP1 takes six times longer to draw transparent pixels than opaque pixels.{{fileref|ST-013-R3-061694.pdf|page=110}} There are several ways to overcome the VDP1's transparency issues. The most common method used by Saturn games is to fake transparency with [[wikipedia:Dither|dithering]], using a mesh that gets blended by a television's Composite or S-Video cable. Another method is to use the VDP2's hardware transparency, by using a VDP2 bitmap layer as an additional transparent framebuffer, copying transparent assets from the VDP1 framebuffer to a VDP2 bitmap framebuffer layer (e.g. the transparent polygons in ''[[Burning Rangers]]''). Another method possible is software transparency, programming the CPU with software code, but there are no known games to do so.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l52" >Line 52:</td>
<td colspan="2" class="diff-lineno">Line 52:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Colors per [[pixel]]: 32,768 colors (16bpp, 15-bit RGB), 256 colors (8bpp, 8-bit palette)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Colors per [[pixel]]: 32,768 colors (16bpp, 15-bit RGB), 256 colors (8bpp, 8-bit palette)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Features: [[wikipedia:Alpha blending|Alpha blending]], [[wikipedia:Clipping (computer graphics)|clipping]], luminance,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} shadows,{{fileref|ST-TECH.pdf|page=135}} transparency{{fileref|ST-013-R3-061694.pdf|page=34}} (3 alpha levels, or 32 alpha levels using VDP2 palette),{{fileref|ST-TECH.pdf|page=147}} per-pixel transparency{{fileref|ST-013-R3-061694.pdf|page=110}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Features: [[wikipedia:Alpha blending|Alpha blending]], [[wikipedia:Clipping (computer graphics)|clipping]], luminance,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} shadows,{{fileref|ST-TECH.pdf|page=135}} transparency{{fileref|ST-013-R3-061694.pdf|page=34}} (3 alpha levels, or 32 alpha levels using VDP2 palette),{{fileref|ST-TECH.pdf|page=147}} per-pixel transparency{{fileref|ST-013-R3-061694.pdf|page=110}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>:* Polygon capabilities: Texture mapping,{{fileref|ST-013-R3-061694.pdf}} [[wikipedia:Computer graphics lighting|lighting]],{{fileref|ST-238-R1-051795.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} shading, wire‑frame, [[wikipedia:Flat shading|flat shading]], [[wikipedia:Gouraud shading|Gouraud shading]],{{fileref|ST-013-R3-061694.pdf|page=110}}{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} 15-bit color Gouraud shading,{{fileref|ST-013-R3-061694.pdf|page=41}} 15-bit colored lighting, quad polygons, [[wikipedia:Spatial anti-aliasing|edge anti‑aliasing]],{{fileref|ST-013-R3-061694.pdf|page=24}} [[wikipedia:Texture mapping#Forward texture mapping|forward texture mapping]] (form of perspective correction), bilinear approximation (reduces texture warping), medium polygon accuracy (seamless polygons){{ref|<del class="diffchange diffchange-inline">[</del>http://www.shinforce.com/saturn/information/3D-Capabilities.htm <del class="diffchange diffchange-inline">Sega Saturn 3D Capabilities]</del>}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>:* Polygon capabilities: Texture mapping,{{fileref|ST-013-R3-061694.pdf}} [[wikipedia:Computer graphics lighting|lighting]],{{fileref|ST-238-R1-051795.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} shading, wire‑frame, [[wikipedia:Flat shading|flat shading]], [[wikipedia:Gouraud shading|Gouraud shading]],{{fileref|ST-013-R3-061694.pdf|page=110}}{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} 15-bit color Gouraud shading,{{fileref|ST-013-R3-061694.pdf|page=41}} 15-bit colored lighting, quad polygons, [[wikipedia:Spatial anti-aliasing|edge anti‑aliasing]],{{fileref|ST-013-R3-061694.pdf|page=24}} [[wikipedia:Texture mapping#Forward texture mapping|forward texture mapping]] (form of perspective correction), bilinear approximation (reduces texture warping), medium polygon accuracy (seamless polygons){{ref|<ins class="diffchange diffchange-inline">https://web.archive.org/web/20060303164344/</ins>http://www.shinforce.com/saturn/information/3D-Capabilities.htm}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[wikipedia:Framebuffer|Framebuffer]] capabilities: Double buffering, dual 256 KB framebuffers, rotation & scaling,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} VDP1 framebuffer can be rotated as bitmap layer by VDP2{{fileref|ST-058-R2-060194.pdf|page=177}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[wikipedia:Framebuffer|Framebuffer]] capabilities: Double buffering, dual 256 KB framebuffers, rotation & scaling,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} VDP1 framebuffer can be rotated as bitmap layer by VDP2{{fileref|ST-058-R2-060194.pdf|page=177}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Framebuffer [[resolution]]: 512×256, 512×512, 1024×256{{fileref|ST-013-R3-061694.pdf|page=149}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Framebuffer [[resolution]]: 512×256, 512×512, 1024×256{{fileref|ST-013-R3-061694.pdf|page=149}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* [[wikipedia:Overscan|Overscan]] resolution: 1708×263 (NTSC), 1820×313 (PAL), 852×525 (31KC), 848×562 (HDTV){{fileref|ST-013-R3-061694.pdf|page=64}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* [[wikipedia:Overscan|Overscan]] resolution: 1708×263 (NTSC), 1820×313 (PAL), 852×525 (31KC), 848×562 (HDTV){{fileref|ST-013-R3-061694.pdf|page=64}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [[Sprite|Sprite/Texture]] capabilities: Rotation &amp; scaling, flipping, distortion,{{fileref|ST-013-R3-061694.pdf}}{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} warping, vertical and horizontal line scrolling, virtually unlimited [[Palette|color lookup tables]],{{magref|nextgeneration|24|64}}{{ref|<del class="diffchange diffchange-inline">[</del>http://archive.is/cS0uM <del class="diffchange diffchange-inline">Sega Saturn Tech Specs]</del>}} [[Sega System 24|System 24]]/[[Sega System 32|32]] sprite rendering system{{intref|Sega System 24 Hardware Notes (2013-06-16)}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[Sprite|Sprite/Texture]] capabilities: Rotation &amp; scaling, flipping, distortion,{{fileref|ST-013-R3-061694.pdf}}{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} warping, vertical and horizontal line scrolling, virtually unlimited [[Palette|color lookup tables]],{{magref|nextgeneration|24|64}}{{ref|http://archive.is/cS0uM<ins class="diffchange diffchange-inline">|http://www.sega-saturn.com/saturn/other/satspecs.htm</ins>}} [[Sega System 24|System 24]]/[[Sega System 32|32]] sprite rendering system{{intref|Sega System 24 Hardware Notes (2013-06-16)}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Sprite/Texture size: 8×1 to 504×255 [[texel]]s{{fileref|ST-013-R3-061694.pdf|page=119}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Sprite/Texture size: 8×1 to 504×255 [[texel]]s{{fileref|ST-013-R3-061694.pdf|page=119}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Colors per sprite/texture in Lo-Res: 16, 64, 128, 256, and 32,768{{fileref|ST-013-R3-061694.pdf|page=18}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Colors per sprite/texture in Lo-Res: 16, 64, 128, 256, and 32,768{{fileref|ST-013-R3-061694.pdf|page=18}}</div></td></tr>
</table>
Hivebrain
https://segaretro.org/index.php?title=VDP1_(Saturn)&diff=516089&oldid=prev
Black Squirrel: Text replacement - "{{fileref\|NextGeneration US ([1-9][0-9])\.pdf\|page=(.*)}}" to "{{magref|nextgeneration|$1|$2}}"
2019-06-14T16:39:48Z
<p>Text replacement - "{{fileref\|NextGeneration US ([1-9][0-9])\.pdf\|page=(.*)}}" to "{{magref|nextgeneration|$1|$2}}"</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 16:39, 14 June 2019</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l30" >Line 30:</td>
<td colspan="2" class="diff-lineno">Line 30:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{multicol|</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{multicol|</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* VDP1 @ 28.63636 MHz: Handles sprite/texture and polygon drawing,{{fileref|ST-013-R3-061694.pdf}} color calculation and shading,{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}} geometry{{<del class="diffchange diffchange-inline">fileref</del>|<del class="diffchange diffchange-inline">NextGeneration US </del>24<del class="diffchange diffchange-inline">.pdf</del>|<del class="diffchange diffchange-inline">page=</del>64}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* VDP1 @ 28.63636 MHz: Handles sprite/texture and polygon drawing,{{fileref|ST-013-R3-061694.pdf}} color calculation and shading,{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}} geometry{{<ins class="diffchange diffchange-inline">magref|nextgeneration</ins>|24|64}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Versions: Sega 315‑5883 ([[Hitachi]] HD64440) Video Display Processor 1 (VDP1),{{ref|[https://github.com/mamedev/mame/blob/master/src/mame/drivers/saturn.cpp Sega Saturn (MAME)]}} Sega 315‑5689 VDP1{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Versions: Sega 315‑5883 ([[Hitachi]] HD64440) Video Display Processor 1 (VDP1),{{ref|[https://github.com/mamedev/mame/blob/master/src/mame/drivers/saturn.cpp Sega Saturn (MAME)]}} Sega 315‑5689 VDP1{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Adjustable video clock rate: 28.63636 MHz or 26.8465875 MHz (NTSC),{{fileref|ST-013-R3-061694.pdf|page=52}}{{intref|Sega Saturn hardware notes (2004-04-27)}} 28.4375 MHz or 26.8426 MHz (PAL){{fileref|ST-013-R3-061694.pdf|page=52}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Adjustable video clock rate: 28.63636 MHz or 26.8465875 MHz (NTSC),{{fileref|ST-013-R3-061694.pdf|page=52}}{{intref|Sega Saturn hardware notes (2004-04-27)}} 28.4375 MHz or 26.8426 MHz (PAL){{fileref|ST-013-R3-061694.pdf|page=52}}</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l56" >Line 56:</td>
<td colspan="2" class="diff-lineno">Line 56:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Framebuffer [[resolution]]: 512×256, 512×512, 1024×256{{fileref|ST-013-R3-061694.pdf|page=149}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Framebuffer [[resolution]]: 512×256, 512×512, 1024×256{{fileref|ST-013-R3-061694.pdf|page=149}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* [[wikipedia:Overscan|Overscan]] resolution: 1708×263 (NTSC), 1820×313 (PAL), 852×525 (31KC), 848×562 (HDTV){{fileref|ST-013-R3-061694.pdf|page=64}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* [[wikipedia:Overscan|Overscan]] resolution: 1708×263 (NTSC), 1820×313 (PAL), 852×525 (31KC), 848×562 (HDTV){{fileref|ST-013-R3-061694.pdf|page=64}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [[Sprite|Sprite/Texture]] capabilities: Rotation &amp; scaling, flipping, distortion,{{fileref|ST-013-R3-061694.pdf}}{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} warping, vertical and horizontal line scrolling, virtually unlimited [[Palette|color lookup tables]],{{<del class="diffchange diffchange-inline">fileref</del>|<del class="diffchange diffchange-inline">NextGeneration US </del>24<del class="diffchange diffchange-inline">.pdf</del>|<del class="diffchange diffchange-inline">page=</del>64}}{{ref|[http://archive.is/cS0uM Sega Saturn Tech Specs]}} [[Sega System 24|System 24]]/[[Sega System 32|32]] sprite rendering system{{intref|Sega System 24 Hardware Notes (2013-06-16)}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[Sprite|Sprite/Texture]] capabilities: Rotation &amp; scaling, flipping, distortion,{{fileref|ST-013-R3-061694.pdf}}{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} warping, vertical and horizontal line scrolling, virtually unlimited [[Palette|color lookup tables]],{{<ins class="diffchange diffchange-inline">magref|nextgeneration</ins>|24|64}}{{ref|[http://archive.is/cS0uM Sega Saturn Tech Specs]}} [[Sega System 24|System 24]]/[[Sega System 32|32]] sprite rendering system{{intref|Sega System 24 Hardware Notes (2013-06-16)}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Sprite/Texture size: 8×1 to 504×255 [[texel]]s{{fileref|ST-013-R3-061694.pdf|page=119}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Sprite/Texture size: 8×1 to 504×255 [[texel]]s{{fileref|ST-013-R3-061694.pdf|page=119}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Colors per sprite/texture in Lo-Res: 16, 64, 128, 256, and 32,768{{fileref|ST-013-R3-061694.pdf|page=18}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Colors per sprite/texture in Lo-Res: 16, 64, 128, 256, and 32,768{{fileref|ST-013-R3-061694.pdf|page=18}}</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l65" >Line 65:</td>
<td colspan="2" class="diff-lineno">Line 65:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Sprite/Polygon size: 32 [[byte]]s (flat shading),{{fileref|ST-013-R3-061694.pdf|page=40}}{{fileref|ST-013-R3-061694.pdf|page=75}} 40 bytes (Gouraud shading),{{fileref|ST-013-R3-061694.pdf|page=39}} 64–96 bytes (shadows),{{fileref|ST-013-R3-061694.pdf|page=110}} 72–104 bytes (shadows, Gouraud shading)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Sprite/Polygon size: 32 [[byte]]s (flat shading),{{fileref|ST-013-R3-061694.pdf|page=40}}{{fileref|ST-013-R3-061694.pdf|page=75}} 40 bytes (Gouraud shading),{{fileref|ST-013-R3-061694.pdf|page=39}} 64–96 bytes (shadows),{{fileref|ST-013-R3-061694.pdf|page=110}} 72–104 bytes (shadows, Gouraud shading)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Texture size: 4 bytes (8×1 texels, 16 colors) to 251.02 KB (504×255 texels, 32,758 colors){{fileref|ST-013-R3-061694.pdf|page=75}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Texture size: 4 bytes (8×1 texels, 16 colors) to 251.02 KB (504×255 texels, 32,758 colors){{fileref|ST-013-R3-061694.pdf|page=75}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>:* Maximum sprites per frame: 16,383 (virtually unlimited),{{<del class="diffchange diffchange-inline">fileref</del>|<del class="diffchange diffchange-inline">NextGeneration US </del>24<del class="diffchange diffchange-inline">.pdf</del>|<del class="diffchange diffchange-inline">page=</del>64}} 13,106 (Gouraud shading), 5461–8191 (shadows)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>:* Maximum sprites per frame: 16,383 (virtually unlimited),{{<ins class="diffchange diffchange-inline">magref|nextgeneration</ins>|24|64}} 13,106 (Gouraud shading), 5461–8191 (shadows)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Maximum polygons per frame: 16,384 (flat shading), 16,383 (texture mapping), 13,107 (Gouraud shading), 13,106 (texture mapping, Gouraud shading), 8192 (shadows), 8191 (texture mapping, shadows), 7281 (texture mapping, shadows, Gouraud shading)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Maximum polygons per frame: 16,384 (flat shading), 16,383 (texture mapping), 13,107 (Gouraud shading), 13,106 (texture mapping, Gouraud shading), 8192 (shadows), 8191 (texture mapping, shadows), 7281 (texture mapping, shadows, Gouraud shading)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Framebuffer [[fillrate]]: 28.63636 [[Pixel|MPixels/s]] (16bpp),{{ref|1 cycle per [[pixel]]{{fileref|ST-013-R3-061694.pdf|page=52}}{{fileref|ST-013-R3-061694.pdf|page=35}}{{fileref|ST-013-R3-061694.pdf|page=64}}|group=fn}} 35.6465 MPixels/s (8bpp){{ref|28.63636 MPixels/s draw, 14.418 MPixels/s erase/write{{fileref|ST-013-R3-061694.pdf|page=65}}{{fileref|ST-013-R3-061694.pdf|page=61}}|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Framebuffer [[fillrate]]: 28.63636 [[Pixel|MPixels/s]] (16bpp),{{ref|1 cycle per [[pixel]]{{fileref|ST-013-R3-061694.pdf|page=52}}{{fileref|ST-013-R3-061694.pdf|page=35}}{{fileref|ST-013-R3-061694.pdf|page=64}}|group=fn}} 35.6465 MPixels/s (8bpp){{ref|28.63636 MPixels/s draw, 14.418 MPixels/s erase/write{{fileref|ST-013-R3-061694.pdf|page=65}}{{fileref|ST-013-R3-061694.pdf|page=61}}|group=fn}}</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l74" >Line 74:</td>
<td colspan="2" class="diff-lineno">Line 74:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Polygon rendering performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=40}}{{ref|Flat shading: 16 cycles per polygon in 28.63636 MHz texture cache,{{fileref|TUTORIAL.pdf|page=15}} 1 cycle per pixel in 28.63636 MHz framebuffer|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Polygon rendering performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=40}}{{ref|Flat shading: 16 cycles per polygon in 28.63636 MHz texture cache,{{fileref|TUTORIAL.pdf|page=15}} 1 cycle per pixel in 28.63636 MHz framebuffer|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 800,000 polygons/s: Flat shading, 32-[[pixel]] polygons</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 800,000 polygons/s: Flat shading, 32-[[pixel]] polygons</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>:* 500,000 polygons/s: Flat shading,{{magref|sv|24|14}}{{<del class="diffchange diffchange-inline">fileref</del>|<del class="diffchange diffchange-inline">NextGeneration US </del>24<del class="diffchange diffchange-inline">.pdf</del>|<del class="diffchange diffchange-inline">page=</del>64}} 50-pixel polygons</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>:* 500,000 polygons/s: Flat shading,{{magref|sv|24|14}}{{<ins class="diffchange diffchange-inline">magref|nextgeneration</ins>|24|64}} 50-pixel polygons</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 200,000 polygons/s: Gouraud shading, 32-pixel polygons{{ref|57.27272 million parallel bus cycles/sec, 248 cycles overhead per polygon (16 cycles command table fetch,{{fileref|TUTORIAL.pdf|page=15}} 232 cycles Gouraud shading),{{fileref|TUTORIAL.pdf|page=8}} 32 cycles drawing per 32-pixel polygon{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 200,000 polygons/s: Gouraud shading, 32-pixel polygons{{ref|57.27272 million parallel bus cycles/sec, 248 cycles overhead per polygon (16 cycles command table fetch,{{fileref|TUTORIAL.pdf|page=15}} 232 cycles Gouraud shading),{{fileref|TUTORIAL.pdf|page=8}} 32 cycles drawing per 32-pixel polygon{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Texture mapping performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=41}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Texture mapping performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=41}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 300,000 polygons/s: 32-[[texel]] textures{{ref|57.27272 million parallel bus cycles/sec, 171 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 300,000 polygons/s: 32-[[texel]] textures{{ref|57.27272 million parallel bus cycles/sec, 171 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>:* 200,000 polygons/s: 70-texel textures{{ref|200,000 texture-mapped polygons/sec,{{magref|sv|24|14}}{{<del class="diffchange diffchange-inline">fileref</del>|<del class="diffchange diffchange-inline">NextGeneration US </del>24<del class="diffchange diffchange-inline">.pdf</del>|<del class="diffchange diffchange-inline">page=</del>64}} 57.27272 million parallel bus cycles/sec, 285 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>:* 200,000 polygons/s: 70-texel textures{{ref|200,000 texture-mapped polygons/sec,{{magref|sv|24|14}}{{<ins class="diffchange diffchange-inline">magref|nextgeneration</ins>|24|64}} 57.27272 million parallel bus cycles/sec, 285 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 140,000 polygons/s: Gouraud shading, 32-texel textures{{ref|57.27272 million parallel bus cycles/sec, 403 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 140,000 polygons/s: Gouraud shading, 32-texel textures{{ref|57.27272 million parallel bus cycles/sec, 403 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td></tr>
</table>
Black Squirrel
https://segaretro.org/index.php?title=VDP1_(Saturn)&diff=516006&oldid=prev
Black Squirrel: Text replacement - "{{fileref\|SegaVisions US ([1-9][0-9])\.pdf\|page=(.*)}}" to "{{magref|sv|$1|$2}}"
2019-06-14T15:47:57Z
<p>Text replacement - "{{fileref\|SegaVisions US ([1-9][0-9])\.pdf\|page=(.*)}}" to "{{magref|sv|$1|$2}}"</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 15:47, 14 June 2019</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l74" >Line 74:</td>
<td colspan="2" class="diff-lineno">Line 74:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Polygon rendering performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=40}}{{ref|Flat shading: 16 cycles per polygon in 28.63636 MHz texture cache,{{fileref|TUTORIAL.pdf|page=15}} 1 cycle per pixel in 28.63636 MHz framebuffer|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Polygon rendering performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=40}}{{ref|Flat shading: 16 cycles per polygon in 28.63636 MHz texture cache,{{fileref|TUTORIAL.pdf|page=15}} 1 cycle per pixel in 28.63636 MHz framebuffer|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 800,000 polygons/s: Flat shading, 32-[[pixel]] polygons</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 800,000 polygons/s: Flat shading, 32-[[pixel]] polygons</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>:* 500,000 polygons/s: Flat shading,{{<del class="diffchange diffchange-inline">fileref</del>|<del class="diffchange diffchange-inline">SegaVisions US </del>24<del class="diffchange diffchange-inline">.pdf</del>|<del class="diffchange diffchange-inline">page=</del>14}}{{fileref|NextGeneration US 24.pdf|page=64}} 50-pixel polygons</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>:* 500,000 polygons/s: Flat shading,{{<ins class="diffchange diffchange-inline">magref|sv</ins>|24|14}}{{fileref|NextGeneration US 24.pdf|page=64}} 50-pixel polygons</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 200,000 polygons/s: Gouraud shading, 32-pixel polygons{{ref|57.27272 million parallel bus cycles/sec, 248 cycles overhead per polygon (16 cycles command table fetch,{{fileref|TUTORIAL.pdf|page=15}} 232 cycles Gouraud shading),{{fileref|TUTORIAL.pdf|page=8}} 32 cycles drawing per 32-pixel polygon{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 200,000 polygons/s: Gouraud shading, 32-pixel polygons{{ref|57.27272 million parallel bus cycles/sec, 248 cycles overhead per polygon (16 cycles command table fetch,{{fileref|TUTORIAL.pdf|page=15}} 232 cycles Gouraud shading),{{fileref|TUTORIAL.pdf|page=8}} 32 cycles drawing per 32-pixel polygon{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Texture mapping performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=41}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Texture mapping performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=41}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 300,000 polygons/s: 32-[[texel]] textures{{ref|57.27272 million parallel bus cycles/sec, 171 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 300,000 polygons/s: 32-[[texel]] textures{{ref|57.27272 million parallel bus cycles/sec, 171 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>:* 200,000 polygons/s: 70-texel textures{{ref|200,000 texture-mapped polygons/sec,{{<del class="diffchange diffchange-inline">fileref</del>|<del class="diffchange diffchange-inline">SegaVisions US </del>24<del class="diffchange diffchange-inline">.pdf</del>|<del class="diffchange diffchange-inline">page=</del>14}}{{fileref|NextGeneration US 24.pdf|page=64}} 57.27272 million parallel bus cycles/sec, 285 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>:* 200,000 polygons/s: 70-texel textures{{ref|200,000 texture-mapped polygons/sec,{{<ins class="diffchange diffchange-inline">magref|sv</ins>|24|14}}{{fileref|NextGeneration US 24.pdf|page=64}} 57.27272 million parallel bus cycles/sec, 285 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 140,000 polygons/s: Gouraud shading, 32-texel textures{{ref|57.27272 million parallel bus cycles/sec, 403 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* 140,000 polygons/s: Gouraud shading, 32-texel textures{{ref|57.27272 million parallel bus cycles/sec, 403 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td></tr>
</table>
Black Squirrel
https://segaretro.org/index.php?title=VDP1_(Saturn)&diff=505728&oldid=prev
Turbo: /* Errata */
2019-05-24T12:30:01Z
<p><span dir="auto"><span class="autocomment">Errata</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 12:30, 24 May 2019</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l83" >Line 83:</td>
<td colspan="2" class="diff-lineno">Line 83:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Errata==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Errata==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>VDP1 <del class="diffchange diffchange-inline">half</del>-transparency <del class="diffchange diffchange-inline">rendering feature causes strips of pixels to be rewritten to </del>framebuffer <del class="diffchange diffchange-inline">for all 3D primitives like: Polyline</del>(<del class="diffchange diffchange-inline">only </del>in <del class="diffchange diffchange-inline">corners</del>), <del class="diffchange diffchange-inline">Polygon </del>and <del class="diffchange diffchange-inline">Distorted sprite, applying the transparency effect multiple times. It can be seen in </del>a <del class="diffchange diffchange-inline">multitude </del>of <del class="diffchange diffchange-inline">commercial </del>games <del class="diffchange diffchange-inline">(Two examples: </del>''[[<del class="diffchange diffchange-inline">FIFA Road </del>to <del class="diffchange diffchange-inline">World Cup 98 (</del>Saturn<del class="diffchange diffchange-inline">)</del>|<del class="diffchange diffchange-inline">FIFA Road to World Cup 98</del>]]'<del class="diffchange diffchange-inline">': Glass wall </del>in <del class="diffchange diffchange-inline">indoor stadium, </del>''[[<del class="diffchange diffchange-inline">Lupin the 3rd: Pyramid no Kenja</del>]]''<del class="diffchange diffchange-inline">: enemies shadows and radar range</del>.<del class="diffchange diffchange-inline">)</del>.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">The </ins>VDP1 <ins class="diffchange diffchange-inline">supports per</ins>-<ins class="diffchange diffchange-inline">pixel </ins>transparency <ins class="diffchange diffchange-inline">(0% mask / 50% half / 100% opaque) between different polygons/sprites in the VDP1 </ins>framebuffer (<ins class="diffchange diffchange-inline">such as shadows and a lot of particle effects </ins>in <ins class="diffchange diffchange-inline">''[[Loaded]]''</ins>), <ins class="diffchange diffchange-inline">or between (at 4 to 32 levels of ratio transparency) VDP1 </ins>and <ins class="diffchange diffchange-inline">VDP2 layers (including </ins>a <ins class="diffchange diffchange-inline">lot </ins>of <ins class="diffchange diffchange-inline">effects in </ins>games <ins class="diffchange diffchange-inline">such as ''[[Silhouette Mirage]]'' and </ins>''[[<ins class="diffchange diffchange-inline">Guardian Heroes]]''), but not both at the same time, with the VDP2's transparency overriding the VDP1's transparency. There are several ways </ins>to <ins class="diffchange diffchange-inline">overcome this issue. The most common method used by </ins>Saturn <ins class="diffchange diffchange-inline">games is to fake transparency with [[wikipedia:Dither</ins>|<ins class="diffchange diffchange-inline">dithering</ins>]]<ins class="diffchange diffchange-inline">, using a mesh that gets blended by a television</ins>'<ins class="diffchange diffchange-inline">s Composite or S-Video cable. Another method is using a VDP2 bitmap layer as an additional transparent framebuffer, copying transparent assets from the VDP1 framebuffer to a VDP2 bitmap framebuffer layer (e.g. the transparent polygons </ins>in ''[[<ins class="diffchange diffchange-inline">Burning Rangers</ins>]]''<ins class="diffchange diffchange-inline">)</ins>. <ins class="diffchange diffchange-inline">Another method possible is some type of software transparency approach, programming the CPU with software code, but there are no known games to do it</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">The </del>VDP1 <del class="diffchange diffchange-inline">supports per</del>-<del class="diffchange diffchange-inline">pixel transparency(0% mask / 50% half / 100% opaque) between different polygons/sprites </del>in <del class="diffchange diffchange-inline">the VDP1 framebuffer (''[[Loaded]]'': Shadows and a lot of effects particles)</del>, <del class="diffchange diffchange-inline">or between(at 4 to 32 levels </del>of <del class="diffchange diffchange-inline">ratio </del>transparency<del class="diffchange diffchange-inline">) </del>VDP1 <del class="diffchange diffchange-inline">and VDP2 layers (''[[Silhouette_Mirage]]'' and ''[[Guardian Heroes]]'': A lot of effects), but not both at the same time</del>, <del class="diffchange diffchange-inline">with </del>the VDP2's transparency <del class="diffchange diffchange-inline">overriding the VDP1's transparency</del>. <del class="diffchange diffchange-inline">There are several ways to overcome </del>this <del class="diffchange diffchange-inline">issue. The most common method used by Saturn games is to fake transparency with [[wikipedia:Dither|dithering]], using a mesh that gets blended by a television</del>'<del class="diffchange diffchange-inline">s Composite or S</del>-<del class="diffchange diffchange-inline">Video cable. Another method is using a VDP2 bitmap layer as an additional transparent framebuffer</del>, <del class="diffchange diffchange-inline">copying transparent assets from </del>the <del class="diffchange diffchange-inline">VDP1 framebuffer to a VDP2 bitmap framebuffer layer (e.g. the transparent polygons in ''[[Burning Rangers]]''). Another method possible is some type </del>of <del class="diffchange diffchange-inline">approach software transparency, programming </del>the <del class="diffchange diffchange-inline">CPU with software code, but there are no known games to do it</del>.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">Another issue is that the </ins>VDP1 <ins class="diffchange diffchange-inline">can take up to six times longer to draw translucent pixels than opaque pixels.{{fileref|ST</ins>-<ins class="diffchange diffchange-inline">013-R3-061694.pdf|page=110}} The VDP2, </ins>in <ins class="diffchange diffchange-inline">comparison</ins>, <ins class="diffchange diffchange-inline">has no have penalty with use </ins>of transparency<ins class="diffchange diffchange-inline">. The </ins>VDP1 <ins class="diffchange diffchange-inline">can overcome its transparency performance issue by drawing paletted sprites/polygons</ins>, <ins class="diffchange diffchange-inline">which use </ins>the VDP2's <ins class="diffchange diffchange-inline">palette and </ins>transparency<ins class="diffchange diffchange-inline">, without affecting performance</ins>. <ins class="diffchange diffchange-inline">However, </ins>this <ins class="diffchange diffchange-inline">wouldn</ins>'<ins class="diffchange diffchange-inline">t allow multi</ins>-<ins class="diffchange diffchange-inline">layered transparency between sprites/polygons</ins>, <ins class="diffchange diffchange-inline">which would require </ins>the <ins class="diffchange diffchange-inline">use </ins>of the <ins class="diffchange diffchange-inline">methods mentioned above</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Another issue is that the </del>VDP1 <del class="diffchange diffchange-inline">can takes at six times longer </del>to <del class="diffchange diffchange-inline">draw translucent pixels than opaque pixels.{{fileref|ST-013-R3-061694.pdf|page=110}} The VDP2</del>, in <del class="diffchange diffchange-inline">comparison</del>, <del class="diffchange diffchange-inline">has no have penalty with use of transparency. The VDP1 can overcome its transparency performance issue by drawing paletted sprites/</del>polygons, <del class="diffchange diffchange-inline">which use the VDP2's palette </del>and <del class="diffchange diffchange-inline">transparency, without affecting performance. However, this wouldn't allow multi-layered transparency between </del>sprites<del class="diffchange diffchange-inline">/polygons</del>, <del class="diffchange diffchange-inline">which would require </del>the <del class="diffchange diffchange-inline">use </del>of the <del class="diffchange diffchange-inline">methods mentioned above</del>.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">The </ins>VDP1<ins class="diffchange diffchange-inline">'s half-transparency rendering feature also causes strips of pixels to be rewritten </ins>to <ins class="diffchange diffchange-inline">the framebuffer for all 3D primitives</ins>, <ins class="diffchange diffchange-inline">including polylines (only </ins>in <ins class="diffchange diffchange-inline">corners)</ins>, polygons, and <ins class="diffchange diffchange-inline">distorted </ins>sprites, <ins class="diffchange diffchange-inline">applying </ins>the <ins class="diffchange diffchange-inline">transparency effect multiple times. It can be seen in a number </ins>of <ins class="diffchange diffchange-inline">commercial games. Two examples include ''[[FIFA Road to World Cup 98 (Saturn)|FIFA Road to World Cup 98]]'' (glass wall in indoor stadium) and ''[[Lupin </ins>the <ins class="diffchange diffchange-inline">3rd: Pyramid no Kenja]]'' (enemies shadows and radar range)</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Foototes==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Foototes==</div></td></tr>
</table>
Turbo
https://segaretro.org/index.php?title=VDP1_(Saturn)&diff=505726&oldid=prev
Turbo: /* Technical specifications */
2019-05-24T12:22:46Z
<p><span dir="auto"><span class="autocomment">Technical specifications</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 12:22, 24 May 2019</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l27" >Line 27:</td>
<td colspan="2" class="diff-lineno">Line 27:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Technical specifications==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Technical specifications==</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">:''See also [[Sega Saturn/Technical specifications]]''</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{multicol|</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{multicol|</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* VDP1 @ 28.63636 MHz: Handles sprite/texture and polygon drawing,{{fileref|ST-013-R3-061694.pdf}} color calculation and shading,{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}} geometry{{fileref|NextGeneration US 24.pdf|page=64}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* VDP1 @ 28.63636 MHz: Handles sprite/texture and polygon drawing,{{fileref|ST-013-R3-061694.pdf}} color calculation and shading,{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}} geometry{{fileref|NextGeneration US 24.pdf|page=64}}</div></td></tr>
</table>
Turbo
https://segaretro.org/index.php?title=VDP1_(Saturn)&diff=479104&oldid=prev
Black Squirrel: /* Foototes */
2019-01-27T12:23:14Z
<p><span dir="auto"><span class="autocomment">Foototes</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 12:23, 27 January 2019</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l91" >Line 91:</td>
<td colspan="2" class="diff-lineno">Line 91:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><references group="fn"/></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><references group="fn"/></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">==Documentation==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><gallery></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">ST-013-R3-061694.pdf|User's Manual (ST-013-R3-061694)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">ST-013-SP1-052794.pdf|User's Manual Supplement (ST-013-SP1-052794)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></gallery></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td></tr>
</table>
Black Squirrel
https://segaretro.org/index.php?title=VDP1_(Saturn)&diff=459925&oldid=prev
Turbo: /* Technical specifications */
2018-10-17T04:52:08Z
<p><span dir="auto"><span class="autocomment">Technical specifications</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 04:52, 17 October 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l54" >Line 54:</td>
<td colspan="2" class="diff-lineno">Line 54:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Framebuffer [[resolution]]: 512×256, 512×512, 1024×256{{fileref|ST-013-R3-061694.pdf|page=149}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Framebuffer [[resolution]]: 512×256, 512×512, 1024×256{{fileref|ST-013-R3-061694.pdf|page=149}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* [[wikipedia:Overscan|Overscan]] resolution: 1708×263 (NTSC), 1820×313 (PAL), 852×525 (31KC), 848×562 (HDTV){{fileref|ST-013-R3-061694.pdf|page=64}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* [[wikipedia:Overscan|Overscan]] resolution: 1708×263 (NTSC), 1820×313 (PAL), 852×525 (31KC), 848×562 (HDTV){{fileref|ST-013-R3-061694.pdf|page=64}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [[Sprite|Sprite/Texture]] capabilities: Rotation &amp; scaling, flipping, distortion,{{fileref|ST-013-R3-061694.pdf}}{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} warping, vertical and horizontal line scrolling, virtually unlimited [[Palette|color lookup tables]],{{fileref|NextGeneration US 24.pdf|page=64}}{{ref|[http://<del class="diffchange diffchange-inline">www</del>.<del class="diffchange diffchange-inline">sega-saturn.com/saturn/other</del>/<del class="diffchange diffchange-inline">satspecs.htm </del>Sega Saturn Tech Specs]}} [[Sega System 24|System 24]]/[[Sega System 32|32]] sprite rendering system{{intref|Sega System 24 Hardware Notes (2013-06-16)}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[Sprite|Sprite/Texture]] capabilities: Rotation &amp; scaling, flipping, distortion,{{fileref|ST-013-R3-061694.pdf}}{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} warping, vertical and horizontal line scrolling, virtually unlimited [[Palette|color lookup tables]],{{fileref|NextGeneration US 24.pdf|page=64}}{{ref|[http://<ins class="diffchange diffchange-inline">archive</ins>.<ins class="diffchange diffchange-inline">is</ins>/<ins class="diffchange diffchange-inline">cS0uM </ins>Sega Saturn Tech Specs]}} [[Sega System 24|System 24]]/[[Sega System 32|32]] sprite rendering system{{intref|Sega System 24 Hardware Notes (2013-06-16)}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Sprite/Texture size: 8×1 to 504×255 [[texel]]s{{fileref|ST-013-R3-061694.pdf|page=119}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Sprite/Texture size: 8×1 to 504×255 [[texel]]s{{fileref|ST-013-R3-061694.pdf|page=119}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Colors per sprite/texture in Lo-Res: 16, 64, 128, 256, and 32,768{{fileref|ST-013-R3-061694.pdf|page=18}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Colors per sprite/texture in Lo-Res: 16, 64, 128, 256, and 32,768{{fileref|ST-013-R3-061694.pdf|page=18}}</div></td></tr>
</table>
Turbo
https://segaretro.org/index.php?title=VDP1_(Saturn)&diff=459924&oldid=prev
Turbo: /* Technical specifications */
2018-10-17T04:49:58Z
<p><span dir="auto"><span class="autocomment">Technical specifications</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 04:49, 17 October 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l50" >Line 50:</td>
<td colspan="2" class="diff-lineno">Line 50:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Colors per [[pixel]]: 32,768 colors (16bpp, 15-bit RGB), 256 colors (8bpp, 8-bit palette)</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Colors per [[pixel]]: 32,768 colors (16bpp, 15-bit RGB), 256 colors (8bpp, 8-bit palette)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Features: [[wikipedia:Alpha blending|Alpha blending]], [[wikipedia:Clipping (computer graphics)|clipping]], luminance,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} shadows,{{fileref|ST-TECH.pdf|page=135}} transparency{{fileref|ST-013-R3-061694.pdf|page=34}} (3 alpha levels, or 32 alpha levels using VDP2 palette),{{fileref|ST-TECH.pdf|page=147}} per-pixel transparency{{fileref|ST-013-R3-061694.pdf|page=110}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Features: [[wikipedia:Alpha blending|Alpha blending]], [[wikipedia:Clipping (computer graphics)|clipping]], luminance,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} shadows,{{fileref|ST-TECH.pdf|page=135}} transparency{{fileref|ST-013-R3-061694.pdf|page=34}} (3 alpha levels, or 32 alpha levels using VDP2 palette),{{fileref|ST-TECH.pdf|page=147}} per-pixel transparency{{fileref|ST-013-R3-061694.pdf|page=110}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>:* Polygon capabilities: Texture mapping,{{fileref|ST-013-R3-061694.pdf}} [[wikipedia:Computer graphics lighting|lighting]],{{fileref|ST-238-R1-051795.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} shading, wire‑frame, [[wikipedia:Flat shading|flat shading]], [[wikipedia:Gouraud shading|Gouraud shading]],{{fileref|ST-013-R3-061694.pdf|page=110}}{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} 15-bit color Gouraud shading,{{<del class="diffchange diffchange-inline">ref</del>|ST-013-R3-061694.pdf|page=41}} 15-bit colored lighting, quad polygons, [[wikipedia:Spatial anti-aliasing|edge anti‑aliasing]],{{fileref|ST-013-R3-061694.pdf|page=24}} [[wikipedia:Texture mapping#Forward texture mapping|forward texture mapping]] (form of perspective correction), bilinear approximation (reduces texture warping), medium polygon accuracy (seamless polygons){{ref|[http://www.shinforce.com/saturn/information/3D-Capabilities.htm Sega Saturn 3D Capabilities]}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>:* Polygon capabilities: Texture mapping,{{fileref|ST-013-R3-061694.pdf}} [[wikipedia:Computer graphics lighting|lighting]],{{fileref|ST-238-R1-051795.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} shading, wire‑frame, [[wikipedia:Flat shading|flat shading]], [[wikipedia:Gouraud shading|Gouraud shading]],{{fileref|ST-013-R3-061694.pdf|page=110}}{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} 15-bit color Gouraud shading,{{<ins class="diffchange diffchange-inline">fileref</ins>|ST-013-R3-061694.pdf|page=41}} 15-bit colored lighting, quad polygons, [[wikipedia:Spatial anti-aliasing|edge anti‑aliasing]],{{fileref|ST-013-R3-061694.pdf|page=24}} [[wikipedia:Texture mapping#Forward texture mapping|forward texture mapping]] (form of perspective correction), bilinear approximation (reduces texture warping), medium polygon accuracy (seamless polygons){{ref|[http://www.shinforce.com/saturn/information/3D-Capabilities.htm Sega Saturn 3D Capabilities]}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[wikipedia:Framebuffer|Framebuffer]] capabilities: Double buffering, dual 256 KB framebuffers, rotation & scaling,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} VDP1 framebuffer can be rotated as bitmap layer by VDP2{{fileref|ST-058-R2-060194.pdf|page=177}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[wikipedia:Framebuffer|Framebuffer]] capabilities: Double buffering, dual 256 KB framebuffers, rotation & scaling,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} VDP1 framebuffer can be rotated as bitmap layer by VDP2{{fileref|ST-058-R2-060194.pdf|page=177}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Framebuffer [[resolution]]: 512×256, 512×512, 1024×256{{fileref|ST-013-R3-061694.pdf|page=149}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:* Framebuffer [[resolution]]: 512×256, 512×512, 1024×256{{fileref|ST-013-R3-061694.pdf|page=149}}</div></td></tr>
</table>
Turbo
https://segaretro.org/index.php?title=VDP1_(Saturn)&diff=459923&oldid=prev
Turbo: /* Technical specifications */
2018-10-17T04:49:25Z
<p><span dir="auto"><span class="autocomment">Technical specifications</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 04:49, 17 October 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l29" >Line 29:</td>
<td colspan="2" class="diff-lineno">Line 29:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{multicol|</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{multicol|</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* VDP1 @ 28.63636 MHz: Handles sprite/texture and polygon drawing,{{fileref|ST-013-R3-061694.pdf}} color calculation and shading,{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}} geometry{{fileref|NextGeneration US 24.pdf|page=64}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* VDP1 @ 28.63636 MHz: Handles sprite/texture and polygon drawing,{{fileref|ST-013-R3-061694.pdf}} color calculation and shading,{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}} geometry{{fileref|NextGeneration US 24.pdf|page=64}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Versions: Sega 315‑5883 ([[Hitachi]] HD64440) Video Display Processor 1 (VDP1),{{ref|[https://github.com/mamedev/mame/blob/master/src/mame/drivers/saturn.cpp Sega Saturn (MAME)]}} Sega 315‑5689 VDP1{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Versions: Sega 315‑5883 ([[Hitachi]] HD64440) Video Display Processor 1 (VDP1),{{ref|[https://github.com/mamedev/mame/blob/master/src/mame/drivers/saturn.cpp Sega Saturn (MAME)]}} Sega 315‑5689 VDP1{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Adjustable video clock rate: 28.63636 MHz or 26.8465875 MHz (NTSC),{{fileref|ST-013-R3-061694.pdf|page=52}}{{intref|Sega Saturn hardware notes (2004-04-27)}} 28.4375 MHz or 26.8426 MHz (PAL){{fileref|ST-013-R3-061694.pdf|page=52}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Adjustable video clock rate: 28.63636 MHz or 26.8465875 MHz (NTSC),{{fileref|ST-013-R3-061694.pdf|page=52}}{{intref|Sega Saturn hardware notes (2004-04-27)}} 28.4375 MHz or 26.8426 MHz (PAL){{fileref|ST-013-R3-061694.pdf|page=52}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Parallel bus structure: 3 parallel data buses (dual framebuffers, texture cache), 48-bit bus width (16-bit per bus),{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf|page=34}} 171.8184 MB/s bandwidth{{ref|57.27272 MB/s per bus|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Parallel bus structure: 3 parallel data buses (dual framebuffers, texture cache), 48-bit bus width (16-bit per bus),{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf|page=34}} 171.8184 MB/s bandwidth{{ref|57.27272 MB/s per bus|group=fn}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Parallel bus cycles: 85.90908 million bus cycles/sec{{ref|28.63636 MHz texture cache VRAM, 28.63636 MHz draw/render framebuffer, 28.63636 MHz display/erase framebuffer{{fileref|ST-013-R3-061694.pdf|page=6}}|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Parallel bus cycles: 85.90908 million bus cycles/sec{{ref|28.63636 MHz texture cache VRAM, 28.63636 MHz draw/render framebuffer, 28.63636 MHz display/erase framebuffer{{fileref|ST-013-R3-061694.pdf|page=6}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Rendering engine for primitives: textured and untextured polygons, untextured polylines and lines</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Rendering engine for primitives: textured and untextured polygons, untextured polylines and lines</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Sprites are textured polygons with specific rendering modes:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Sprites are textured polygons with specific rendering modes:</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Normal sprite (one point), shrunk/scaled sprite (two points), quadrangle (four points)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Normal sprite (one point), shrunk/scaled sprite (two points), quadrangle (four points)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Other rendering modes:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Other rendering modes:</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Overwrite (replace framebuffer contents)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Overwrite (replace framebuffer contents)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Shadow (underlying framebuffer pixels rewritten with 1/2 brightness, primitive not drawn)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Shadow (underlying framebuffer pixels rewritten with 1/2 brightness, primitive not drawn)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Half luminosity (primitive rendered with 1/2 brightness)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Half luminosity (primitive rendered with 1/2 brightness)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Half transparency (primitive and underlying framebuffer pixels averaged together)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Half transparency (primitive and underlying framebuffer pixels averaged together)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* [[Gouraud shading]] for RGB-format textures only</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* [[Gouraud shading]] for RGB-format textures only</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Dual 256 KB frame buffers</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Dual 256 KB frame buffers</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Programmable frame buffer depth of 8 or 16 bits per pixel</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Programmable frame buffer depth of 8 or 16 bits per pixel</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Automatic erase feature to clear framebuffer with single color</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Automatic erase feature to clear framebuffer with single color</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* 60 frames of animation per second</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* 60 frames of animation per second</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Color [[palette]]: 32,768 colors (15-bit RGB) to 16,777,216 (24-bit [[VDP2]] CRAM palette, accessible by VDP1){{fileref|TUTORIAL.pdf|page=11}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Color [[palette]]: 32,768 colors (15-bit RGB) to 16,777,216 (24-bit [[VDP2]] CRAM palette, accessible by VDP1){{fileref|TUTORIAL.pdf|page=11}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Colors on screen: 32,768 colors (15-bit RGB) to 1,048,576 colors (15-bit RGB, 32 transparency levels using VDP2 palette){{fileref|ST-TECH.pdf|page=147}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Colors on screen: 32,768 colors (15-bit RGB) to 1,048,576 colors (15-bit RGB, 32 transparency levels using VDP2 palette){{fileref|ST-TECH.pdf|page=147}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Colors per [[pixel]]: 32,768 colors (16bpp, 15-bit RGB), 256 colors (8bpp, 8-bit palette)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Colors per [[pixel]]: 32,768 colors (16bpp, 15-bit RGB), 256 colors (8bpp, 8-bit palette)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Features: [[wikipedia:Alpha blending|Alpha blending]], [[wikipedia:Clipping (computer graphics)|clipping]], luminance,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} shadows,{{fileref|ST-TECH.pdf|page=135}} transparency{{fileref|ST-013-R3-061694.pdf|page=34}} (3 alpha levels, or 32 alpha levels using VDP2 palette),{{fileref|ST-TECH.pdf|page=147}} per-pixel transparency{{fileref|ST-013-R3-061694.pdf|page=110}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Features: [[wikipedia:Alpha blending|Alpha blending]], [[wikipedia:Clipping (computer graphics)|clipping]], luminance,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} shadows,{{fileref|ST-TECH.pdf|page=135}} transparency{{fileref|ST-013-R3-061694.pdf|page=34}} (3 alpha levels, or 32 alpha levels using VDP2 palette),{{fileref|ST-TECH.pdf|page=147}} per-pixel transparency{{fileref|ST-013-R3-061694.pdf|page=110}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Polygon capabilities: Texture mapping,{{fileref|ST-013-R3-061694.pdf}} [[wikipedia:Computer graphics lighting|lighting]],{{fileref|ST-238-R1-051795.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} shading, wire‑frame, [[wikipedia:Flat shading|flat shading]], [[wikipedia:Gouraud shading|Gouraud shading]],{{fileref|ST-013-R3-061694.pdf|page=110}}{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} 15-bit color Gouraud shading,{{ref|ST-013-R3-061694.pdf|page=41}} 15-bit colored lighting, quad polygons, [[wikipedia:Spatial anti-aliasing|edge anti‑aliasing]],{{fileref|ST-013-R3-061694.pdf|page=24}} [[wikipedia:Texture mapping#Forward texture mapping|forward texture mapping]] (form of perspective correction), bilinear approximation (reduces texture warping), medium polygon accuracy (seamless polygons){{ref|[http://www.shinforce.com/saturn/information/3D-Capabilities.htm Sega Saturn 3D Capabilities]}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Polygon capabilities: Texture mapping,{{fileref|ST-013-R3-061694.pdf}} [[wikipedia:Computer graphics lighting|lighting]],{{fileref|ST-238-R1-051795.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} shading, wire‑frame, [[wikipedia:Flat shading|flat shading]], [[wikipedia:Gouraud shading|Gouraud shading]],{{fileref|ST-013-R3-061694.pdf|page=110}}{{fileref|Sega Service Manual - Sega Saturn (PAL) - 013-1 - June 1995.pdf}}{{fileref|ST-238-R1-051795.pdf|page=232}} 15-bit color Gouraud shading,{{ref|ST-013-R3-061694.pdf|page=41}} 15-bit colored lighting, quad polygons, [[wikipedia:Spatial anti-aliasing|edge anti‑aliasing]],{{fileref|ST-013-R3-061694.pdf|page=24}} [[wikipedia:Texture mapping#Forward texture mapping|forward texture mapping]] (form of perspective correction), bilinear approximation (reduces texture warping), medium polygon accuracy (seamless polygons){{ref|[http://www.shinforce.com/saturn/information/3D-Capabilities.htm Sega Saturn 3D Capabilities]}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[wikipedia:Framebuffer|Framebuffer]] capabilities: Double buffering, dual 256 KB framebuffers, rotation & scaling,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} VDP1 framebuffer can be rotated as bitmap layer by VDP2{{fileref|ST-058-R2-060194.pdf|page=177}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[wikipedia:Framebuffer|Framebuffer]] capabilities: Double buffering, dual 256 KB framebuffers, rotation & scaling,{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} VDP1 framebuffer can be rotated as bitmap layer by VDP2{{fileref|ST-058-R2-060194.pdf|page=177}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Framebuffer [[resolution]]: 512×256, 512×512, 1024×256{{fileref|ST-013-R3-061694.pdf|page=149}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Framebuffer [[resolution]]: 512×256, 512×512, 1024×256{{fileref|ST-013-R3-061694.pdf|page=149}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* [[wikipedia:Overscan|Overscan]] resolution: 1708×263 (NTSC), 1820×313 (PAL), 852×525 (31KC), 848×562 (HDTV){{fileref|ST-013-R3-061694.pdf|page=64}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* [[wikipedia:Overscan|Overscan]] resolution: 1708×263 (NTSC), 1820×313 (PAL), 852×525 (31KC), 848×562 (HDTV){{fileref|ST-013-R3-061694.pdf|page=64}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Sprite|Sprite/Texture]] capabilities: Rotation &amp; scaling, flipping, distortion,{{fileref|ST-013-R3-061694.pdf}}{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} warping, vertical and horizontal line scrolling, virtually unlimited [[Palette|color lookup tables]],{{fileref|NextGeneration US 24.pdf|page=64}}{{ref|[http://www.sega-saturn.com/saturn/other/satspecs.htm Sega Saturn Tech Specs]}} [[Sega System 24|System 24]]/[[Sega System 32|32]] sprite rendering system{{intref|Sega System 24 Hardware Notes (2013-06-16)}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Sprite|Sprite/Texture]] capabilities: Rotation &amp; scaling, flipping, distortion,{{fileref|ST-013-R3-061694.pdf}}{{ref|[https://github.com/mamedev/mame/blob/master/src/devices/video/stvvdp1.cpp STV VDP1 (MAME)]}} warping, vertical and horizontal line scrolling, virtually unlimited [[Palette|color lookup tables]],{{fileref|NextGeneration US 24.pdf|page=64}}{{ref|[http://www.sega-saturn.com/saturn/other/satspecs.htm Sega Saturn Tech Specs]}} [[Sega System 24|System 24]]/[[Sega System 32|32]] sprite rendering system{{intref|Sega System 24 Hardware Notes (2013-06-16)}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Sprite/Texture size: 8×1 to 504×255 [[texel]]s{{fileref|ST-013-R3-061694.pdf|page=119}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Sprite/Texture size: 8×1 to 504×255 [[texel]]s{{fileref|ST-013-R3-061694.pdf|page=119}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Colors per sprite/texture in Lo-Res: 16, 64, 128, 256, and 32,768{{fileref|ST-013-R3-061694.pdf|page=18}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Colors per sprite/texture in Lo-Res: 16, 64, 128, 256, and 32,768{{fileref|ST-013-R3-061694.pdf|page=18}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Colors per sprite/texture in Hi-Res: 16, 64, 128, and 256{{fileref|ST-013-R3-061694.pdf|page=29}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Colors per sprite/texture in Hi-Res: 16, 64, 128, and 256{{fileref|ST-013-R3-061694.pdf|page=29}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Maximum [[texel]]s per scanline: 1812 (NTSC),{{fileref|ST-013-R3-061694.pdf|page=52}} 1820 (PAL){{fileref|ST-013-R3-061694.pdf|page=64}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Maximum [[texel]]s per scanline: 1812 (NTSC),{{fileref|ST-013-R3-061694.pdf|page=52}} 1820 (PAL){{fileref|ST-013-R3-061694.pdf|page=64}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Maximum sprites/textures per scanline: 226 (NTSC), 227 (PAL)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Maximum sprites/textures per scanline: 226 (NTSC), 227 (PAL)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[wikipedia:Texture memory|Texture cache]] [[VRAM]]: 512 KB{{fileref|ST-013-R3-061694.pdf|page=81}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[wikipedia:Texture memory|Texture cache]] [[VRAM]]: 512 KB{{fileref|ST-013-R3-061694.pdf|page=81}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Sprite/Polygon size: 32 [[byte]]s (flat shading),{{fileref|ST-013-R3-061694.pdf|page=40}}{{fileref|ST-013-R3-061694.pdf|page=75}} 40 bytes (Gouraud shading),{{fileref|ST-013-R3-061694.pdf|page=39}} 64–96 bytes (shadows),{{fileref|ST-013-R3-061694.pdf|page=110}} 72–104 bytes (shadows, Gouraud shading)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Sprite/Polygon size: 32 [[byte]]s (flat shading),{{fileref|ST-013-R3-061694.pdf|page=40}}{{fileref|ST-013-R3-061694.pdf|page=75}} 40 bytes (Gouraud shading),{{fileref|ST-013-R3-061694.pdf|page=39}} 64–96 bytes (shadows),{{fileref|ST-013-R3-061694.pdf|page=110}} 72–104 bytes (shadows, Gouraud shading)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Texture size: 4 bytes (8×1 texels, 16 colors) to 251.02 KB (504×255 texels, 32,758 colors){{fileref|ST-013-R3-061694.pdf|page=75}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Texture size: 4 bytes (8×1 texels, 16 colors) to 251.02 KB (504×255 texels, 32,758 colors){{fileref|ST-013-R3-061694.pdf|page=75}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Maximum sprites per frame: 16,383 (virtually unlimited),{{fileref|NextGeneration US 24.pdf|page=64}} 13,106 (Gouraud shading), 5461–8191 (shadows)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Maximum sprites per frame: 16,383 (virtually unlimited),{{fileref|NextGeneration US 24.pdf|page=64}} 13,106 (Gouraud shading), 5461–8191 (shadows)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Maximum polygons per frame: 16,384 (flat shading), 16,383 (texture mapping), 13,107 (Gouraud shading), 13,106 (texture mapping, Gouraud shading), 8192 (shadows), 8191 (texture mapping, shadows), 7281 (texture mapping, shadows, Gouraud shading)</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Maximum polygons per frame: 16,384 (flat shading), 16,383 (texture mapping), 13,107 (Gouraud shading), 13,106 (texture mapping, Gouraud shading), 8192 (shadows), 8191 (texture mapping, shadows), 7281 (texture mapping, shadows, Gouraud shading)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Framebuffer [[fillrate]]: 28.63636 [[Pixel|MPixels/s]] (16bpp),{{ref|1 cycle per [[pixel]]{{fileref|ST-013-R3-061694.pdf|page=52}}{{fileref|ST-013-R3-061694.pdf|page=35}}{{fileref|ST-013-R3-061694.pdf|page=64}}|group=fn}} 35.6465 MPixels/s (8bpp){{ref|28.63636 MPixels/s draw, 14.418 MPixels/s erase/write{{fileref|ST-013-R3-061694.pdf|page=65}}{{fileref|ST-013-R3-061694.pdf|page=61}}|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Framebuffer [[fillrate]]: 28.63636 [[Pixel|MPixels/s]] (16bpp),{{ref|1 cycle per [[pixel]]{{fileref|ST-013-R3-061694.pdf|page=52}}{{fileref|ST-013-R3-061694.pdf|page=35}}{{fileref|ST-013-R3-061694.pdf|page=64}}|group=fn}} 35.6465 MPixels/s (8bpp){{ref|28.63636 MPixels/s draw, 14.418 MPixels/s erase/write{{fileref|ST-013-R3-061694.pdf|page=65}}{{fileref|ST-013-R3-061694.pdf|page=61}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Gouraud shading: 28 MPixels/s (512×512 polygons), <br> 16 MPixels/s (10×10 polygons){{ref|164,576 Gouraud-shaded 10×10 polygons/sec: 57.27272 million parallel bus cycles/sec, 248 cycles overhead per polygon (16 cycles command table fetch,{{fileref|TUTORIAL.pdf|page=15}} 232 cycles Gouraud shading),{{fileref|TUTORIAL.pdf|page=8}} 348 cycles per polygon (100 cycles drawing per 100-pixel polygon){{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Gouraud shading: 28 MPixels/s (512×512 polygons), <br> 16 MPixels/s (10×10 polygons){{ref|164,576 Gouraud-shaded 10×10 polygons/sec: 57.27272 million parallel bus cycles/sec, 248 cycles overhead per polygon (16 cycles command table fetch,{{fileref|TUTORIAL.pdf|page=15}} 232 cycles Gouraud shading),{{fileref|TUTORIAL.pdf|page=8}} 348 cycles per polygon (100 cycles drawing per 100-pixel polygon){{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Shadows/Translucency: 28 MPixels/s (VDP2 palette), 5 MPixels/s (RGB){{ref|Takes six times longer when using VDP1's RGB mode.{{fileref|ST-013-R3-061694.pdf|page=110}} When using VDP2 palette mode, the VDP1 draws shadowed/translucent objects at full speed.|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Shadows/Translucency: 28 MPixels/s (VDP2 palette), 5 MPixels/s (RGB){{ref|Takes six times longer when using VDP1's RGB mode.{{fileref|ST-013-R3-061694.pdf|page=110}} When using VDP2 palette mode, the VDP1 draws shadowed/translucent objects at full speed.|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Texel|Texture fillrate]]: 19 [[Texel|MTexels/s]] (504×255 textures), 14 MTexels/s (10×10 textures), 12 MTexels/s (8×8 textures){{ref|Drawing process is asynchronous,{{fileref|TUTORIAL.pdf|page=15}} commands/textures read from texture cache and pixels/texels written to rendering framebuffer in parallel (57.27272 million parallel bus cycles/sec),{{fileref|ST-013-R3-061694.pdf|page=44}} 148 textured 504×255 polygons/sec (386,905 parallel cycles per polygon), 136,363 textured 10×10 polygons/sec (420 parallel cycles per polygon), 189,644 textured 8×8 polygons/sec (302 parallel cycles per polygon){{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Texel|Texture fillrate]]: 19 [[Texel|MTexels/s]] (504×255 textures), 14 MTexels/s (10×10 textures), 12 MTexels/s (8×8 textures){{ref|Drawing process is asynchronous,{{fileref|TUTORIAL.pdf|page=15}} commands/textures read from texture cache and pixels/texels written to rendering framebuffer in parallel (57.27272 million parallel bus cycles/sec),{{fileref|ST-013-R3-061694.pdf|page=44}} 148 textured 504×255 polygons/sec (386,905 parallel cycles per polygon), 136,363 textured 10×10 polygons/sec (420 parallel cycles per polygon), 189,644 textured 8×8 polygons/sec (302 parallel cycles per polygon){{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* Gouraud shading: 19 MTexels/s (504×255 textures), 9 MTexels/s (10×10 textures){{ref|57.27272 million parallel bus cycles/sec, 147 textured 504×255 polygons/sec (387,137 parallel cycles per polygon), 87,841 textured 10×10 polygons/sec (652 parallel cycles per polygon){{fileref|TUTORIAL.pdf|page=8}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* Gouraud shading: 19 MTexels/s (504×255 textures), 9 MTexels/s (10×10 textures){{ref|57.27272 million parallel bus cycles/sec, 147 textured 504×255 polygons/sec (387,137 parallel cycles per polygon), 87,841 textured 10×10 polygons/sec (652 parallel cycles per polygon){{fileref|TUTORIAL.pdf|page=8}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Polygon rendering performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=40}}{{ref|Flat shading: 16 cycles per polygon in 28.63636 MHz texture cache,{{fileref|TUTORIAL.pdf|page=15}} 1 cycle per pixel in 28.63636 MHz framebuffer|group=fn}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Polygon rendering performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=40}}{{ref|Flat shading: 16 cycles per polygon in 28.63636 MHz texture cache,{{fileref|TUTORIAL.pdf|page=15}} 1 cycle per pixel in 28.63636 MHz framebuffer|group=fn}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* 800,000 polygons/s: Flat shading, 32-[[pixel]] polygons</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* 800,000 polygons/s: Flat shading, 32-[[pixel]] polygons</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* 500,000 polygons/s: Flat shading,{{fileref|SegaVisions US 24.pdf|page=14}}{{fileref|NextGeneration US 24.pdf|page=64}} 50-pixel polygons</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* 500,000 polygons/s: Flat shading,{{fileref|SegaVisions US 24.pdf|page=14}}{{fileref|NextGeneration US 24.pdf|page=64}} 50-pixel polygons</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* 200,000 polygons/s: Gouraud shading, 32-pixel polygons{{ref|57.27272 million parallel bus cycles/sec, 248 cycles overhead per polygon (16 cycles command table fetch,{{fileref|TUTORIAL.pdf|page=15}} 232 cycles Gouraud shading),{{fileref|TUTORIAL.pdf|page=8}} 32 cycles drawing per 32-pixel polygon{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* 200,000 polygons/s: Gouraud shading, 32-pixel polygons{{ref|57.27272 million parallel bus cycles/sec, 248 cycles overhead per polygon (16 cycles command table fetch,{{fileref|TUTORIAL.pdf|page=15}} 232 cycles Gouraud shading),{{fileref|TUTORIAL.pdf|page=8}} 32 cycles drawing per 32-pixel polygon{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Texture mapping performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=41}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Texture mapping performance: Lighting{{fileref|ST-013-R3-061694.pdf|page=41}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* 300,000 polygons/s: 32-[[texel]] textures{{ref|57.27272 million parallel bus cycles/sec, 171 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* 300,000 polygons/s: 32-[[texel]] textures{{ref|57.27272 million parallel bus cycles/sec, 171 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* 200,000 polygons/s: 70-texel textures{{ref|200,000 texture-mapped polygons/sec,{{fileref|SegaVisions US 24.pdf|page=14}}{{fileref|NextGeneration US 24.pdf|page=64}} 57.27272 million parallel bus cycles/sec, 285 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* 200,000 polygons/s: 70-texel textures{{ref|200,000 texture-mapped polygons/sec,{{fileref|SegaVisions US 24.pdf|page=14}}{{fileref|NextGeneration US 24.pdf|page=64}} 57.27272 million parallel bus cycles/sec, 285 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">*</del>* 140,000 polygons/s: Gouraud shading, 32-texel textures{{ref|57.27272 million parallel bus cycles/sec, 403 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">:</ins>* 140,000 polygons/s: Gouraud shading, 32-texel textures{{ref|57.27272 million parallel bus cycles/sec, 403 parallel cycles per polygon{{fileref|TUTORIAL.pdf|page=8}}{{intref|Saturn VDP1 hardware notes (2003-05-17)}}|group=fn}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>
Turbo
https://segaretro.org/index.php?title=VDP1_(Saturn)&diff=453491&oldid=prev
Corvusdeux: /* Errata */
2018-09-02T11:47:22Z
<p><span dir="auto"><span class="autocomment">Errata</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 11:47, 2 September 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l81" >Line 81:</td>
<td colspan="2" class="diff-lineno">Line 81:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Errata==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Errata==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>VDP1 half-transparency rendering feature causes strips of pixels to be rewritten to framebuffer for all 3D primitives like: <del class="diffchange diffchange-inline">Line, </del>Polyline, Polygon and Distorted sprite, applying the transparency effect multiple times. It can be seen in a multitude of commercial games (Two examples: ''[[FIFA Road to World Cup 98 (Saturn)|FIFA Road to World Cup 98]]'': Glass wall in indoor stadium, ''[[Lupin the 3rd: Pyramid no Kenja]]'': enemies shadows and radar range.).</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>VDP1 half-transparency rendering feature causes strips of pixels to be rewritten to framebuffer for all 3D primitives like: Polyline<ins class="diffchange diffchange-inline">(only in corners)</ins>, Polygon and Distorted sprite, applying the transparency effect multiple times. It can be seen in a multitude of commercial games (Two examples: ''[[FIFA Road to World Cup 98 (Saturn)|FIFA Road to World Cup 98]]'': Glass wall in indoor stadium, ''[[Lupin the 3rd: Pyramid no Kenja]]'': enemies shadows and radar range.).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The VDP1 supports per-pixel transparency between different polygons/sprites in the VDP1 framebuffer (''[[Loaded]]'': Shadows and a lot of effects particles), or between VDP1 and VDP2 layers (''[[Silhouette_Mirage]]'' and ''[[Guardian Heroes]]'': A lot of effects), but not both at the same time, with the VDP2's transparency overriding the VDP1's transparency. There are several ways to overcome this issue. The most common method used by Saturn games is to fake transparency with [[wikipedia:Dither|dithering]], using a mesh that gets blended by a television's Composite or S-Video cable. Another method is using a VDP2 bitmap layer as an additional transparent framebuffer, copying transparent assets from the VDP1 framebuffer to a VDP2 bitmap framebuffer layer (e.g. the transparent polygons in ''[[Burning Rangers]]''). Another method possible is software transparency, programming the CPU with software code, but there are no known games to do <del class="diffchange diffchange-inline">so</del>.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The VDP1 supports per-pixel transparency<ins class="diffchange diffchange-inline">(0% mask / 50% half / 100% opaque) </ins>between different polygons/sprites in the VDP1 framebuffer (''[[Loaded]]'': Shadows and a lot of effects particles), or between<ins class="diffchange diffchange-inline">(at 4 to 32 levels of ratio transparency) </ins>VDP1 and VDP2 layers (''[[Silhouette_Mirage]]'' and ''[[Guardian Heroes]]'': A lot of effects), but not both at the same time, with the VDP2's transparency overriding the VDP1's transparency. There are several ways to overcome this issue. The most common method used by Saturn games is to fake transparency with [[wikipedia:Dither|dithering]], using a mesh that gets blended by a television's Composite or S-Video cable. Another method is using a VDP2 bitmap layer as an additional transparent framebuffer, copying transparent assets from the VDP1 framebuffer to a VDP2 bitmap framebuffer layer (e.g. the transparent polygons in ''[[Burning Rangers]]''). Another method possible is <ins class="diffchange diffchange-inline">some type of approach </ins>software transparency, programming the CPU with software code, but there are no known games to do <ins class="diffchange diffchange-inline">it</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Another issue is that the VDP1 takes six times longer to draw translucent pixels than opaque pixels.{{fileref|ST-013-R3-061694.pdf|page=110}} The VDP2, in comparison, has no <del class="diffchange diffchange-inline">issues </del>with <del class="diffchange diffchange-inline">transparency, nor does the </del>use of transparency <del class="diffchange diffchange-inline">affect the VDP2's performance</del>. The VDP1 can overcome its transparency performance issue by drawing paletted sprites/polygons, which use the VDP2's palette and transparency, without affecting performance. However, this wouldn't allow multi-layered transparency between sprites/polygons, which would require the use of the methods mentioned above.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Another issue is that the VDP1 <ins class="diffchange diffchange-inline">can </ins>takes <ins class="diffchange diffchange-inline">at </ins>six times longer to draw translucent pixels than opaque pixels.{{fileref|ST-013-R3-061694.pdf|page=110}} The VDP2, in comparison, has no <ins class="diffchange diffchange-inline">have penalty </ins>with use of transparency. The VDP1 can overcome its transparency performance issue by drawing paletted sprites/polygons, which use the VDP2's palette and transparency, without affecting performance. However, this wouldn't allow multi-layered transparency between sprites/polygons, which would require the use of the methods mentioned above.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Foototes==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==Foototes==</div></td></tr>
</table>
Corvusdeux