📄 bit1611b5_v023.asm
字号:
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 + -