It should be simplySorgelig wrote: this is error:what should be instead of (FRAC+2 DOWNTO FRAC+3)?Code: Select all

`poly_a2<=poly_a(FRAC+2 DOWNTO FRAC+3) & poly_a(FRAC+1 DOWNTO 2);`

Code: Select all

`poly_a2<=poly_a(FRAC+1 DOWNTO 2);`

It doesn't change anything as (FRAC+2 DOWNTO FRAC+3) is a zero length vector.

Thank you for finding this.

I have posted a fixed version. Hopefully.Sorgelig wrote:Edges almost perfect but i still see irregularity of left/right edges. Use 240p Suite in Genesis. Grid 320x224 and 256x224. In 320 mode edges look almost perfect. In 256 mode left edge has doubling pixel in 16:9 ratio. 4:3 looks normal.

It was _again_ the silly bug about OHSIZE and writes going beyond 2047. The fix got lost in refactoring. Much easier than pixel centering details and pipelining.

For interlaced, current implementation is Weave. I don't know much about how to implement more advanced methods, such as motion compensation, yet.

You have a sample ROM for testing that ?Sorgelig wrote: it seems Ascal doesn't like frames with different vertical sizes - this is usual for Interlace modes. That's why SNES in interlace makes Ascal crazy.

Note: the visible lines in both fields are the same but total lines in one of fields is one less. This is how interlace mode works. Genesis has the same total lines for both fields in interlace mode - this is just Genesis specific, not normal.