ADDR - is address FG(BG addres + 256 sprites)
It may be different, at your discretion.
I agree, not quite correctly written, it will be more accurate:
SPRITE_ADDR=0x4000
BYTES_IN_SPR=32
SPR_IX=256
ADDR=(SPRITE_ADDR+BYTES_IN_SPR*SPR_IX)*2
Ok thanks.
So basically using 2-bit instead of 4-bit sprites does not make any difference in the number of sprites you have available. The number is always 512 (256 FG + 256 BG).
If you want more sprites, you can use the LZW compression and compress a sprite sheet as a string of text. Is that correct?
"So basically using 2-bit instead of 4-bit sprites does not make any difference in the number of sprites you have available. The number is always 512 (256 FG + 256 BG)." - this is not true.
I updated the example - https://tic.computer/play?cart=100
Now in the example the difference is more noticeable:
4-bit sprite takes 12 cells (4x3) -> 32x24 pixels -> 768 pixels
2 bit takes 6 cells (6х1) -> 48x8 pixels -> 384 pixels
But you lose the ability to view / edit graphics in the built-in editor and and API functions are not suitable for printing to the screen.