Thanks, I tried your solution and I noticed that there is a bug with the sset function (and surely with the sget function too)
It should be
-- set spriteheet pixel function sset(x,y,c) local addr=0x4000+(x//8+y//8*16)*32 -- get sprite address poke4(addr*2+x%8+y%8*8,c) -- set sprite pixel end
and not
-- set spriteheet pixel function sset(x,y,c) local addr=0x4000+(x//8+y//8*16)*16 -- get sprite address poke4(addr*2+x%8+y%8*8,c) -- set sprite pixel end