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

📄 bit1611b5_v023.asm

📁 Analog and digital LCD PANEL dirver code
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        JB      DEFAULT_000050,         MENU_BIT_RESET
        JB      EXIT_010040,            MENU_BIT_EXIT

        MOV     R[ VP_004_INT_ACK ], INT_ACK_VS_OFF
        JMP     HALT_090010                     ; HALT if Invalid Menu ID

; =====================================
; Increase BRIGHTNESS
UP_031010_BRIGHTNESS:
        MOV     R[ RAM_OSD_OFFSET ], BRIGHTNESS_MIN

        MOV     A, R[ RAM_BRIGHTNESS ]
        MOV     B, BRIGHTNESS_MAX               ; BRIGHTNESS UP bound
        COMP
        JZ      HALT_090010                     ; Jump if reach the UP bound

UP_031020_BRIGHTNESS_INC:
        CALL    INLZ_IncNumber0_63
        MOV     B, BRIGHTNESS_STEP_INC          ; Inc a step

UP_031030_BRIGHTNESS_SET:
        ADD
        MOV     R[ RAM_BRIGHTNESS ], A          ; Save the value

        CALL    DPB_DspProgressBar

        MOV     B, 080h
        XOR
        MOV     R[ VP_106_DVP_BRIGHTNESS ], A

        MOV     R[ VP_0FC_IR_ATTR2 ], IR_REPEAT_ON
        JMP     HALT_090010

; =====================================
; Increase CONTRAST
UP_032010_CONTRAST:
        MOV     R[ RAM_OSD_OFFSET ], CONTRAST_MIN

        MOV     A, R[ RAM_CONTRAST ]
        MOV     B, CONTRAST_MAX                 ; CONTRAST UP bound
        COMP
        JZ      HALT_090010

UP_032020_CONTRAST_INC:
        CALL    INLZ_IncNumber0_63
        MOV     B, CONTRAST_STEP_INC            ; Inc a step

UP_032030_CONTRAST_SET:
        ADD
        MOV     R[ RAM_CONTRAST ], A

        CALL    DPB_DspProgressBar

        MOV     R[ VP_107_DVP_CONTRAST ], A
        
        MOV     R[ VP_0FC_IR_ATTR2 ], IR_REPEAT_ON
        JMP     HALT_090010


; =====================================
; Increase SATURATION
UP_033010_SATURATION:
        MOV     R[ RAM_OSD_OFFSET ], SATURATION_MIN

        MOV     A, R[ RAM_SATURATION ]
        MOV     B, SATURATION_MAX                ; SATURATION UP bound
        COMP
        JZ      HALT_090010

UP_033020_SATURATIONINC:
        CALL    INLZ_IncNumber0_63
        MOV     B, SATURATION_STEP_INC           ; Inc a step

UP_033030_SATURATION_SET:
        ADD
        MOV     R[ RAM_SATURATION ], A

        CALL    DPB_DspProgressBar

        MOV     R[ VP_109_DVP_SATURATION ], A

        MOV     R[ VP_0FC_IR_ATTR2 ], IR_REPEAT_ON
        JMP     HALT_090010

; =====================================
; Increase HUE
UP_034010_HUE:
        MOV     R[ RAM_OSD_OFFSET ], HUE_MIN

        MOV     A, R[ RAM_HUE ]
        MOV     B, HUE_MAX                  ; HUE UP bound
        COMP
        JZ      HALT_090010

UP_034020_HUE_INC:
        CALL    INLZ_IncNumber0_63
        MOV     B, HUE_STEP_INC             ; Inc a step

UP_034030_HUE_SET:
        ADD
        MOV     R[ RAM_HUE ], A

        CALL    DPB_DspProgressBar

        MOV     B, HUE_OFFSET
        SUB                                 ; - HUE_OFFSET
        MOV     R[ VP_10A_DVP_HUE ], A

        MOV     R[ VP_0FC_IR_ATTR2 ], IR_REPEAT_ON
        JMP     HALT_090010

; =====================================
; Toggle MODE
UP_035010_MODE:
        MOV     A, R[ VP_05F_HSD1_MSB ]
        JB      UP_035020_169, 4            ; Jump if 16:9 mode

        ; 4:3 to 16:9
        MOV     R[ VP_056059_DISPLAY_H_START ], E[ VP_56_5F_169 ], VP_56_5F_169_END - VP_56_5F_169 - 1    ; 16:9
        JMP     UP_035030_Update

UP_035020_169:
        ; 16:9 to 4:3
        MOV     R[ VP_056059_DISPLAY_H_START ], E[ VP_56_5F_43 ], VP_56_5F_43_END - VP_56_5F_43 - 1      ; 4:3


