base:sprite_interleave
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
base:sprite_interleave [2020-10-15 17:16] – created raistlin | base:sprite_interleave [2020-10-26 18:00] (current) – raistlin | ||
---|---|---|---|
Line 6: | Line 6: | ||
When using large arrays of sprites, eg. an 8x10 array, it can be tricky to do this without having gaps or glitches. Annoyingly, C64 sprites are 21 pixels tall - so it's not possible to have this array without at least one row of sprites being around a bad line - where there simply aren't enough cycles to update all the sprite values. | When using large arrays of sprites, eg. an 8x10 array, it can be tricky to do this without having gaps or glitches. Annoyingly, C64 sprites are 21 pixels tall - so it's not possible to have this array without at least one row of sprites being around a bad line - where there simply aren't enough cycles to update all the sprite values. | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | ---- | ||
+ | |||
This becomes especially problematic when you're dealing with varying D011 - eg. in the intro sequence of "The Dive" where we have a bitmap upscroller behind a sprite array. | This becomes especially problematic when you're dealing with varying D011 - eg. in the intro sequence of "The Dive" where we have a bitmap upscroller behind a sprite array. | ||
Line 41: | Line 46: | ||
We also need to " | We also need to " | ||
+ | ---- | ||
+ | {{: | ||
+ | ---- | ||
=== Updating Sprite Values === | === Updating Sprite Values === | ||
Line 72: | Line 80: | ||
< | < | ||
- | | + | |
- | | + | |
- | SAX ScreenAddr + $3f8 + 0; <-- SAX will write "A & X" .. ie. 64 here | + | SAX ScreenAddr + $3f8 + 0; <-- SAX will write " |
- | | + | |
INX | INX | ||
SAX ScreenAddr + $3f8 + 1 | SAX ScreenAddr + $3f8 + 1 | ||
- | | + | |
INX | INX | ||
SAX ScreenAddr + $3f8 + 2 | SAX ScreenAddr + $3f8 + 2 | ||
- | | + | |
INX | INX | ||
SAX ScreenAddr + $3f8 + 3 | SAX ScreenAddr + $3f8 + 3 | ||
- | | + | |
</ | </ | ||
base/sprite_interleave.1602774989.txt.gz · Last modified: 2020-10-15 17:16 by raistlin