View Single Post
Old 11 January 2017, 22:38   #9
dissident
Registered User
 
Join Date: Sep 2015
Location: Germany
Posts: 260
Quote:
Originally Posted by Toni Wilen View Post
I didn't test but I am sure there are no differences between ocs/ecs/aga. It is just a side-effect of how sprite DMA fetches are done, single sprite line needs two separate fetches and sprite can be loaded to output shift register even if its data has not been fully loaded (or even not loaded at all)

I think it should be quite easy to work around it by having multiple sprites (one normal, one that has second plane shifted by one pixel vertically and so on) and selecting correct depending on sprite's x-coordinate.
I’ve changed my routine, so that the sprites are now visible in the border region without setting the bordersprite-bit in BPLCON3. Works fine on my original hardware, an A1200/020.

Between line $2c-$12b the copper sets with x-pos=$6 (minimum) the register BPL1DAT=0.

The display error at the left border can be prohibited, waiting with the copper for the x-pos=$38. But as a consequence, the left overscan region gets blanked and the sprites are disabled.

The values of these register remain the same: DDFSTRT=$38, DDFSTOP=$a0, FMODE=4x for one bitplane.

Important: To see the sprites outside the border, it is necessary to change the horizontal window-limits (DIWSTRT/DIWSTOP/DIWHIGH) to the overscan values HSTART=$5b and HSTOP=$1c7. Otherwise the sprites are only visible in the standart region if you use for example HSTART=$81, HSTOP=$1c1. The display error at the left border is the same as with real bordersprites. At the right border the sprites disappear much sooner like the real bordersprites, if you use HSTOP>=$1c8. It seems that they can’t have the horizontal lores-positions greater $1c7.

Toni, if you want, I could send you my revised routine by mail for testing purposes. Please remember, that my routine is AGA only. I haven’t got an init-routine for the OCS yet.

Last edited by dissident; 12 January 2017 at 08:03.
dissident is offline  
 
Page generated in 0.04334 seconds with 11 queries