English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 01 June 2019, 10:14   #1
pushead
Registered User

 
Join Date: May 2019
Location: Norway
Posts: 6
Newbie question about sprites... or copperlist perhaps?

Hi,

Thanks for letting me join the English Amiga Board!

This is probably a newbie question that have been answered a million times before, but I just can't find the info I'm looking for by seaching (ok, might have something to do with my searching skills ).

Anyway, I hope that you experts can guide me in the right direction here!

Here's my question:

I try do display a simple sprite, but when the sprite is displayed it flickers :-(!

Now, I found a way to get the flickering to go away, but I don't think I completely understand why...

Reading the Amiga HW Reference Guide it says that I need to update the spritepointers each vertical blanking. I use a copperlist (see code below) to do this.

If I wait for line $2c and then set the sprite pointers it flickers. This I beleive is due to the fact that line $2c is not part of the vertical blank? Or?

If I wait for line e.g. $10 and the set the sprite pointers it does not flicker... Again, I do beleive that I'm now in the vertical blanking area?


So my questions are:

- Which rasterlines are part of the vertical blank?
- I notice that in the HW Ref. guide they start the copperlist without any WAIT instructions? They often just start with the MOVE instructions. Does this mean that these MOVE instructions will be executed immediately at a new vertical blank if there is no initial WAIT instruction?

Hope that someone can help me understand this.


Code:
copperlist:
	dc.w	$2c01,$fffe
	dc.w	$0100,$1200			; 1 bitplane, colorburst enabled
	dc.w	$0180,$0000			; Background color to black
	dc.w	$0182,$000f			; Background color to blue
bpl1pointer:
	dc.w	$00e0,$0000
	dc.w	$00e2,$0000

sprite01pointer:
	dc.w	$0120,$0000
	dc.w	$0122,$0000

	dc.w	$ffff,$fffe
pushead is offline  
Old 01 June 2019, 11:05   #2
a/b
Registered User

 
Join Date: Jun 2016
Location: europe
Posts: 124
1. 0-19 NTSC, 0-24 PAL, so 20 or 25 lines.
2. yes, they are executed immediately
If you are updating sprite pointers each frame, in automatic/DMA mode, make sure you do it before the end of vertical blanking. Otherwise they will be refreshed the next frame. That's because hardware has to load the first line of sprite data (2 control words) to figure out where to start displaying it, and it has to do it before the area where the sprites can be visible.
a/b is offline  
Old 01 June 2019, 12:26   #3
pushead
Registered User

 
Join Date: May 2019
Location: Norway
Posts: 6
Thanks a lot for the information!

I see now that when I update the sprite pointers in the raster range $00-$18 it works fine for PAL!

Thanks!
pushead is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Probably a newbie Question... balric support.WinUAE 1 10 May 2017 20:45
newbie hd question turrican3 support.FS-UAE 2 13 March 2014 18:54
Question from a Newbie leanderuk support.FS-UAE 2 06 January 2014 21:46
Newbie question kemppe support.WinUAE 1 28 February 2002 23:11
is this a newbie question? deadduck New to Emulation or Amiga scene 11 27 November 2001 19:17

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 20:31.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Page generated in 0.06042 seconds with 15 queries