I've written this up (but haven't tested it yet) and thought somebody here might have a better way to do it.
int DoubleBits(int bits)
{
int i;
int mask;
int result;
mask = 0x80;
result = 0;
for(i=0;i<8;i++)
{
result = (result << 2) + ((bits & mask) ? 3 : 0);
mask >>= 1;
}
return result;
}
To make that a QuadBits for the 4x sprites, I'd just change the 1 line to
result = (result << 4) + ((bits & mask) ? 15 : 0);