UP_035030_Update:
        CALL    SMC_ShowModeCue

        JMP     HALT_090010

; =====================================
; Increase PWM
UP_039010_PWM:
        MOV     A, R[ RAM_PWM ]
        MOV     B, PWM_MAX                  ; PWM UP bound
        COMP
        JZ      HALT_090010

UP_039020_PWM_INC:
        CALL    INLZ_IncNumber0_63
        MOV     B, PWM_STEP_INC             ; Inc a step

UP_039030_PWM_SET:
        ADD
        MOV     R[ RAM_PWM ], A

        MOV     B, PWM_OFFSET
        ADD                                 ; + PWM_OFFSET
        MOV     R[ VP_0E80E9_PWM2_DUTY ], A

        MOV     A, R[ RAM_SYSTEM_STATE ]

        ; To set EEPROM to Read/Write mode
        MOV     R[ VP_009_GPO_TYPE ], BL_ON_WP_OFF
        JB      UP_036050_PWM_SAVE_N, STATE_BIT_NTSC

UP_039040_PWM_SAVE_P:
        ; Backup PAL PWM
        MOV     A, R[ RAM_PWM ]
        MOV     E[ DEFAULT_PWM_P ], A
        JMP     HALT_090010

UP_036050_PWM_SAVE_N:
        ; Backup NTSC PWM
        MOV     A, R[ RAM_PWM ]
        MOV     E[ DEFAULT_PWM_N ], A
        JMP     HALT_090010
; ..............................................................................


; ------------------------------------------------------------------------------
;       DOWN -
; ------------------------------------------------------------------------------
DOWN_040000:
        MOV     R[ VP_004_INT_ACK ], INT_ACK_VS_ON  ; Enable VS interrupt
        MOV     R[ RAM_VS_CNT ], 080h               ; Enable REPEAT KEY MODE

DOWN_040010:
        MOV     A, R[ RAM_SYSTEM_STATE ]
        JB      DOWN_049010_PWM, STATE_BIT_PWM      ; Jump if PWM mode

        MOV     A, R[ RAM_MENU_CURSOR ]             ; Menu Cursor

        JB      DOWN_041010_BRIGHTNESS, MENU_BIT_BRIGHTNESS
        JB      DOWN_042010_CONTRAST,   MENU_BIT_CONTRAST
        JB      DOWN_043010_SATURATION, MENU_BIT_SATURATION
        JB      DOWN_044010_HUE,        MENU_BIT_HUE
        JB      UP_035010_MODE,         MENU_BIT_MODE
        JB      DEFAULT_000050,         MENU_BIT_RESET
        JB      EXIT_010040,            MENU_BIT_EXIT

        MOV     R[ VP_004_INT_ACK ], INT_ACK_VS_OFF
        JMP     HALT_090010                 ; HALT if Invalid Menu ID

; =====================================
; Decrease BRIGHTNESS
DOWN_041010_BRIGHTNESS:
        MOV     R[ RAM_OSD_OFFSET ], BRIGHTNESS_MIN

        MOV     A, R[ RAM_BRIGHTNESS ]
        MOV     B, BRIGHTNESS_MIN                   ; BRIGHTNESS LOW bound
        COMP
        JZ      HALT_090010

DOWN_041020_BRIGHTNESS_DEC:
        CALL    DNLZ_DecNumber0_63
        MOV     B, BRIGHTNESS_STEP_DEC              ; Dec a step

        JMP     UP_031030_BRIGHTNESS_SET


; =====================================
; Decrease CONTRAST
DOWN_042010_CONTRAST:
        MOV     R[ RAM_OSD_OFFSET ], CONTRAST_MIN

        MOV     A, R[ RAM_CONTRAST ]
        MOV     B, CONTRAST_MIN                     ; CONTRAST LOW bound
        COMP
        JZ      HALT_090010

DOWN_042020_CONTRAST_DEC:
        CALL    DNLZ_DecNumber0_63
        MOV     B, CONTRAST_STEP_DEC                ; Dec a step

        JMP     UP_032030_CONTRAST_SET


; =====================================
; Decrease SATURATION
DOWN_043010_SATURATION:
        MOV     R[ RAM_OSD_OFFSET ], SATURATION_MIN

        MOV     A, R[ RAM_SATURATION ]
        MOV     B, SATURATION_MIN                        ; SATURATION LOW bound
        COMP
        JZ      HALT_090010

DOWN_043020_SATURATION_DEC:
        CALL    DNLZ_DecNumber0_63
        MOV     B, SATURATION_STEP_DEC                   ; Dec a step

        JMP     UP_033030_SATURATION_SET


; =====================================
; Decrease HUE
DOWN_044010_HUE:
        MOV     R[ RAM_OSD_OFFSET ], HUE_MIN

        MOV     A, R[ RAM_HUE ]
        MOV     B, HUE_MIN                         ; HUE LOW bound
        COMP
        JZ      HALT_090010

DOWN_044020_HUE_DEC:
        CALL    DNLZ_DecNumber0_63
        MOV     B, HUE_STEP_DEC                    ; Dec a step

        JMP     UP_034030_HUE_SET


; =====================================
; Decrease PWM
DOWN_049010_PWM:
        MOV     A, R[ RAM_PWM ]
        MOV     B, PWM_MIN                          ; PWM LOW bound
        COMP
        JZ      HALT_090010

DOWN_049020_PWM_DEC:
        CALL    DNLZ_DecNumber0_63
        MOV     B, PWM_STEP_DEC                     ; Dec a step

        JMP     UP_039030_PWM_SET
; ..............................................................................


; ..............................................................................
;   SOURCE_050000 - Video Source
; ..............................................................................
SOURCE_050000:
        MOV     A, R[ RAM_SYSTEM_STATE ]
        JB      HALT_090010, STATE_BIT_PWM

        MOV     A, R[ VP_151_OSD2_ATTR4 ]
        JB      HALT_090010, OSD_BIT_ENABLE

        MOV     R[ VP_004_INT_ACK ], INT_ACK_VS_OFF     ; Disable VS interrupt
        MOV     R[ VP_005_INT_ATTR ], INT_ATTR_LOAD_DISABLE

        MOV     R[ VP_00B_SRST_ATTR1 ], OSD_CLK_ON

        ; Move to next Video Source
        MOV     A, R[ RAM_SOURCE ]
        SHL
        MOV     R[ RAM_SOURCE ], A
        MOV     E[ USER_SOURCE ], A

        CALL    SVS_SetupVideoSource

        MOV     R[ VP_005_INT_ATTR ], INT_ATTR_LOAD_ENABLE
        MOV     R[ VP_004_INT_ACK ], INT_ACK_VS_ON          ; Enable VS interrupt

        MOV     R[ VP_143_OSD1_ATTR4 ], OSD_ON              ; Enable OSD 1

        JMP     HALT_090010
; ..............................................................................


; ..............................................................................
;   PWM_060000 - PWM tuning
; ..............................................................................
PWM_060000:
        MOV     R[ VP_151_OSD2_ATTR4 ], OSD_OFF             ; Disable OSD2

        MOV     A, R[ VP_18C_DET_MODE ]
        JB      PWM_060020_NTSC, 0

PWM_060010_PAL:
        MOV     R[ RAM_PWM ], E[ DEFAULT_PWM_P ], 0
        MOV     R[ RAM_SYSTEM_STATE ], STATE_PAL_PWM       ; Default PAL PWM
        MOV     A, FONT_50_P
        JMP     PWM_060030

PWM_060020_NTSC:
        MOV     R[ RAM_PWM ], E[ DEFAULT_PWM_N ], 0
        MOV     R[ RAM_SYSTEM_STATE ], STATE_NTSC_PWM      ; Default NTSC PWM
        MOV     A, FONT_4E_N

PWM_060030:
        ; Clear OSD3
        FILL    R[ VP_SHOW_OSD3 ], FONT_20_BLANK, OSD3_AREA_1

        MOV     R[ VP_SHOW_VERSION ], E[ TITLE_VERSION ], TITLE_VERSION_END - TITLE_VERSION - 1
        MOV     R[ VP_SHOW_CSTD ], A

        MOV     R[ RAM_OSD_OFFSET ], PWM_MIN
        MOV     A, R[ RAM_PWM ]
        CALL    SNLZ_ShowNumber0_63

        MOV     R[ VP_15F_OSD3_ATTR4 ], OSD_ON              ; Enable OSD 3
        MOV     R[ VP_004_INT_ACK ], INT_ACK_VS_ON
        JMP     HALT_090010
; ..............................................................................


; ..............................................................................
;   TCON_070000 - TCON Mode
; ..............................................................................
TCON_070000:
        ; Move to next TCON Mode
        MOV     A, R[ RAM_TCON ]
        SHL
        MOV     R[ RAM_TCON ], A

        JB      TCON_LU_070020, TCON_BIT_LU
        JB      TCON_LD_070030, TCON_BIT_LD
        JB      TCON_RD_070040, TCON_BIT_RD

TCON_RU_070010:
        MOV     R[ RAM_TCON ], TCON_ID_RU

        MOV     R[ VP_037_TCON ], 08Ah
        JMP     HALT_090010

TCON_LU_070020:
        MOV     R[ VP_037_TCON ], 083h
      

⌨️ 快捷键说明

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