static void skykid_draw_sprites(osd_bitmap bitmap)
	{
		int offs;
	
		for (offs = 0; offs < spriteram_size[0]; offs += 2){
			int number = spriteram.read(offs) | ((spriteram_3.read(offs) & 0x80) << 1);
			int color = (spriteram.read(offs+1) & 0x3f);
			int sx = 256 - ((spriteram_2.read(offs+1)) + 0x100*(spriteram_3.read(offs+1) & 0x01)) + 72;
			int sy = spriteram_2.read(offs) - 7;
			int flipy = spriteram_3.read(offs) & 0x02;
			int flipx = spriteram_3.read(offs) & 0x01;
			int width, height;
	
			if (number >= 128*3) continue;
	
			switch (spriteram_3.read(offs) & 0x0c){
				case 0x0c:	/* 2x both ways */
					width = height = 2; number &= (~3); break;
				case 0x08:	/* 2x vertical */
					width = 1; height = 2; number &= (~2); break;
				case 0x04:	/* 2x horizontal */
					width = 2; height = 1; number &= (~1); break;
				default:	/* normal sprite */
					width = height = 1; sx += 16; break;
			}
	
			{
				int x_offset[]= { 0x00, 0x01 };
				int y_offset[] = { 0x00, 0x02 };
				int x,y, ex, ey;
	
				for( y=0; y < height; y++ ){
					for( x=0; x < width; x++ ){
						ex = flipx!=0 ? (width-1-x) : x;
						ey = flipy!=0 ? (height-1-y) : y;
	
						drawgfx(bitmap,Machine.gfx[2+(number >> 7)],
							(number)+x_offset[ex]+y_offset[ey],
							color,
							flipx, flipy,
							sx+x*16,sy+y*16,
							Machine.drv.visible_area,
							TRANSPARENCY_COLOR,255);
					}
				}
			}
		}
	}