📄 osddraw.lst
字号:
501 4 twdWr_Burst_D(BLANK);
502 4 twdWr_Burst_D(cColor);
503 4 }
504 3 }
505 2 }
506 1 else if((cAttr&0xF0)==DRAW_ZERO)
507 1 {
508 2 switch(m_cBuff[1]){
509 3 case 1:
510 3 if((cAttr&0x0F)==3||(cAttr&0x0F)==2)
511 3 {
512 4 twdWr_Burst_D('0'-IndexNumOffset);
513 4 twdWr_Burst_D(cColor);
514 4 }
515 3 case 2:
516 3 if((cAttr&0x0F)==3)
517 3 {
518 4 twdWr_Burst_D('0'-IndexNumOffset);
519 4 twdWr_Burst_D(cColor);
520 4 }
521 3 }
522 2 }
523 1
524 1
525 1 while(m_cBuff[1]>0)
526 1 {
527 2 if(m_cBuff[1]==3)
528 2 cTemp=m_wBuff[0]/100;
529 2 else if(m_cBuff[1]==2)
530 2 cTemp=(m_wBuff[0]%100)/10;
531 2 else if(m_cBuff[1]==1)
532 2 cTemp=m_wBuff[0]%10;
533 2
534 2 OSDNumConvert(cTemp);
535 2 twdWr_Burst_D(cColor );
536 2 m_cBuff[1]--;
537 2 }
538 1 twdWr_Burst_P();
539 1 }
540
541
542 void OSDNumConvert(uCHAR cNum)
543 {
544 1 switch(cNum){
545 2 case 9: twdWr_Burst_D('9'-IndexNumOffset); break;
546 2 case 8: twdWr_Burst_D('8'-IndexNumOffset); break;
547 2 case 7: twdWr_Burst_D('7'-IndexNumOffset); break;
548 2 case 6: twdWr_Burst_D('6'-IndexNumOffset); break;
549 2 case 5: twdWr_Burst_D('5'-IndexNumOffset); break;
550 2 case 4: twdWr_Burst_D('4'-IndexNumOffset); break;
C51 COMPILER V7.50 OSDDRAW 06/16/2006 15:29:44 PAGE 10
551 2 case 3: twdWr_Burst_D('3'-IndexNumOffset); break;
552 2 case 2: twdWr_Burst_D('2'-IndexNumOffset); break;
553 2 case 1: twdWr_Burst_D('1'-IndexNumOffset); break;
554 2 case 0: twdWr_Burst_D('0'-IndexNumOffset); break;
555 2 default: break;
556 2 }
557 1 }
558
559 //Ruby add 2004-06-08
560 extern uCHAR idata m_cScaleratio;
561 void OSDShowRatio(void)
562 {
563 1 uCHAR i;
564 1 for(i=0;i<OSD_LINE_NUM;i++)
565 1 {
566 2 OSDCleanLine(0,i,0,30);
567 2 OSDSetLineAttribute(i,0x80);
568 2 }
569 1 OSDPosition(RIGHT_TOP);
570 1 switch(m_cScaleratio)
571 1 {
572 2 case ScaleFULL:
573 2 OSDShowLine(iScaleFULL,16,1,COL_GAUGE,OSD_LENGTH);
574 2 break;
575 2 case Scale16_9:
576 2 OSDShowLine(iScale16_9,16,1,COL_GAUGE,OSD_LENGTH);
577 2 break;
578 2 #if (ZOOM_MODES >=2)
579 2 case ZOOM_1:
580 2 OSDShowLine(iZoom_1,16,1,COL_GAUGE,OSD_LENGTH);
581 2 break;
582 2 #endif
583 2 #if (ZOOM_MODES >=3) //Bruce, 2006/01/10
584 2 case ZOOM_2:
585 2 OSDShowLine(iZoom_2,16,1,COL_GAUGE,OSD_LENGTH);
586 2 break;
587 2 #endif
588 2 #if (ZOOM_MODES >=4)
589 2
590 2 case Scale4_3:
591 2 OSDShowLine(iScale4_3,16,1,COL_GAUGE,OSD_LENGTH);
592 2 break;
593 2 #endif
594 2 #if (ZOOM_MODES >=5)
case ZOOM_3:
OSDShowLine(iZoom_3,16,1,COL_GAUGE,OSD_LENGTH);
break;
#endif
599 2 #if (ZOOM_MODES >=6)
case ZOOM_4:
OSDShowLine(iZoom_4,16,1,COL_GAUGE,OSD_LENGTH);
break;
#endif
604 2 #if (ZOOM_MODES >=7)
case ZOOM_5:
OSDShowLine(iZoom_5,16,1,COL_GAUGE,OSD_LENGTH);
break;
#endif
609 2 #if (ZOOM_MODES >=8)
case ZOOM_6:
OSDShowLine(iZoom_6,16,1,COL_GAUGE,OSD_LENGTH);
break;
C51 COMPILER V7.50 OSDDRAW 06/16/2006 15:29:44 PAGE 11
#endif
614 2 #if (ZOOM_MODES >=9)
case ZOOM_7:
OSDShowLine(iZoom_1,16,1,COL_GAUGE,OSD_LENGTH);
break;
#endif
619 2 /*#ifdef T515
620 2 case Scale1_1:
621 2 OSDShowLine(iScale1_1,16,1,COL_GAUGE,OSD_LENGTH);
622 2 break;
623 2 #endif*/
624 2 }
625 1 OSDEnable();
626 1 /*
627 1 uCHAR i;
628 1 for(i=0;i<8;i++)
629 1 {
630 1 OSDCleanLine(0,i,0,30);
631 1 OSDSetLineAttribute(i,0x80);
632 1 }
633 1 OSDPosition(RIGHT_TOP);
634 1 switch(m_cScaleratio)
635 1 {
636 1 case ScaleFULL:
637 1 OSDShowLine(iScaleFULL,16,1,COL_GAUGE,OSD_LENGTH);
638 1 break;
639 1 case Scale16_9:
640 1 OSDShowLine(iScale16_9,16,1,COL_GAUGE,OSD_LENGTH);
641 1 break;
642 1
643 1 case Scale4_3:
644 1 OSDShowLine(iScale4_3,16,1,COL_GAUGE,OSD_LENGTH);
645 1 break;
646 1 }
647 1 OSDEnable();
648 1 */
649 1 }
650
651
652 void OSDShowSource(void)
653 {
654 1 uCHAR i;
655 1 // add by kenny on 941115
656 1 OSDDisable();
657 1 //=========================
658 1 for(i=0;i<OSD_LINE_NUM;i++)
659 1 {
660 2 OSDCleanLine(0,i,0,30);
661 2 OSDSetLineAttribute(i,0x80);
662 2 }
663 1 OSDPosition(RIGHT_TOP);
664 1
665 1 OSDShowLine(OSDSource[m_cSource-1],16,1,COL_GAUGE,OSD_LENGTH);
666 1
667 1 OSDEnable();
668 1 #ifdef T116 //kenny 20060301
I2CWriteByte(TW101,0xE2,0x11);
#endif
671 1 }
672
673 extern uCHAR idata m_cStandard;
674 void OSDShowNTSC_PAL(void)
C51 COMPILER V7.50 OSDDRAW 06/16/2006 15:29:44 PAGE 12
675 {
676 1 uCHAR i;
677 1
678 1 // add by kenny on 941115
679 1 OSDDisable();
680 1 for(i=0;i<10;i++)
681 1 {
682 2 OSDCleanLine(0,i,0,30);
683 2 OSDSetLineAttribute(i,0x80);
684 2 }
685 1 OSDPosition(RIGHT_TOP);
686 1 //=======================
687 1 if(m_cChroma==S_NTSC) OSDShowLine(iNTSC ,16,1,COL_GAUGE,OSD_LENGTH);
688 1 else if(m_cChroma==S_PAL) OSDShowLine(iPAL ,16,1,COL_GAUGE,OSD_LENGTH);
689 1 else if(m_cChroma==S_SECAM) OSDShowLine(iSECAM ,16,1,COL_GAUGE,OSD_LENGTH);
690 1 else if(m_cChroma==S_NTSC_4) OSDShowLine(iNTSC_4,16,1,COL_GAUGE,OSD_LENGTH);
691 1 else if(m_cChroma==S_PAL_M) OSDShowLine(iPAL_M ,16,1,COL_GAUGE,OSD_LENGTH);
692 1 else if(m_cChroma==S_PAL_CN) OSDShowLine(iPAL_CN,16,1,COL_GAUGE,OSD_LENGTH);
693 1
694 1 OSDEnable();
695 1 #ifdef T116 //kenny 20060301
I2CWriteByte(TW101,0xE2,0x11);
#endif
698 1
699 1 }
700
701 void OSDClearCursor(void)
702 {
703 1 pOSDLangPtr=&MultiLangOSD[OSD_cOSDLang];
704 1 pOSDMenuPtr=pOSDLangPtr->osdMenuPtr;
705 1 OSDShowLine(pOSDMenuPtr[m_cOSDMenu-1][m_cOSDFunc-1].txtStr,TXT_STAT,m_cOSDFunc,COL_NORMAL,OSD_LENGTH);
706 1 return;
707 1 }
708
709
710 void OSDMoveCursor(void)
711 {
712 1 pOSDLangPtr=&MultiLangOSD[OSD_cOSDLang];
713 1 pOSDMenuPtr=pOSDLangPtr->osdMenuPtr;
714 1 OSDShowLine(pOSDMenuPtr[m_cOSDMenu-1][m_cOSDFunc-1].txtStr,TXT_STAT,m_cOSDFunc,BLUE_PURPLE,OSD_LENGTH);
715 1 return;
716 1 }
717
718
719 void OSDPosition(uCHAR cPos)
720 {
721 1 if(cPos==RIGHT_TOP){
722 2 OSDCfgWr(CHAR_DLY_0,Y0RightTop); //V[10:8] bit 6-4; H[10:8] bit2-0 23 12
723 2 OSDCfgWr(CHAR_DLY_1,Y1RightTop); //H[7:0] 80 80
724 2 OSDCfgWr(CHAR_DLY_2,Y2RightTop); //v[7:0] 64 30
725 2 }
726 1 if(cPos==CENTER){
727 2 OSDCfgWr(CHAR_DLY_0,Y0Center); //V[10:8] bit 6-4; H[10:8] bit2-0
728 2 OSDCfgWr(CHAR_DLY_1,Y1Center); //H[7:0]
729 2 OSDCfgWr(CHAR_DLY_2,Y2Center); //v[7:0]
730 2 }
731 1 else if(cPos==LEFT_BOTTOM){//not define yet!
732 2 OSDCfgWr(CHAR_DLY_0,Y0LeftBottom); //V[10:8] bit 6-4; H[10:8] bit2-0
733 2 OSDCfgWr(CHAR_DLY_1,Y1LeftBottom); //H[7:0]
734 2 OSDCfgWr(CHAR_DLY_2,Y2LeftBottom); //v[7:0] //00
735 2 }
736 1 }
C51 COMPILER V7.50 OSDDRAW 06/16/2006 15:29:44 PAGE 13
737
738
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2265 ----
CONSTANT SIZE = 2012 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 35
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 + -