You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems that x16 vera chip uses 17-bits for address space, but for sprites, the bottom 5 bits are ignored, so everything is aligned to 32 decimal ($20).
We were using a sprite project with multiple 32x32x4bpp sprites. However, with that extra metadata byte you add at the end of each sprite for the "chosen" color the C64 uses, throws everything out of whack because nothing after the first sprite aligns properly to the vera memory expected.
While you can use the SPRMEM command in BASIC to set the correct location of the sprite in memory, it unfortunately is bound by the vera limitation of aligning things to 32 decimal. For example, If you set sprite 1 to $3000 and sprite 2 to $3001. Sprite 2 will actually align to $3000 and ignore what you told it. The next bit of memory you can align to is $3020.
The text was updated successfully, but these errors were encountered:
Thanks! I did implement the fix in a different way, as there's a huge function collection querying all kind of mode infos (Lookup).
Implemented with commit #c54d5622984286fa270fc4deddf0b8e975344c31.
Uploaded a new WIP build to https://www.georg-rottensteiner.de/webmisc/C64StudioRelease.zip
It seems that x16 vera chip uses 17-bits for address space, but for sprites, the bottom 5 bits are ignored, so everything is aligned to 32 decimal ($20).
We were using a sprite project with multiple 32x32x4bpp sprites. However, with that extra metadata byte you add at the end of each sprite for the "chosen" color the C64 uses, throws everything out of whack because nothing after the first sprite aligns properly to the vera memory expected.
While you can use the
SPRMEM
command in BASIC to set the correct location of the sprite in memory, it unfortunately is bound by the vera limitation of aligning things to 32 decimal. For example, If you set sprite 1 to$3000
and sprite 2 to$3001
. Sprite 2 will actually align to$3000
and ignore what you told it. The next bit of memory you can align to is$3020
.The text was updated successfully, but these errors were encountered: