📄 main.lst
字号:
541 4 {
542 5 if ( Volume > 0 )
543 5 {
544 6 Volume --;
545 6 }
546 5 MuteFlag = 0;
547 5 Show_Volume(Volume);
548 5 Save_Parameter();
549 5 }
550 4
C51 COMPILER V7.50 MAIN 12/14/2006 10:36:36 PAGE 10
551 4 break;
552 4
553 4 case RIGHT:
554 4 if ( Menu_mode != 0 )
555 4 {
556 5 OSDTimer = 1000;
557 5 Menu_Up();
558 5 }
559 4
560 4 else
561 4 {
562 5 if ( Volume < 50 )
563 5 {
564 6 Volume ++;
565 6 }
566 5 MuteFlag = 0;
567 5 Show_Volume(Volume);
568 5 Save_Parameter();
569 5 }
570 4
571 4 break;
572 4
573 4 }
574 3 }
575 2 }
576 1 }
577
578 void Set_SourceType()
579 {
580 1 ScreenOFF;
581 1
582 1 Mute();
583 1
584 1 Show_Subwin(0x00);
585 1
586 1 if ( Source_type == TV_CHL )
587 1 memcpy(MainMenuItem,MainMenuItem_TV,21);
588 1 else
589 1 memcpy(MainMenuItem,MainMenuItem_AV,21);
590 1
591 1 if (Source_type == TV_CHL)
592 1 {
593 2 Delay(20000);
594 2
595 2 TV_Init();
596 2 Show_Channel();
597 2 AUDIO_CHANEL1 = 0;
598 2 AUDIO_CHANEL2 = 1;
599 2 }
600 1 else
601 1 {
602 2 AUDIO_CHANEL1 = 0;
603 2 AUDIO_CHANEL2 = 0;
604 2 }
605 1
606 1 Horizontal = S_Horizontal;
607 1 Vertical = S_Vertical;
608 1
609 1 V46X_VideoSource(Source_type);
610 1 Auto_Detect_TV_in();
611 1 Auto_Detect_TV_in();
612 1 Auto_Detect_TV_in();
C51 COMPILER V7.50 MAIN 12/14/2006 10:36:36 PAGE 11
613 1
614 1 if ( Source_type == TV_CHL)
615 1 Screen_Blue();
616 1 else
617 1 CVD1_ReadWrite(W_TYPE, 0x07, 0x20);
618 1
619 1 Set_VideoPP(0);
620 1 Show_VideoMode();
621 1 }
622
623
624 void Show_MainMenu_Init()
625 {
626 1 BYTE i,j;
627 1
628 1 TitleFlag = 0;
629 1 VolumeFlag = 0;
630 1 MenuFlag = 1;
631 1 Input_Num = 0;
632 1
633 1 Show_Subwin(0x00);
634 1 Clr_OSDCode();
635 1
636 1 OSDTimer = 1000;
637 1
638 1 OSD_SubWin_Attr(0,13,4,11,6,0);
639 1 OSD_SubWin_Attr(1,25,4,6,6,66);
640 1
641 1 OSD_SubWin_Attr(2,11,11,19,1,102);
642 1
643 1 for (i=0; i<6; i++)
644 1 {
645 2 if ( MainMenuItem[Menu_mode-1][i] == 0xFF )
646 2 for (j=0;j<11;j++ ) buf[i*11+j] = 0x59;
647 2 else
648 2 memcpy(&buf[i*11],OSD_Table_Main[Language][MainMenuItem[Menu_mode-1][i]],11);
649 2 }
650 1
651 1 Write_OSDCode(buf,11,6,0); //Write OSD Code buffer
652 1
653 1 Show_MainMenu1();
654 1 Show_MainMenu2();
655 1 Show_MainMenu_HL();
656 1 Show_Subwin(0x07);
657 1
658 1 // Show_HV();
659 1 }
660
661 void Show_MainMenu_HL()
662 {
663 1 BYTE hl;
664 1
665 1 hl = Menu_item;
666 1 /*
667 1 if ( Vertical )
668 1 hl = 5 - Menu_item;
669 1 */
670 1 OSD_Attribute(0, 102, FG_COLOR, BG_COLOR);
671 1 OSD_Attribute(hl*11, 11, FG_COLOR_H, BG_COLOR);
672 1 OSD_Attribute(66+hl*6, 6, FG_COLOR_H, BG_COLOR);
673 1
674 1 OSD_Attribute(102, 19, FG_COLOR_H, BG_COLOR);
C51 COMPILER V7.50 MAIN 12/14/2006 10:36:36 PAGE 12
675 1 }
676
677 void Show_MainMenu1()
678 {
679 1 BYTE i;
680 1
681 1 for (i=0; i<36; i++)
682 1 buf[i] = 0x59;
683 1
684 1 for (i=0; i<6; i++)
685 1 Menu_Show(MainMenuItem[Menu_mode-1][i],&buf[i*6]);
686 1
687 1 Write_OSDCode(buf, 6, 6, 66); //Write OSD Code buffer
688 1 }
689
690 void Show_MainMenu2()
691 {
692 1 BYTE i;
693 1
694 1 if ( Menu_mode == 1 )
695 1 {
696 2 if ( Menu_item <= 3)
697 2 Show_Bar(buf,Adj_Value[Menu_item+1]);
698 2 else if ( Menu_item == 4)
699 2 Show_Bar(buf,S_Hue);
700 2 }
701 1 else if ( Menu_mode == 3 )
702 1 {
703 2 Show_TV_Bar(buf,Fp_Position);
704 2 }
705 1 else
706 1 for (i=0; i<19; i++ ) buf[i] = 0x59;
707 1
708 1 Write_OSDCode(buf, 19, 1, 102); //Write OSD Code buffer
709 1 }
710
711 void Show_Mute()
712 {
713 1 if (MuteFlag)
714 1 {
715 2 Show_Subwin(0x00);
716 2
717 2 if ( Screen_mode )
718 2 OSD_SubWin_Attr(7,7,1,1,1,0);
719 2 else
720 2 OSD_SubWin_Attr(7,3,1,1,1,0);
721 2
722 2 buf[0] = 0x51;
723 2 Write_OSDCode(buf, 1, 1, 0); //Write OSD Code buffer
724 2 OSD_Attribute(0, 1, 0x0C, BG_COLOR); //Set Title line attribute
725 2 Show_Subwin(0x80);
726 2 }
727 1 }
728
729 void Show_Volume(BYTE volume)
730 {
731 1 BYTE i,color;
732 1
733 1 if ( VolumeFlag == 0 )
734 1 {
735 2 TitleFlag = 0;
736 2 VolumeFlag = 1;
C51 COMPILER V7.50 MAIN 12/14/2006 10:36:36 PAGE 13
737 2 MenuFlag = 0;
738 2 Input_Num = 0;
739 2 Show_Subwin(0x00);
740 2 }
741 1
742 1 OSDTimer = 1000;
743 1
744 1 if ( MuteFlag )
745 1 color = 0x0C;
746 1 else
747 1 color = FG_COLOR;
748 1
749 1 OSD_SubWin_Attr(1,11,10,19,2,0);
750 1
751 1 OSD_Attribute(0, 19, color, BG_COLOR); //Set Title line attribute
752 1 OSD_Attribute(19, 38, FG_COLOR_H, BG_COLOR);
753 1
754 1 for (i=0; i<38; i++ ) buf[i] = 0x59;
755 1 if ( MuteFlag)
756 1 memcpy(&buf[1],OSD_Table_Mute[Language],13);
757 1 else
758 1 memcpy(&buf[1],OSD_Table_Volume[Language],13);
759 1
760 1 buf[16] = volume/10;
761 1 buf[17] = volume%10;
762 1
763 1 Show_Bar(&buf[19],volume);
764 1
765 1 Write_OSDCode(buf, 19, 2, 0); //Write OSD Code buffer
766 1
767 1 Show_Subwin(0x02);
768 1 }
769
770 void HV_Change()
771 {
772 1 if ( Horizontal )
773 1 Vertical = !Vertical;
774 1 Horizontal = !Horizontal;
775 1
776 1 S_Horizontal = Horizontal;
777 1 S_Vertical = Vertical;
778 1
779 1 Set_HV();
780 1 }
781
782 void Show_Number(BYTE num, BYTE *buf)
783 {
784 1 buf[1] = buf[2] = 0x59;
785 1
786 1 if (num >= 100)
787 1 {
788 2 buf[0] = num/100;
789 2 buf[1] = num%100/10;
790 2 buf[2] = num%10;
791 2 }
792 1 else if ( num >= 10)
793 1 {
794 2 buf[0] = num/10;
795 2 buf[1] = num%10;
796 2 }
797 1 else
798 1 buf[0] = num;
C51 COMPILER V7.50 MAIN 12/14/2006 10:36:36 PAGE 14
799 1 }
800
801 void Show_CInput()
802 {
803 1 TitleFlag = 1;
804 1 VolumeFlag = 0;
805 1 MenuFlag = 0;
806 1 Show_Subwin(0x00);
807 1
808 1 OSDTimer = 200;
809 1 if ( Screen_mode )
810 1 OSD_SubWin_Attr(7,7,1,2,1,0);
811 1 else
812 1 OSD_SubWin_Attr(7,3,1,2,1,0);
813 1 buf[0] = C_Input;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -