A.D.A. Amiga Demoscene Archive

  Welcome guest! Please register a new account or log in

  

  

  

log in with SceneID

  

Demos Amiga Demoscene Archive Forum / Coding / coding tutorial: sprites
 Page:  ««  1  2  
Author Message
TheDarkCoder
Member
#1 - Posted: 1 Dec 2006 10:51
Reply Quote
@Kalms

Perhaps you could do the first 4x64 pixels using 4 pairs of 64-bit sprites, and the last 4x16 pixels using 4 pairs of fake-16-bit sprites though?

(i.e. what happens if you write SPRxDAT manually when sprites are in 64bit mode? will the remaining 48 bits be cleared, duplicates or left as-is?)


I had the same idea while writing my previous post. I don't remember now
what happens to SPRxDAT. I think you cannot write to SPRxCTR, otherwise you stop the DMA. This prevents from writing the least significant bit of the sprite hor. position. No big deal.
It could be worth trying!
klipper
Member
#2 - Posted: 2 Dec 2006 00:03
Reply Quote
who's going to be brave enough to give it a go? :) (im too khikhen)
asman
Member
#3 - Posted: 9 Apr 2010 09:16
Reply Quote
Hi,

Yesterday I checked sprite manual mode ( sprite dma off ) on my machine ( A1200 Blizzard 1230 IV with 32 mb ).
Results for sprite 0. Important part of copperlist from test program.



dc.l $01400000 ; clear SPR0POS
dc.l $01480000 ; clear SPR1POS ( I don't know why but without that I see sometimes sprite 1 data, probably after killing the os, SPR1DAT contains some data from workbench pointer ??? )

dc.l $3807fffe ; wait for line

dc.l $01400048
dc.l $0144ffff ; arm the sprite 0

dc.l $4807fffe
dc.l $01400000 ; clear sprite 0



1) 32-bit sprite ( SPR32 is set in FMODE - bit 2 ) then SPRxDAT is duplicated. Mean if SPRxDAT contains $ffff then on screen you will see. $ffff,$ffff ( for $f0ff ---> $f0ff,$f0ff )

2) 32-bit sprite ( SPAGEM is set in FMODE - bit 3 ) then first 16 pixels are crashed ( blinking some random shit ), next 16 pixels from SPRxDAT.
3) 64-bit sprite ( SPR32 and SPAGEM is set in FMODE - bit2 and bit3 ) then first 16 pixels are crashed as above and next 48 pixels are duplicated from SPRxDAT. Mean SPRxDAT = $ffff, then on screen $xxxx,$ffff,$ffff,$ffff ( $xxxx = random blinking data )

Any comments are welcome.

Regards
TheDarkCoder
Member
#4 - Posted: 15 Apr 2010 20:05
Reply Quote
This does not surprise me. I think that at some time around year 2000 I had tried to use manual sprites wider than 16 pixels and failed. I don't remember.

God, how much time has passed since my last post here... :-(
 Page:  ««  1  2  

  Please register a new account or log in to comment

  

  

  

 

A.D.A. Amiga Demoscene Archive, Version 3.0