| |
Digger
Registered: Mar 2005 Posts: 437 |
Moving sprite pointers addresses
Is it possible to shift sprite pointers locations by fiddling with DMA delay or in any other way? |
|
... 3 posts hidden. Click here to view all posts.... |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
ah cool, I thought its something else.
my guess is digger working on some kind of demopart so his best bet is to try and hide it, maybe keep sprite pointers const and animate sprite data, etc. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Whatever he's doing, asking this kind of overly specific question always reeks like an XY problem. |
| |
Digger
Registered: Mar 2005 Posts: 437 |
Thanks, I was wondering if I could update them in any other way that would give me more options than $d018/$dd00 (16 screens * 4 banks = almost 64 combinations). I have routine that switches all 8 pointers per line but still, thought maybe there's a holy grail somewhere :) |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: Thanks, I was wondering if I could update them in any other way that would give me more options than $d018/$dd00 (16 screens * 4 banks = almost 64 combinations). I have routine that switches all 8 pointers per line but still, thought maybe there's a holy grail somewhere :)
If you do it per line, like in a twister you place the sprites with 1 line separation in y. Thus the first 0..23 bytes will be rendered into the sprites per line and a simply.
lda #$xx
sta $x3f8
sta $x3f9
sta $x3fa
sta $x3fb
sta $x3fc
sta $x3fd
sta $x3fe
sta $x3ff |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
I would recommend setting them apart by 2 lines. Then not stretching sprites for a line will give you a whole new 256 unique sprite patterns for all 8 sprites. :) This may be helpful in some scenarios. |
| |
Digger
Registered: Mar 2005 Posts: 437 |
@JA: Yeah, I am already doing it (1 line apart), but I was thinking if this could be abused even further ;-)
@Krill: Nice, I saw that being used but never understood it! What's the max offset, thus number of 256 line combinations? |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting Digger@Krill: Nice, I saw that being used but never understood it! What's the max offset, thus number of 256 line combinations? floor(21 / numsprites). So 2 for 8 sprites, 3 for 7 sprites, etc. - Note that this is for one VIC bank, so you can still switch back and forth between sprite sets using $dd00 (but then must write the pointers to a location depending on the used VIC bank, of course). |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
I usually just move the sprites 8 lines up and start stretch on offset 24 in the sprite |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: I usually just move the sprites 8 lines up and start stretch on offset 24 in the sprite
Ahh WITHIN a frame. Sorry nm me! |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
the 2 line offset is nice, didnt know about that.
" if this could be abused even further ;-)"
how about spritecrunch with the Y offsetted sprites :P or just any combination of these to make more then 256 lines happen just a wild idea, might work out in some special cases or might not. |
Previous - 1 | 2 - Next |