📄 video.lst
字号:
433 void ReadSyncStatus(void)
434 {
435 1 BYTE temp;
436 1 temp = 0x00;
437 1 temp = byMTV_HVSTUS & 0x80; //Check Csync Present
438 1 temp |= byMTV_HVSTUS & 0x40; //NPO 1:NTSC 0:PAL
439 1 VideoStatusDecode(temp);
440 1 }
441
442 /****************************************************************************/
443 void ReadSyncPort(WORD *sync_pulse)
444 {
445 1
446 1 if (byMTV_VCNTH & 0x80) // V_Cnt overflow
447 1 {
448 2 sync_pulse[1] = 0;
449 2 }
450 1 else
451 1 {
452 2 sync_pulse[1] = ((byMTV_VCNTH & 0x0F)<<8) | byMTV_VCNTL;
453 2 }
454 1
455 1 }
456
457
458 /****************************************************************************/
459 void GetSync(void)
460 {
461 1 WORD temp[2]; //Save the H/V Sync in the array
462 1
463 1 bSyncChange = FALSE;
464 1
465 1 switch(SyncStep)
466 1 {
467 2 case 0 : // check sync change
468 2
469 2 ReadSyncPort(temp);
470 2 //Check the SYNC Tolerance Hsync tolerance = 6 Vsync tolerance = 2
471 2 if( Abs(temp[1],OldSyncPulse[1])> VCounterOffset)
472 2 {
473 3 OldSyncPulse[0] = temp[0];
474 3 OldSyncPulse[1] = temp[1];
475 3 SyncStep = 1;
476 3 SyncReChkCnt = SYNC_STABLE_TIME;
477 3 }
478 2
479 2 break;
480 2 case 1 : // wait sync stable
481 2
482 2 if(SyncReChkCnt == 0)
483 2 {
484 3 SyncStep = 0;
485 3 ReadSyncPort(temp);
486 3 if( ( Abs(temp[1],OldSyncPulse[1])<= VCounterOffset))
487 3 {
488 4 ReadSyncStatus();
C51 COMPILER V7.09 VIDEO 09/06/2006 13:39:49 PAGE 9
489 4 bSyncChange = TRUE;
490 4 bVsyncChange = 1;
491 4 }
492 3 }
493 2
494 2 break;
495 2
496 2 //Prevent unknow variable
497 2 default:
498 2 SyncStep = 0;
499 2 break;
500 2 }
501 1
502 1 }
503
504 /****************************************************************************/
505
506 /****************************************************************************/
507 /*
508 #ifdef _MTV230_
509 void Get_VideoSync(void)
510 {
511
512 }
513
514 #endif
515
516 */
517
518 void Disp_VideoDefault(void)
519 {
520 1 /**/
521 1 sBright.Brightness = 0xA2;
522 1 sBright.Contrast = 0x5A;
523 1 sBright.SubContrast = 0x06;
524 1 sColor.Hue = 0x40;
525 1 sColor.Saturation = 0x44;
526 1 sColor.Sharpness= 0x32;
527 1 sGamma.CAMP = 0x80;
528 1 sGamma.CDC = 0xA0;
529 1 sGamma.DB = 0x20;
530 1 sGamma.DG = 0x20;
531 1 sGamma.DR = 0x20;
532 1 sGamma.Vg1 = 0x40;
533 1 sGamma.Vg2 = 0x64;
534 1 sImage.InputMode = 0x00;
535 1 sGamma.WhiteLimit = 0x09;
536 1 sGamma.BlackLimit = 0x08;
537 1 /**/
538 1
539 1 /*
540 1 sBright.Brightness = 0xA5;
541 1 sBright.Contrast = 0x68;
542 1 sBright.SubContrast = 0x09;
543 1 sColor.Hue = 0x40;
544 1 sColor.Saturation = 0x40;
545 1 sColor.Sharpness= 0x35;
546 1 sGamma.CAMP = 0x75;
547 1 sGamma.CDC = 0x82;
548 1 //sGamma.DB = 0x09;
549 1 //sGamma.DG = 0x1d;
550 1 //sGamma.DR = 0x19;
C51 COMPILER V7.09 VIDEO 09/06/2006 13:39:49 PAGE 10
551 1 sGamma.DB = 0x20;
552 1 sGamma.DG = 0x20;
553 1 sGamma.DR = 0x20;
554 1 sGamma.Vg1 = 0x40;
555 1 sGamma.Vg2 = 0x64;
556 1 sImage.InputMode = 0x00;
557 1 sGamma.WhiteLimit = 0x09;
558 1 sGamma.BlackLimit = 0x08;
559 1 */
560 1 // CS7111 default setting
561 1 #if 0
CS7111_Write(0x00, 0x40);
CS7111_Write(0x01, 0xC0);
CS7111_Write(0x02, 0xC0);
CS7111_Write(0x03, 0x90);
CS7111_Write(0x04, 0x80);
CS7111_Write(0x05, 0x04);
CS7111_Write(0x06, 0x88);
CS7111_Write(0x07, 0x80);
CS7111_Write(0x08, 0x80);
CS7111_Write(0x09, 0x88);
CS7111_Write(0x0A, 0x20);
CS7111_Write(0x0B, 0x20);
CS7111_Write(0x0C, 0x20);
CS7111_Write(0x0D, 0x00);
CS7111_Write(0x0E, 0xA0);
CS7111_Write(0x0F, 0x80);
CS7111_Write(0x10, 0x10);
CS7111_Write(0x11, 0x00);
//CS7111_Write(0x12, 0x17);
CS7111_Write(0x12, 0x03);
CS7111_Write(0x13, 0x00);
#endif
584 1
585 1 #ifdef _Decoder_For_LG_ // Test only
CS7111_Write(0x00, 0x5A);
CS7111_Write(0x01, 0xC4);
CS7111_Write(0x02, 0xC0);
CS7111_Write(0x03, 0xB2);
CS7111_Write(0x04, 0xA2);
CS7111_Write(0x05, 0x16);
CS7111_Write(0x06, 0xF5);
CS7111_Write(0x07, 0x40);
CS7111_Write(0x08, 0x64);
CS7111_Write(0x09, 0x88);
CS7111_Write(0x0A, 0x20);
CS7111_Write(0x0B, 0x20);
CS7111_Write(0x0C, 0x20);
CS7111_Write(0x0D, 0x08);
CS7111_Write(0x0E, 0x80);
CS7111_Write(0x0F, 0xA0);
CS7111_Write(0x10, 0x11);
CS7111_Write(0x11, 0x10);
CS7111_Write(0x12, 0x7F);
CS7111_Write(0x13, 0x00);
CS7111_Write(0x12, 0x7F);
#endif
608 1
609 1 #if 1 // Test only
610 1 CS7111_Write(0x00, sBright.Contrast); // Contrast(b6-b0) : 0x5A
611 1 CS7111_Write(0x01, sColor.Saturation|0x80); // Color(b6-b0) :
612 1 CS7111_Write(0x02, sColor.Hue|0x80); // Tint(b6-b0)
C51 COMPILER V7.09 VIDEO 09/06/2006 13:39:49 PAGE 11
613 1 CS7111_Write(0x03, sColor.Sharpness|0x80); // Sharpness(b5-b0)
614 1 CS7111_Write(0x04, sBright.Brightness); // Brightness(b7-b0) : A2
615 1 CS7111_Write(0x05, sBright.SubContrast |0x01); // SubContrast(b3-b0)
616 1 CS7111_Write(0x06, ((sGamma.WhiteLimit<<4)|(sGamma.BlackLimit))); // White(b7-b4) and Black(b3-b0) Limit
-er
617 1 CS7111_Write(0x07, sGamma.Vg1); // Gamma1(b7-b0)
618 1 CS7111_Write(0x08, sGamma.Vg2); // Gamma 2(b7-b0)
619 1 CS7111_Write(0x09, 0x88); // Sub Bright-R(b7-b4) and Sub Bright-B(b3-b0)
620 1 CS7111_Write(0x0A, sGamma.DR); // Drive R(b5-b0)
621 1 CS7111_Write(0x0B, sGamma.DG); // Drive G(b5-b0)
622 1 CS7111_Write(0x0C, sGamma.DB); // Drive B(b5-b0)
623 1 CS7111_Write(0x0D, 0x00); // Video SW + Color System
624 1 CS7111_Write(0x0E, sGamma.CAMP); // VCOM Amplitude(b7-b0)
625 1 CS7111_Write(0x0F, sGamma.CDC); // VCOM DC(b7-b0)
626 1 CS7111_Write(0x10, 0x31); //
627 1 CS7111_Write(0x11, 0x14);
628 1 CS7111_Write(0x12, 0x7F);
629 1 CS7111_Write(0x13, 0x00);
630 1 //CS7111_Write(0x12, 0x7F);
631 1 #endif
632 1
633 1 MenuProcess = Disp_Entry;
634 1
635 1 }
636
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1355 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 1 6
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -