⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l1_system.c

📁 dz3000_51.0.0.4.rar
💻 C
📖 第 1 页 / 共 4 页
字号:
				   }
 	  break;
      case 0X0103 : //Video Playback (zoom)
  		           L2_SetFOSDIndex(1, 2, 0X075);
		           L2_SetFOSDIndex(1, 3, 0X068);
		           L2_SetFOSDIndex(1, 4, 0X063);
				   L2_SetFOSDIndex(1, 5, 0X064);
				   L2_SetFOSDIndex(1, 6, 0X06E);

		           L2_SetFOSDIndex(1, 8, 0X06F);
				   L2_SetFOSDIndex(1, 9, 0X06B);
                   L2_SetFOSDIndex(1,10, 0X060);
                   L2_SetFOSDIndex(1,11, 0X078);
				   L2_SetFOSDIndex(1,12, 0X061);
				   L2_SetFOSDIndex(1,13, 0X060);
				   L2_SetFOSDIndex(1,14, 0X062);
				   L2_SetFOSDIndex(1,15, 0X06A);


	         if(G_PVZFactor==20)
				   {
					L2_SetFOSDIndex(1, 17, 0X079);
					L2_SetFOSDIndex(1, 18, 0X06E);
                    L2_SetFOSDIndex(1, 19, 0X06E);
					L2_SetFOSDIndex(1, 20, 0X06C);
				   }
 	  break;
      case 0X0104 : //DSC Playback(zoom)
  		           L2_SetFOSDIndex(1, 2, 0X063);
		           L2_SetFOSDIndex(1, 3, 0X072);
		           L2_SetFOSDIndex(1, 4, 0X062);

		           L2_SetFOSDIndex(1, 6, 0X06F);
				   L2_SetFOSDIndex(1, 7, 0X06B);
                   L2_SetFOSDIndex(1, 8, 0X060);
                   L2_SetFOSDIndex(1, 9, 0X078);
				   L2_SetFOSDIndex(1,10, 0X061);
				   L2_SetFOSDIndex(1,11, 0X060);
				   L2_SetFOSDIndex(1,12, 0X062);
				   L2_SetFOSDIndex(1,13, 0X06A);
	         if(G_PBZFactor==20)
				   {
					L2_SetFOSDIndex(1, 15, 0X079);
					L2_SetFOSDIndex(1, 16, 0X06E);
                    L2_SetFOSDIndex(1, 17, 0X06E);
					L2_SetFOSDIndex(1, 18, 0X06C);
				   }
      break;
      case 0X0105 : //DSC Playback Pan
  		           L2_SetFOSDIndex(1, 2, 0X063);
		           L2_SetFOSDIndex(1, 3, 0X072);
		           L2_SetFOSDIndex(1, 4, 0X062);

		           L2_SetFOSDIndex(1, 6, 0X06F);
				   L2_SetFOSDIndex(1, 7, 0X06B);
                   L2_SetFOSDIndex(1, 8, 0X060);
                   L2_SetFOSDIndex(1, 9, 0X078);
				   L2_SetFOSDIndex(1,10, 0X061);
				   L2_SetFOSDIndex(1,11, 0X060);
				   L2_SetFOSDIndex(1,12, 0X062);
				   L2_SetFOSDIndex(1,13, 0X06A);

				   L2_SetFOSDIndex(1, 15, 0X06F);
				   L2_SetFOSDIndex(1, 16, 0X060);
                   L2_SetFOSDIndex(1, 17, 0X06D);
	  break;
      case 0X0106 : //Graphic OSD
  		           L2_SetFOSDIndex(1, 2, 0X066);
		           L2_SetFOSDIndex(1, 3, 0X071);
		           L2_SetFOSDIndex(1, 4, 0X060);
		           L2_SetFOSDIndex(1, 5, 0X06F);
		           L2_SetFOSDIndex(1, 6, 0X067);
		           L2_SetFOSDIndex(1, 7, 0X068);
		           L2_SetFOSDIndex(1, 8, 0X062);

		           L2_SetFOSDIndex(1, 12, 0X06E);
		           L2_SetFOSDIndex(1, 13, 0X072);
		           L2_SetFOSDIndex(1, 14, 0X063);
	  break;
      case 0X0107 : //Date Stamp
  		           L2_SetFOSDIndex(1, 2, 0X063);
		           L2_SetFOSDIndex(1, 3, 0X060);
		           L2_SetFOSDIndex(1, 4, 0X073);
		           L2_SetFOSDIndex(1, 5, 0X064);

		           L2_SetFOSDIndex(1,  9, 0X072);
		           L2_SetFOSDIndex(1, 10, 0X073);
		           L2_SetFOSDIndex(1, 11, 0X060);
		           L2_SetFOSDIndex(1, 12, 0X06C);
		           L2_SetFOSDIndex(1, 13, 0X06F);
	  break;
      case 0X0108 : //Delete Image
  		           L2_SetFOSDIndex(1, 2, 0X063);
		           L2_SetFOSDIndex(1, 3, 0X064);
		           L2_SetFOSDIndex(1, 4, 0X06B);
		           L2_SetFOSDIndex(1, 5, 0X064);
		           L2_SetFOSDIndex(1, 6, 0X073);
		           L2_SetFOSDIndex(1, 7, 0X064);

		           L2_SetFOSDIndex(1, 11, 0X068);
		           L2_SetFOSDIndex(1, 12, 0X06C);
		           L2_SetFOSDIndex(1, 13, 0X060);
		           L2_SetFOSDIndex(1, 14, 0X066);
		           L2_SetFOSDIndex(1, 15, 0X064);
	  break;
      case 0X0109 : //Play Audio
		           L2_SetFOSDIndex(1, 2, 0X06F);
				   L2_SetFOSDIndex(1, 3, 0X06B);
                   L2_SetFOSDIndex(1, 4, 0X060);
                   L2_SetFOSDIndex(1, 5, 0X078);

  		           L2_SetFOSDIndex(1, 9, 0X060);
		           L2_SetFOSDIndex(1, 10, 0X074);
		           L2_SetFOSDIndex(1, 11, 0X063);
		           L2_SetFOSDIndex(1, 12, 0X068);
		           L2_SetFOSDIndex(1, 13, 0X06e);

	  break;
      case 0X010A : //Record Audio
  		           L2_SetFOSDIndex(1, 2, 0X071);
		           L2_SetFOSDIndex(1, 3, 0X064);
		           L2_SetFOSDIndex(1, 4, 0X062);
		           L2_SetFOSDIndex(1, 5, 0X06e);
		           L2_SetFOSDIndex(1, 6, 0X071);
		           L2_SetFOSDIndex(1, 7, 0X063);

  		           L2_SetFOSDIndex(1, 9, 0X060);
		           L2_SetFOSDIndex(1, 10, 0X074);
		           L2_SetFOSDIndex(1, 11, 0X063);
		           L2_SetFOSDIndex(1, 12, 0X068);
		           L2_SetFOSDIndex(1, 13, 0X06e);
	  break;

	  default:
	  break;
   }

