Difference between revisions of "Sprite Masking and Overflow Test ROM"

From Sega Retro

m (Text replacement - "==External Links==" to "==External links==")
Line 37: Line 37:
 
}}
 
}}
  
==Test Results==
+
==Test results==
 
+
Note: Using latest versions of emulators, unless otherwise stated.{{#vardefine:screenwidth|120}}
[[Gens/GS]] r7+ (git: vdp-to-cpp/86948622) (also applies to [[Gens/GS II]])
+
{| class="prettytable sortable"
[[File:Gens-gs-r7plus-vdp-to-cpp-86948622-SpriteMaskingTestRom.png]]
+
!Emulator
 
+
!Release date
TODO: Add test results from other emulators.
+
!class="unsortable"|H32 Mode
 +
!class="unsortable"|H40 Mode
 +
!class="unsortable"|Comments
 +
|-
 +
|[[AGES]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[BizHawk]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[BlastEm]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[D-DGen]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[DebuGens]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[DGen]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[DrMD]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[DualGens]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Exodus]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[FB Alpha]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[GenaDrive]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Genecyst]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[GenEm]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Generator (emulator)]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Genesis Plus]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Genesis Plus GX]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Genesis4iphone]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Genital]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Gens]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Gens (Nick o'DIMM)]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Gens (XPort)]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Gens KMod]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Gens Plus!]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Gens Re-Recording]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Gens Tracer]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Gens X]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Gens/GS]]
 +
|2009-11-22
 +
|{{bobscreen|SMaOTR H32 GensGS.png|width={{#var:screenwidth}}}}
 +
|{{bobscreen|Gens-gs-r7plus-vdp-to-cpp-86948622-SpriteMaskingTestRom.png|width={{#var:screenwidth}}}}
 +
|
 +
|-
 +
|[[Gens/GS II]]
 +
|2016
 +
|{{bobscreen|SMaOTR H32 GensGS.png|width={{#var:screenwidth}}}}
 +
|{{bobscreen|Gens-gs-r7plus-vdp-to-cpp-86948622-SpriteMaskingTestRom.png|width={{#var:screenwidth}}}}
 +
|
 +
|-
 +
|[[Gens32]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Gensoid]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Genux]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[GigaDrive (GP32)]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[HazeMD]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Higan]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[IDC Log Gens]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[JEnesis]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[JEnesisDS]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Kega]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Kega (emulator)]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Kega Fusion]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Kega Lazarus]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[KGen]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[KGen98]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Mednafen]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Megadrive Emulator]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Megasis]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Mimic]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[NeoGenesis]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[PGen]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[PicoDrive]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[PicoDrive (Windows)]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[PicoDriveDS]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[PSPGenesis]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Regen]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[RetroCopy]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[RetroDrive]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[SegaEMU]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[SGens]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[St0rm]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[VGen]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Xe]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Xega]]
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|[[Xenesis]]
 +
|
 +
|
 +
|
 +
|
 +
|}
  
 
==External links==
 
==External links==

Revision as of 12:51, 7 April 2019

Gens-gs-r7plus-vdp-to-cpp-86948622-SpriteMaskingTestRom.png

Nemesis' Sprite Masking and Overflow Test ROM is a test ROM used to verify the emulation of several Sega Mega Drive VDP quirks, including sprite limits.

Tests

The following tests are performed by the Sprite Masking and Overflow Test ROM.

Terminology:

  • H32 == 256x224 display mode
  • H40 == 320x224 display mode.
  • Sprite mask: A sprite with X=0.

Tests:

  1. Max Sprites Per Line: 16 in H32, 20 in H40.
  2. Max Sprite Dots - Basic: Up to 256 sprite dots in H32; 320 in H40.
  3. Max Sprite Dots - Complex: Same as previous, except it verifies that sprites are cut off in the middle.
  4. Sprite Mask: Verifies that lower-priority sprites are masked if a sprite mask exists and is not the first sprite on the line.
  5. Sprite Mask S1: Verifies that lower-priority sprites are *not* masked if a sprite mask exists and is the first sprite on the line.
  6. Mask S1 On Dot Overflow: Verifies that sprite masks at the beginning of the line are ineffective if sprite dot overflow occurs on the previous line.
  7. Mask S1,X=1 S2,X=0: Verifies that the non-existent sprite masking "Mode 2" is not implemented.
  8. Mask S1,X=40 S2,X=0: Same as previous.
  9. Max Sprites Per Frame: 64 in H32, 80 in H40.

For tests with two results, the left result indicates that the minimum boundary is respected, and the right result indicates that the maximum boundary is respected.

Test #6 is conditional on test #5 passing. If test #5 passes, then test #6 passing is an error (indicated by a red line underneath "PASS").

Downloads

Download.svg

Download Sprite Masking and Overflow Test ROM
Multiple downloads available

Test results

Note: Using latest versions of emulators, unless otherwise stated.

Emulator Release date H32 Mode H40 Mode Comments
AGES
BizHawk
BlastEm
D-DGen
DebuGens
DGen
DrMD
DualGens
Exodus
FB Alpha
GenaDrive
Genecyst
GenEm
Generator (emulator)
Genesis Plus
Genesis Plus GX
Genesis4iphone
Genital
Gens
Gens (Nick o'DIMM)
Gens (XPort)
Gens KMod
Gens Plus!
Gens Re-Recording
Gens Tracer
Gens X
Gens/GS 2009-11-22

SMaOTR H32 GensGS.png

Gens-gs-r7plus-vdp-to-cpp-86948622-SpriteMaskingTestRom.png

Gens/GS II 2016

SMaOTR H32 GensGS.png

Gens-gs-r7plus-vdp-to-cpp-86948622-SpriteMaskingTestRom.png

Gens32
Gensoid
Genux
GigaDrive (GP32)
HazeMD
Higan
IDC Log Gens
JEnesis
JEnesisDS
Kega
Kega (emulator)
Kega Fusion
Kega Lazarus
KGen
KGen98
Mednafen
Megadrive Emulator
Megasis
Mimic
NeoGenesis
PGen
PicoDrive
PicoDrive (Windows)
PicoDriveDS
PSPGenesis
Regen
RetroCopy
RetroDrive
SegaEMU
SGens
St0rm
VGen
Xe
Xega
Xenesis

External links