How does Sonic2 handle sprites for interlace mode?
Posted: Wed Apr 07, 2010 4:38 am
I'm currently working on Sonic2 double resolution interlace mode emulation, and I'm seeing some weirdness with sprite rendering.
My current emulation does not perform per scan line sprite table query rendering, but rather at the end of the frame just parses the current sprite table and renders each sprite encounted for faster speed.
With this method for Sonic2 I'm only able to see sprites if I subtract 224 from their y position and then it appears I see a mixture of sprites - some from the top half of interlace display and some from the bottom half of the interlace display.
Has anyone else delt with interlace mode sprites and knows whats going on here? In double resolution interlace mode is there anything special needs to be done when parsing the sprite y position from the sprite table? It looks to me like I need to update my sprite rendering to parse the sprite table every scan line.
UPDATE: So after further testing, I'm actually only seeing sprites from the bottom half of the interlace screen which definitely makes it look like the sprite table is getting setup twice per frame - once for the top interlace half, and once (probably from hbl halfway down the screen) for the bottom interlace half.
cheers,
Steve.
My current emulation does not perform per scan line sprite table query rendering, but rather at the end of the frame just parses the current sprite table and renders each sprite encounted for faster speed.
With this method for Sonic2 I'm only able to see sprites if I subtract 224 from their y position and then it appears I see a mixture of sprites - some from the top half of interlace display and some from the bottom half of the interlace display.
Has anyone else delt with interlace mode sprites and knows whats going on here? In double resolution interlace mode is there anything special needs to be done when parsing the sprite y position from the sprite table? It looks to me like I need to update my sprite rendering to parse the sprite table every scan line.
UPDATE: So after further testing, I'm actually only seeing sprites from the bottom half of the interlace screen which definitely makes it look like the sprite table is getting setup twice per frame - once for the top interlace half, and once (probably from hbl halfway down the screen) for the bottom interlace half.
cheers,
Steve.