亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mstar.lst

?? MSTARXX.rar
?? LST
?? 第 1 頁 / 共 5 頁
字號:
1160   1          #if VGA_ENABLE
1161   1          if( IsVGAInUse())
1162   1          {
1163   2              if( g_bInputTimingChangeFlag || SyncLossState() || UnsupportedModeFlag )
1164   2                  return FALSE;
1165   2          }
1166   1          else // Digital port
1167   1          #endif
C51 COMPILER V8.18   MSTAR                                                                 09/29/2009 23:58:02 PAGE 20  

1168   1          {
1169   2              if( (SIG_NONE == g_VdInfo.ucVideoSystem)
1170   2                ||(0 ==(g_VdInfo.wVideoStatus&VD_HSYNC_LOCKED)))
1171   2                  return FALSE;
1172   2          }
1173   1          return TRUE;
1174   1      }
1175          
1176          
1177          void SetOutputTimingAndWindow( BYTE ucOutputTimingCtl )
1178          {
1179   1          // Get input sync info
1180   1          if( IsSrcHasSignal() || (ucOutputTimingCtl&OUTPUT_SNOW) ) // Has signal or snow
1181   1          {
1182   2              GetInputSignalHV();
1183   2          }
1184   1          else // No signal or Freerun
1185   1          {
1186   2              g_InOutCtl.inOutVFreq = 60;
1187   2      
1188   2              if( g_InOutCtl.inOutVFreq == 50 )
1189   2              {
1190   3                  g_InOutCtl.inHFreq = 15625;
1191   3                  g_InOutCtl.inVTotal = 625;
1192   3              }
1193   2              else // 60 Hz
1194   2              {
1195   3                  g_InOutCtl.inHFreq = 15734;
1196   3                  g_InOutCtl.inVTotal = 525;
1197   3              }
1198   2              g_InOutCtl.inHPeriod = MST_CLOCK_HZ/g_InOutCtl.inHFreq;
1199   2          }
1200   1      
1201   1          msProgWindow( ucOutputTimingCtl );
1202   1          msSetOutputTiming( ucOutputTimingCtl ); // This function must after msProgWindow()
1203   1      
1204   1          #if (PANEL_TYPE>=PanelSHARP08_DT) //for digital panel only
                  if(ucOutputTimingCtl&OUTPUT_SNOW) // Has signal or snow
                      msWriteRegsTbl(tTVSnowModeTbl);
                  #endif
1208   1      }
1209          
1210          void msSetScaler(void)
1211          {
1212   1      #if (!WidePanel)
                 msLoadModeIndexTBL(tModeIndexTbl);
              #else
1215   1      
1216   1        BYTE  ucBank;
1217   1        WORD  ulNewHsize,uwInput_H_Resol,uwTemp;
1218   1        DWORD ulH_Scaling_Factor, ulTemp;
1219   1      
1220   1          ucBank = msReadByte(BK0_00_REGBK); // store bank
1221   1          msWriteByte( BK0_00_REGBK, REG_BANK_SCALER); // bank 1
1222   1      
1223   1          if (g_VideoSetting.Scaling==Scaling_Full)
1224   1          {
1225   2          #if VGA_ENABLE
1226   2              if(IsVGAInUse())
1227   2                      SetScalingRatio( g_InOutCtl.bInterlace );
1228   2              else
1229   2          #endif
C51 COMPILER V8.18   MSTAR                                                                 09/29/2009 23:58:02 PAGE 21  

1230   2             SetScalingRatio( 1 );
1231   2             msWriteWord(BK0_49_SIHST_H, PanelHStart);         // horizontal DE start
1232   2             msWriteWord(BK0_43_HFDEST_H, PanelHStart);         // horizontal DE start
1233   2             msWriteWord(BK0_4D_SIHEND_H, (PanelHStart + PanelWidth - 1)); // Image H end
1234   2             msWriteWord(BK0_47_HFDEEND_H, (PanelHStart+ PanelWidth - 1));   // horizontal DE end
1235   2      
1236   2             msLoadModeIndexTBL(tModeIndexTbl);
1237   2             //printMsg("test 169");
1238   2          }
1239   1          else
1240   1          {
1241   2            msWriteByte(BK0_38_NLDTI, 0x00);                          // Disable Nonlinear scaling function
1242   2      
1243   2            //ulNewHsize=PANEL_DOT_HEIGHT;//X*4/3=>4:3,X/3=>3dot in 1 pixel
1244   2            //ulNewHsize=ulNewHsize*PanelHeight;
1245   2            //ulNewHsize=ulNewHsize/PANEL_DOT_WIDTH;
1246   2            //ulNewHsize=(ulNewHsize*SCAL_RATIO_NUMERATOR)/(SCAL_RATIO_DENOMINATOR*3);
1247   2            ulNewHsize=PanelWidth*3/4;
1248   2      
1249   2            uwInput_H_Resol = msReadWord(BK0_0C_SPRHDC_H);//Get Input H resolution
1250   2      
1251   2            //New start point
1252   2            uwTemp = PanelHStart+ (PanelWidth- ulNewHsize )/2;
1253   2            msWriteWord(BK0_49_SIHST_H,uwTemp);//new Start    //BK0_48_SIHST_L, BK0_49_SIHST_H
1254   2            msWriteWord(BK0_43_HFDEST_H,uwTemp);
1255   2      
1256   2            // New end point
1257   2            msWriteWord(BK0_4D_SIHEND_H,uwTemp+ulNewHsize);//new End //BK0_4C_SIHEND_L, BK0_4D_SIHEND_H
1258   2            msWriteWord(BK0_47_HFDEEND_H,uwTemp+ulNewHsize);
1259   2      
1260   2            // Get new scaling factor
1261   2            ulH_Scaling_Factor = (DWORD)ulNewHsize <<20 ;
1262   2            ulTemp = (DWORD)uwInput_H_Resol*(SCAL_CUTOFF_RESOL - SCAL_CUTOFF_H_PER);
1263   2            ulH_Scaling_Factor /= (ulTemp/SCAL_CUTOFF_RESOL);
1264   2      
1265   2            // Mask the front and back block
1266   2            // msWriteWord(BK0_5D_FRAME_COLOR_2,0);//BK0_5C_FRAME_COLOR_1, BK0_5D_FRAME_COLOR_2
1267   2      
1268   2            ulH_Scaling_Factor += 0xC00;//0xc00 get from fine tune
1269   2      
1270   2            msWriteWord(BK0_31_SRH_M,(unsigned int)(ulH_Scaling_Factor&0xFFF000) );//BK0_30_SRH_L,BK0_31_SRH_M
1271   2            msWriteByte(BK0_32_SRH_H,(unsigned char)((ulH_Scaling_Factor&0x0F0000)>>16)+0xC0);
1272   2            //printMsg("test 43");
1273   2          }
1274   1      
1275   1          msWriteByte( BK0_00_REGBK, ucBank); // bank 1
1276   1      #endif
1277   1      }
1278          
1279          
1280          void msSetLineBufferClock( BYTE ucModeIdx, BYTE ucOutputClock )
1281          {
1282   1          BYTE ucInputClock;
1283   1          BYTE ucBank;
1284   1          BYTE ucBk0_36_val = 0; // Use default clock
1285   1      
1286   1          ucInputClock = ((float)GetStdModeHTotal(ucModeIdx)*GetStdModeHFreq(ucModeIdx))/10000;
1287   1      
1288   1      #ifndef D800480PANEL
1289   1          if( ucInputClock > 50 )
1290   1              ucBk0_36_val = 0x80; // Using input clock
1291   1          else
C51 COMPILER V8.18   MSTAR                                                                 09/29/2009 23:58:02 PAGE 22  

1292   1      #endif
1293   1              ucInputClock = 50;
1294   1      
1295   1          if( ucOutputClock > ucInputClock )
1296   1              ucBk0_36_val = 0x40; // Using output clock
1297   1      
1298   1          ucBank = msReadByte( BK0_00_REGBK);
1299   1          msWriteByte( BK0_00_REGBK, 0 );
1300   1          msWriteByteMask( BK0_36_VDSUSG, ucBk0_36_val, 0xC0 );
1301   1          msWriteByte( BK0_00_REGBK, ucBank );
1302   1      }
1303          
1304          void msSetOutputFreeRunClock( BYTE ucVFreq )
1305          {
1306   1          BYTE ucBank = msReadByte( BK0_00_REGBK);
1307   1      
1308   1          msWriteByte( BK0_00_REGBK, REG_BANK_SCALER);
1309   1      
1310   1      #if PANEL_ANALOG_TCON
1311   1          if( ucVFreq != 60 )
1312   1              msWrite3Bytes( BK0_27_OPL_SET2, PANEL_FREE_RUN_DCLK_FACTOR*60/ucVFreq/3 );
1313   1          else
1314   1              msWrite3Bytes( BK0_27_OPL_SET2, PANEL_FREE_RUN_DCLK_FACTOR/3 );
1315   1      #else
                  if( ucVFreq != 60 )
                      msWrite3Bytes( BK0_27_OPL_SET2, PANEL_FREE_RUN_DCLK_FACTOR*60/ucVFreq );
                  else
                      msWrite3Bytes( BK0_27_OPL_SET2, PANEL_FREE_RUN_DCLK_FACTOR );
              #endif
1321   1      
1322   1          msSetLineBufferClock( MD_720x480_60I, PANEL_FREE_RUN_DCLK/1000000);
1323   1      
1324   1          msWriteByte( BK0_00_REGBK, ucBank );
1325   1      }
1326          
1327          void SetOutputClock( BYTE ucOutputTimingCtl )
1328          {
1329   1          //printf("\r\nmsSetOutputClock(%x)", ucOutputTimingCtl);
1330   1      
1331   1          WatchDogClear();
1332   1      
1333   1          if( ucOutputTimingCtl&OUTPUT_FREERUN )
1334   1          {
1335   2              msSetOutputFreeRunClock( 60 );
1336   2          }
1337   1          else
1338   1          {
1339   2              msLCDSetClock();
1340   2          }
1341   1      
1342   1          WatchDogClear();
1343   1      }
1344          
1345          void msLCDSetClock(void)
1346          {
1347   1          BYTE ucBank;
1348   1          XDATA WORD wInputHPeriod; // horizontal period
1349   1          XDATA WORD wOutputClock;
1350   1          XDATA DWORD dwClockFactor; // clock factor
1351   1      
1352   1          wInputHPeriod = g_InOutCtl.inHPeriod;
1353   1      
C51 COMPILER V8.18   MSTAR                                                                 09/29/2009 23:58:02 PAGE 23  

1354   1          ucBank = msReadByte( BK0_00_REGBK);
1355   1          msWriteByte( BK0_00_REGBK, REG_BANK_SCALER );
1356   1      
1357   1          if( IsVGAInUse() )
1358   1          {
1359   2              // get more accurate horzontal total for output
1360   2              if( wInputHPeriod > (MST_H_PERIOD_MASK / 16) ) // check overflow
1361   2              {
1362   3                  wInputHPeriod = wInputHPeriod * 16;
1363   3              }
1364   2              else // general
1365   2              {
1366   3                  WORD wVSyncTime; // VSync time
1367   3      
1368   3                  msWriteBit( BK0_E8_HSTOL, 1, _BIT6 ); // enable 16 line to calculate hsync period
1369   3      
1370   3                  wVSyncTime = ((WORD)msCalculateVSyncTime() * 3);
1371   3                  Delay1ms(wVSyncTime); // delay for stable
1372   3      
1373   3                  wInputHPeriod = msGetHorizontalPeriod();
1374   3                  if (abs((wInputHPeriod / 16) - g_wHorizontalPeriod) > 5)
1375   3                      wInputHPeriod = g_wHorizontalPeriod * 16;
1376   3      
1377   3                  msWriteBit( BK0_E8_HSTOL, 0, _BIT6 ); // recovry one line to calculate hsync period
1378   3                  Delay1ms(wVSyncTime);
1379   3              }
1380   2          }
1381   1          else
1382   1          {
1383   2              wInputHPeriod *= 16;
1384   2          }
1385   1      
1386   1          // Cal output clock
1387   1          {
1388   2              // if expansion, chip will assume output clock is faster than input clock,
1389   2      #if (SCALING_FORMULA)
1390   2              wOutputClock = (((float)PanelMinHTotal * (PanelHeight-1) * MST_CLOCK_KHZ * 16) + 500) /
1391   2                              ((float)wInputHPeriod * (g_WindowInfo.V_CapSize-1) * 1000);
1392   2      #else
                      wOutputClock = (((float)PanelMinHTotal * (PanelHeight) * MST_CLOCK_KHZ * 16) + 500) /
                                      ((float)wInputHPeriod * (g_WindowInfo.V_CapSize) * 1000);
              #endif
1396   2              if( g_InOutCtl.bInterlace )
1397   2              {
1398   3                  wOutputClock *= 2;
1399   3              }
1400   2          }
1401   1      
1402   1      #if (SCALING_FORMULA)
1403   1          dwClockFactor = ((float)wInputHPeriod*(g_WindowInfo.V_CapSize-1)*524288ul*PANEL_MASTER_PLL_DIVIDER)/
1404   1                          ((float)PanelMinHTotal*(PanelHeight-1)*16);
1405   1      #else
                  dwClockFactor = ((float)wInputHPeriod*(g_WindowInfo.V_CapSize)*524288ul*PANEL_MASTER_PLL_DIVIDER)/
                                  ((float)PanelMinHTotal*(PanelHeight)*16);
              #endif
1409   1      
1410   1          if( g_InOutCtl.bInterlace )
1411   1          {
1412   2              dwClockFactor /= 2;
1413   2          }
1414   1      
1415   1      #if (PANEL_ANALOG_TCON)
C51 COMPILER V8.18   MSTAR                                                                 09/29/2009 23:58:02 PAGE 24  

1416   1              dwClockFactor /= 3;
1417   1      #endif
1418   1      
1419   1          printf("\r\nDclk %dMhz", (DClkFactor+dwClockFactor/2)/dwClockFactor/2);
1420   1      
1421   1          msWrite3Bytes( BK0_27_OPL_SET2, dwClockFactor );
1422   1          msSetLineBufferClock( g_ucSrcModeIndex, wOutputClock );
1423   1          msWriteByte( BK0_00_REGBK, ucBank );
1424   1      }
1425          
1426          #if(ENABLE_MONITOR_VTOTAL)
              XDATA WORD g_wMsMonitorVTotal_OriginalVCapsize;
              XDATA WORD g_wMsMonitorVTotal_LastVTotal;
              XDATA WORD g_wMsMonitorVTotal_VTotalChangeCnt;
              void msMonitorVTotal( BYTE ucFlag )
              {
                  BYTE ucBank;
                  WORD wCurVTotal;
                  bit bVTotalChange = 0;
              
              
                  ucBank = msReadByte( BK0_00_REGBK);
                  msWriteByte( BK0_00_REGBK, REG_BANK_SCALER);
              
                  wCurVTotal = msVDGetVTotal();
              
                  if( ucFlag&1 ) // Reset
                  {
                      g_wMsMonitorVTotal_OriginalVCapsize = msReadWord( BK0_0A_SPRVDC_H);
                      g_wMsMonitorVTotal_VTotalChangeCnt = 0;
                          g_wMsMonitorVTotal_LastVTotal = 0;
            

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产99| 日韩美一区二区三区| 国产69精品久久久久777| 麻豆精品一区二区三区| 日韩国产在线一| 亚洲成年人网站在线观看| 亚洲一区二区综合| 一区二区三区国产精品| 亚洲午夜精品网| 天天操天天干天天综合网| 日本免费在线视频不卡一不卡二| 亚洲一区精品在线| 免费成人结看片| 黑人巨大精品欧美黑白配亚洲| 九九国产精品视频| 国产大陆a不卡| 91在线免费看| 欧美日韩久久久| 欧美mv日韩mv亚洲| 国产精品久久久爽爽爽麻豆色哟哟| 中文字幕亚洲电影| 午夜精品福利一区二区三区蜜桃| 偷窥少妇高潮呻吟av久久免费| 久久99精品国产.久久久久久| 国产一区视频在线看| 99精品国产91久久久久久| 欧美综合欧美视频| 久久夜色精品国产欧美乱极品| 亚洲午夜在线视频| 日本sm残虐另类| 国产99久久久精品| 欧美在线不卡一区| 精品国产区一区| 亚洲少妇30p| 青椒成人免费视频| 色综合久久中文综合久久牛| 91精品国产色综合久久久蜜香臀| 久久精品亚洲乱码伦伦中文| 亚洲成a人v欧美综合天堂| 国产精品亚洲午夜一区二区三区| 91小视频在线观看| 2014亚洲片线观看视频免费| 亚洲免费在线观看| 欧美一区二区三区不卡| 国产精品美女久久久久久久| 亚洲高清视频中文字幕| 国产激情偷乱视频一区二区三区| 色狠狠色狠狠综合| 久久久电影一区二区三区| 日韩中文欧美在线| 91蜜桃网址入口| 亚洲欧洲国产日本综合| 91久久精品一区二区| 久久久一区二区三区捆绑**| 亚洲国产成人精品视频| a亚洲天堂av| 精品国产1区二区| 天堂一区二区在线| 在线视频一区二区三| 中文无字幕一区二区三区| 久久精品国产成人一区二区三区| 日本高清视频一区二区| 中文字幕国产精品一区二区| 久久精品国产亚洲高清剧情介绍| 欧美日韩你懂得| 一区二区激情小说| 色欧美片视频在线观看在线视频| 亚洲国产精品精华液ab| 国产精品自拍三区| 26uuu精品一区二区在线观看| 日本麻豆一区二区三区视频| 欧美亚洲动漫精品| 一区二区三区四区高清精品免费观看| 成人午夜激情片| 久久久久久久久伊人| 国产精品一区二区男女羞羞无遮挡| 日韩午夜在线播放| 免费xxxx性欧美18vr| 欧美一区二区三区白人| 日韩电影网1区2区| 欧美一区二区三区视频在线观看| 五月激情综合婷婷| 日韩欧美一二区| 久久疯狂做爰流白浆xx| 精品国产乱码久久久久久浪潮| 免费看日韩a级影片| 久久一夜天堂av一区二区三区| 国产精品一区二区91| 国产精品成人免费精品自在线观看| 国产剧情在线观看一区二区| 中文字幕av一区 二区| 97久久精品人人澡人人爽| 亚洲精品视频在线看| 欧美日本免费一区二区三区| 日韩国产欧美在线视频| 欧美精品一级二级| 国产日韩精品一区| 99国产精品久久久久久久久久久| 亚洲精品你懂的| 欧美剧在线免费观看网站| 久88久久88久久久| 国产精品少妇自拍| 欧美色图激情小说| 久久99精品久久久久久久久久久久| 国产免费成人在线视频| 91黄色激情网站| 久久se精品一区精品二区| 国产欧美视频一区二区| 欧美图片一区二区三区| 国产乱码精品1区2区3区| 伊人色综合久久天天人手人婷| 3751色影院一区二区三区| 国产高清精品在线| 调教+趴+乳夹+国产+精品| 久久久www成人免费毛片麻豆| 色欲综合视频天天天| 韩国精品主播一区二区在线观看| 亚洲欧洲99久久| 日韩欧美一级二级| 日本高清免费不卡视频| 国产成人精品综合在线观看 | 亚洲精品videosex极品| 日韩一区二区三区四区| eeuss鲁片一区二区三区在线看| 日产国产高清一区二区三区| 中文字幕在线一区二区三区| 日韩一级片网址| 一本久久a久久精品亚洲| 精品制服美女丁香| 亚洲chinese男男1069| 中文字幕日韩一区二区| 精品乱人伦一区二区三区| 欧美三级视频在线观看| 99久久国产综合精品女不卡| 国产一区在线观看麻豆| 久久爱www久久做| 秋霞成人午夜伦在线观看| 亚洲亚洲人成综合网络| 亚洲蜜臀av乱码久久精品| 国产精品视频九色porn| 久久久久久久久久久电影| 日韩一区二区三区四区| 51午夜精品国产| 欧美日本国产一区| 91成人免费网站| 在线亚洲+欧美+日本专区| 97精品电影院| 成人av资源下载| 成人高清免费观看| 99久久久国产精品| 午夜视频一区二区| 亚洲成人tv网| 亚洲国产欧美日韩另类综合| 亚洲精品欧美综合四区| 中文字幕佐山爱一区二区免费| 国产免费成人在线视频| 国产精品免费人成网站| 成人91在线观看| 91在线porny国产在线看| 日韩欧美第一区| 成人美女视频在线看| www.日本不卡| 色综合久久中文字幕综合网| 色婷婷精品大视频在线蜜桃视频| 色av一区二区| 欧美欧美欧美欧美| 麻豆精品视频在线观看免费| 久久99久久精品| hitomi一区二区三区精品| 99精品视频一区二区三区| 日韩精品在线网站| 国产网站一区二区| 国产精品传媒入口麻豆| 一区二区三区在线免费播放| 亚洲国产美女搞黄色| 国产自产视频一区二区三区| 国产精品一二三四区| 91久久一区二区| 日韩欧美卡一卡二| 国产人成亚洲第一网站在线播放 | 欧美日韩综合一区| 欧美成人女星排名| 一区二区三区高清在线| 91福利精品视频| 日韩欧美色综合| 国产精品私人自拍| 亚洲综合一二三区| 国精产品一区一区三区mba桃花 | 亚洲精品免费视频| 免费av网站大全久久| 成人v精品蜜桃久久一区| 5月丁香婷婷综合| 一区免费观看视频| 九色|91porny| 欧美亚洲国产bt| 欧美国产精品专区| 青青草成人在线观看| av在线免费不卡| 2014亚洲片线观看视频免费| 一区二区三区精品|