HomeForumsWhat's newResources 
 
 
Interlaced (hires) sprite prob
RockinB - May 3, 2006
 RockinB May 3, 2006
Because of limited VDP2 RAM and limited cycle patterns, you can't display 2 arbitrary (!) fullscreen image scrolls (8bit palette) at the same time.

But you can use the sprite gpu VDP1 to display a scroll, too. Each tile becomes a sprite. This makes 1200 sprites with 640x480 (if I'm correct), so quite a lot.

I did that, my screen resolution is double interlace, I guess (640x480) and I think the display problem you see below must have something to do with that (and possibly with the high number of sprites, too).

left: vdp2, right: vdp1

[attachmentid=1833]

Note that the text not displayed on the right is a priority bug in yabause. On Saturn when turning on vdp1 rendering, the bottom half of screen flickers, being almost completely black.

I remember when using double interlace with vdp1, you have to precisely meet the framerate, because vdp2 reads from both framebuffers for one image. (or something like that)

Any help?

 RockinB May 3, 2006
Both things are fixed.

The distortion is due to one 16x16 tile being actually made of 2x2 characters of 8x8 each.

The flicker was indeed due to too long drawing time and asynchronisation with screen. I do now convert the screen into 4 textures, because max texture size is 504x255.

Works and looks fine, except for a few pixels being black(VDP2 back color?) instead of white....

 cgfm2 May 3, 2006

  
	
	
Originally posted by Rockin'-B@Wed, 2006-05-03 @ 07:59 AM

Because of limited VDP2 RAM and limited cycle patterns, you can't display 2 arbitrary (!) fullscreen image scrolls (8bit palette) at the same time.


My window test program did four 4-bit tiled backgrounds at 640x480, and I'm fairly certain I had tried an 8-bit version of that at least had two NBGs showing, if not more. I could be wrong, but I feel doing 2+ 8-bit backgrounds in the hi-res mode is possible. Same thing with the super-hires (EDTV) modes.

As for the color problem, make sure the ECD bit is *set* in the CMDCTRL word of each sprite entry. Otherwise it will interpret color $FF as transparent (as well as clipping sprites horizontally when pixel $FF is found)

 RockinB May 3, 2006

  
	
	
Originally posted by cgfm2+Wed, 2006-05-03 @ 04:46 PM-->
QUOTE(cgfm2 @ Wed, 2006-05-03 @ 04:46 PM)
My window test program did four 4-bit tiled backgrounds at 640x480, and I'm fairly certain I had tried an 8-bit version of that at least had two NBGs showing, if not more. I could be wrong, but I feel doing 2+ 8-bit backgrounds in the hi-res mode is possible. Same thing with the super-hires (EDTV) modes.

[post=146051]Quoted post[/post]

[/b]



I do have 2 8bit screens at 640x480, too. Maybe a 3rd 8bit is possible. The thing is that the kind of scroll image I'm talking about doesn't use any tile twice, which means that it takes 300 kB for cels. There is no 2nd screen possible with 512 kB VRAM.

Adding scrolls in this case is difficult, since the cels span 3 vram banks and you only got 4 cycle pattern slots and the corresponding patterns for the 3 banks must be the same. Not to forget the data alignment in vram, and at least two more restrictions. It's a pain.