GD.c
// write sprite control lines, 32 bits, mostly used for bulk writing
write sprite control lines, 32 bits, mostly used for bulk writing
write sprite control lines 32 bits mostly used for bulk writing
void vis_gd_xsprite(int ox, int oy, int x, int y, byte image, byte palette, byte rot, byte jk)
{
  if (rot & 2)
    x = -16-x;
  if (rot & 4)
    y = -16-y;
  if (rot & 1) {
    int s;
    s = x; x = y; y = s;
  }
  ox += x;
  oy += y;
  vis_spi_transfer(lowByte(ox));
  vis_spi_transfer((palette << 4) | (rot << 1) | (highByte(ox) & 1));
  vis_spi_transfer(lowByte(oy));
  vis_spi_transfer((jk << 7) | (image << 1) | (highByte(oy) & 1));
  current_spr++;
}
void vis_gd_xsprite ( int ox , int oy , int x , int y , byte image , byte palette , byte rot , byte jk ) { if ( rot & 2 ) x = -16 - x ; if ( rot & 4 ) y = -16 - y ; if ( rot & 1 ) { int s ; s = x ; x = y ; y = s ; } ox += x ; oy += y ; vis_spi_transfer ( lowByte ( ox ) ) ; vis_spi_transfer ( ( palette << 4 ) | ( rot << 1 ) | ( highByte ( ox ) & 1 ) ) ; vis_spi_transfer ( lowByte ( oy ) ) ; vis_spi_transfer ( ( jk << 7 ) | ( image << 1 ) | ( highByte ( oy ) & 1 ) ) ; current_spr ++ ; }
write sprite control lines, 32 bits, mostly used for bulk writing
write sprite control lines 32 bits mostly used for bulk writing