static void drawplayfield(int n, osd_bitmap bitmap)
	{
		
	
		if (taitosj_video_enable!=0 & playfield_enable_mask[n]!=0)
		{
			int i,scrollx;
                        int[] scrolly=new int[32];
	
	
			scrollx = taitosj_scroll.read(2*n);
			if (flipscreen[0]!=0)
				scrollx =  (scrollx & 0xf8) + ((scrollx + fudge1[n]) & 7) + fudge2[n];
			else
				scrollx = -(scrollx & 0xf8) + ((scrollx + fudge1[n]) & 7) + fudge2[n];
	
			if (flipscreen[1]!=0)
			{
				for (i = 0;i < 32;i++)
					scrolly[31-i] =  taitosj_colscrolly.read(32*n+i) + taitosj_scroll.read(2*n+1);
			}
			else
			{
				for (i = 0;i < 32;i++)
					scrolly[i]    = -taitosj_colscrolly.read(32*n+i) - taitosj_scroll.read(2*n+1);
			}
	
			copyscrollbitmap(bitmap,taitosj_tmpbitmap[n],1,new int[]{scrollx},32,scrolly,Machine.drv.visible_area,TRANSPARENCY_COLOR,0);
	
			/* store parts covered with sprites for sprites/playfields collision detection */
			for (i=0x00; i<0x20; i++)
			{
				if ((i >= 0x10) && (i <= 0x17)) continue; /* no sprites here */
				if (spriteon[i]!=0)
					copyscrollbitmap( sprite_plane_collbitmap2[n],taitosj_tmpbitmap[n],1,new int[] {scrollx},32,scrolly,spritearea[i],TRANSPARENCY_NONE,0);
			}
		}
	}