I can't reproduce that with any setting. I played along for a while with Kega, and they stayed almost perfectly in sync.
Oh, the things you mention have multiple causes.
In Sonic for example, you have to emulate sprite limits, because it is used to mask out a portion of Sonic in the intro screen, for example. The Genesis can just display a certain number of sprites and/or sprite pixels per line. Even sprites that are not visible on screen count for this limit. (The DS, or any console have that limitation, too, just that the DS can display a lot more sprites per line). Maybe i can handle that later.
Another problem is priorities. The sprite priorities on the Genesis work differently than for the DS. Normally sprites are displayed in the order they appear in the sprite table (from front to back), so sprite 0 will be above sprite 1. This is true for the Genesis and the DS, but the sprites also have a priority flag, which determines, if they are in front or behind a background layer. The problem is, that on the Genesis, the inter-sprite priority (list position) is more important than the sprite priority flag. So if sprite 0 has low priority and sprite 1 has high priority (flag), and they share the same space, then sprite 0 will still be displayed on top of sprite 1. If there are background pixels between them, this will cause sprite 1 to be masked out where it collides with sprite 0 and you will just see the bg there. (I hope that is somewhat understandable).
Some games use that exactly for that purpose, to mask out portions of sprites.
The DS has double the amount of layers than the Genesis, so it should be enough. Besides the 4 layers it has, you can also display sprites in 4 planes. I just need all of those 4 layers, because of the per tile priority in the Genesis layers (which make it possible to place the 2 layers in practically 4 planes). On the DS, you can just set the priority for the complete BG layer.
The biggest problem though is, that the DS has "just" 1024 tiles that can be used PER layer. Altogether that's more than the Genesis can use, just that it can address all 2048 tiles in any BG. The tiles are dynamically allocated and deallocated to make up for that, but if a game really uses more than 1024 tiles at once, there is a problem. In cases like that, jEnesisDS constantly "recreates" the whole screen, if "Force Update" is ON. Still there will be glitches, like in the Comix Zone title screen.
Bookmarks