View Single Post
Old 02 November 2018, 00:50   #68
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,476
Hi NorthWay, it's not that easy.
It is true that you can change the pointers at any time but the rules listed are always valid, this to support a sprite list in memory (contrary to BPLxPT that always point to pure video data). So you can easy perform a native vertical multiplexing and define the areas in which there is no sprites, economizing also DMA cycles.

Off course the pointers contain the position in Chipram from which the next data will be taken by sprite's DMA, but destination registers can vary.
Then an auto-increment happen like usual after each fetch, till next CPU/COPPER write, normally in the vertical blank.

So if you change on the fly the pointers you cannot change the destination for the DMA (that can also be xPOS/xCTL, specified through.. xPOS/xCTL).

In fact you could also define the height of the sprite as the whole screen and then change pointers to each row, actually changing sprite shape every line (remember to also define empty spaces ). Only expensive because for every line there is COPPER abuse and also the DMA channels of the sprites are always in use.

Well, actually working with SPRxPT is good, but this DMA/manual technical mixing is intriguing. And can also be mixed with some horizontal multiplex
ross is offline  
 
Page generated in 0.09126 seconds with 11 queries