//patch4.5@richie@no use mark end
*/

 	  return;
 }

//patch4.3@richie@zo0607 begin
//patch5.0@richie@sdram mapping
//patch4.5@richie@smooth zoom
USHORT L1_DisplayZoomIn(UCHAR factor)
	{
		USHORT imghsize,imgvsize;
		USHORT hoffset,voffset;
		UCHAR imghzfac, imgvzfac;
		USHORT imggrp,hpixel,vline;
		USHORT dsphsize, dspvsize;
			UCHAR mode;
			UCHAR tmp;
		//patch4.4@richie@tv begin
		//adjust for lcdtv start point
		UCHAR tmp1,tmp2;
		USHORT lcdtvX0,lcdtvY0;
		USHORT lcdtvX1,lcdtvY1;
		//patch5.0@richie@sdram mapping
		USHORT zoomX;
		USHORT factorBuf;//wendy
	
		tmp1 = XBYTE[0x2D09];
		tmp2 = XBYTE[0x2D08];
		lcdtvX0 = ( ((USHORT)tmp1 << 8) | ((USHORT)tmp2) );
		tmp1 = XBYTE[0x2D0B];
		tmp2 = XBYTE[0x2D0A];
		lcdtvY0 = ( ((USHORT)tmp1 << 8) | ((USHORT)tmp2) );
		tmp1 = XBYTE[0x2D0D];
		tmp2 = XBYTE[0x2D0C];
		lcdtvX1 = ( ((USHORT)tmp1 << 8) | ((USHORT)tmp2) );
		tmp1 = XBYTE[0x2D0F];
		tmp2 = XBYTE[0x2D0E];
		lcdtvY1 = ( ((USHORT)tmp1 << 8) | ((USHORT)tmp2) );
	//printf("\nZoom lcdtv = (%d,%d) (%d,%d)\n",lcdtvX0,lcdtvY0,lcdtvX1,lcdtvY1);
	//printf("Zoom width = %d,height = %d\n",(lcdtvX1 - lcdtvX0 + 1),(lcdtvY1 - lcdtvY0 + 1));
		//patch4.4@richie@tv end
	
			tmp = MemStretch;
			MemStretch = 0x01;
	
		mode = XBYTE[0x2D00];
	
		//patch4.4@richie@flip
		mode = mode & 0x0F;
	
	
		if(mode<8&mode%2==0)	// NTSC display size
			{
			//patch4.4@richie@tv begin
			//dsphsize = 720;dspvsize = 240;
			dsphsize = (lcdtvX1 - lcdtvX0 + 1);
			dspvsize = (lcdtvY1 - lcdtvY0 + 1);
			//patch4.4@richie@tv end
			}
		else if(mode<8&mode%2==1) // PAL display size
			{
			//patch4.4@richie@tv begin
			//dsphsize = 720;dspvsize = 288;
			dsphsize = (lcdtvX1 - lcdtvX0 + 1);
			dspvsize = (lcdtvY1 - lcdtvY0 + 1);
			//patch4.4@richie@tv end
			}
		else if(mode==8)	// UPS051 or AU015BL01 or CASIO2G1181 or CASIO2G1163
			{
		#ifdef UPS051
				dsphsize = 288;dspvsize = 220;
		#endif
	
		#ifdef AU015BL01
				dsphsize = 520;dspvsize = 250;
		#endif
	
			// patch 5.2.1_28@mattwang@rename CASIO2G to CASIO2G1181 beg
		#ifdef CASIO2G1181	//patch5.2.1@cwh@CASIO2G;2003/09/24
				dsphsize = 480;dspvsize = 240;
		#endif
			// patch 5.2.1_28@mattwang@rename CASIO2G to CASIO2G1181 end
	
			// patch 5.2.1_28@mattwang@add CASIO2G1163 LCD pannel beg
		#ifdef CASIO2G1163
			// patch 5.2.1_31@mattwang@fix CASIO2G1163 setting beg
				dsphsize = 280;dspvsize = 226;//220;  // 20040414 mattwang modify
			// patch 5.2.1_31@mattwang@fix CASIO2G1163 setting end
		#endif
			// patch 5.2.1_28@mattwang@add CASIO2G1163 LCD pannel end
			}
		else if(mode==9)	// AU015AN02 or AU015AN04
			// patch 5.2.1_33@mattwang@add AU015AN04 LCD pannel beg
			{
        #ifdef AU015AN02
				dsphsize = 312;dspvsize = 220;
        #endif
        #ifdef AU015AN04
				dsphsize = 340;dspvsize = 220;
        #endif
			}
			// patch 5.2.1_33@mattwang@add AU015AN04 LCD pannel end
		else if(mode==10)	// EPSON LCD panel
			{dsphsize = 312;dspvsize = 230;}
		else if(mode==11)	// CASIO LCD panel
			{dsphsize = 354;dspvsize = 240;}
		else if(mode==12)	// GiantPlus STN LCD panel
			{
		#ifdef STNLCD
				dsphsize = 240;dspvsize = 160;
		#endif
		#ifdef STNLCD160
			//patch4.2@richie@0523
				// patch 5.2.1_32@mattwang@fix STNLCD160 & STNLCD128 setting beg
				//dsphsize = 161;dspvsize = 120;  // 20040423 mattwang mark
				dsphsize = 160;dspvsize = 120;	// 20040423 mattwang modify
				// patch 5.2.1_32@mattwang@fix STNLCD160 & STNLCD128 setting end
		#endif
			// patch 5.2.1_30@mattwang@add STNLCD128 LCD pannel beg
		#ifdef STNLCD128
				dsphsize = 128;dspvsize = 128;
		#endif
			// patch 5.2.1_30@mattwang@add STNLCD128 LCD pannel end
			}
		else if(mode==14)	// PrimeView TFT LCD panel
			{dsphsize = 640;dspvsize = 480;}
		else if(mode==15)	// USER define
			{dsphsize = 800;dspvsize = 600;}
	
		if(XBYTE[0x2746]==0x01|XBYTE[0x2748]==0x00){
			imgvsize = (XBYTE[0x2763]<<8)+XBYTE[0x2762];
			imghsize = (XBYTE[0x2761]<<8)+XBYTE[0x2760];
			}
		else{
			imgvsize = (XBYTE[0x2767]<<8)+XBYTE[0x2766];
			imghsize = (XBYTE[0x2765]<<8)+XBYTE[0x2764];
			}
	//patch5.0@richie@sdram mapping begin
	//printf("factor=%bd,imghsize=%d,imgvsize=%d\n",factor,imghsize,imgvsize);
	//	voffset = (imgvsize/2)*factor/(factor+10);
	//	hoffset = (imghsize/2)*factor/(factor+10);
//		hoffset = (2 * (ULONG)factor);//wendy@2004/8/10
//		voffset = ((2 * (ULONG)factor) * (ULONG)imgvsize / (ULONG)imghsize);
      factorBuf=(((ULONG)factor-10)*(ULONG)imghsize)/(4*(ULONG)factor);
       hoffset = (2 * (ULONG)factorBuf);
	voffset = ((2 * (ULONG)factorBuf) * (ULONG)imgvsize / (ULONG)imghsize);

	//printf("factor=%bd,hoffset=%d,voffset=%d\n",factor,hoffset,voffset);
	//	vline = (imgvsize*10)/(factor+10);
	//	hpixel = (imghsize*10)/(factor+10);
	
		if ( ((voffset * 2) >= imgvsize) || ((hoffset * 2) >= imghsize) )
		{
			return 0;
		}
		hpixel = imghsize - (hoffset * 2);
		vline = imgvsize - (voffset * 2);
	
		zoomX = (imghsize * 100) / hpixel;
	//patch5.0@richie@sdram mapping end
	//printf("factor=%bd,hpixel=%d,vline=%d\n",factor,hpixel,vline);
			if(hpixel%16==0)	imggrp = (hpixel >> 4);
			else imggrp = (hpixel >> 4) + 1;
		imgvzfac = ((ULONG)vline*(ULONG)32)/(ULONG)dspvsize;
		imghzfac = ((ULONG)hpixel*(ULONG)128)/(ULONG)dsphsize;
	//printf("factor=%bd,imgvzfac=%bx,imghzfac=%bx\n",factor,imgvzfac,imghzfac);
	//printf("factor=%bd,dsphsize=%d,dspvsize=%d\n",factor,dsphsize,dspvsize);
	
		///while ((XBYTE[0x2DA0] & 0x08) == 0x08);
	
		//patch4.4@richie@flip begin
		//adjust the flip offset
	//	printf(" hoffset = %x	voffset = %x \n",hoffset,voffset);
	//	printf(" imghsize = %x	 imgvsize = %x \n",imghsize,imgvsize);
		if ((G_ucFlip & 0x01) != 0)// H-flip
		{
			hoffset = (imghsize - 1) - hoffset;
			XBYTE[0x2D00] |= 0x10;
		}
		if ((G_ucFlip & 0x02) != 0)// V-flip
		{
			voffset = (imgvsize - 1) - voffset;
			XBYTE[0x2D00] |= 0x20;
			XBYTE[0x2D01] |= 0x04;
		}
		else
		{
			XBYTE[0x2D01] &= 0xFB;
		}
		//patch4.4@richie@flip end
	//	printf(" hoffset = %x	voffset = %x \n",hoffset,voffset);
	//	printf(" imghsize = %x	 imgvsize = %x \n",imghsize,imgvsize);
	
	
		XBYTE[0x2D1C] = voffset/256;	// voffset high byte
		XBYTE[0x2D1B] = voffset%256;	// voffset low byte
		XBYTE[0x2D1E] = hoffset/256;	// hoffset high byte
		XBYTE[0x2D1D] = ((hoffset%256)/2)*2;	// hoffset low byte
	
		XBYTE[0x2D19] = imgvzfac;
		XBYTE[0x2D1A] = imghzfac;
		XBYTE[0x2D1F] = imggrp;
	
	//	printf(" imghsize = %X	 imgvsize = %x \n",imghsize,imgvsize);
	//	printf(" hpixel = %X   vline = %x \n",hpixel,vline);
	//	printf("imghzfac=%bx, imgvzfac=%bx, imggrp=%x \n================\n",imghzfac,imgvzfac,imggrp);
	
			MemStretch = tmp;
	
		//patch5.0@richie@sdram mapping
		G_usZoomX = zoomX;
	
		//patch5.0@richie@sdram mapping
		return zoomX;
	}

//patch4.3@richie@zo0607 end
//patch4.5@richie@smooth zoom end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -