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

📄 mode.src

📁 采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
	DW	Mode53Tda + 0
	DW	00500H
	DW	00400H
	DB	080H
	DB	0FFH
	DW	Mode54Tbl + 0
	DB	0FFH
	DW	Mode54Tda + 0
	DW	00500H
	DW	002D0H
	DB	080H
	DB	0FFH
	DW	Mode55Tbl + 0
	DB	0FFH
	DW	Mode55Tda + 0
	DW	00460H
	DW	002EEH
	DB	080H
	DB	0FFH
	DW	Mode56Tbl + 0
	DB	0FFH
	DW	Mode56Tda + 0
	DW	00780H
	DW	0021CH
	DB	080H
	DB	0FFH
	DW	Mode57Tbl + 0
	DB	0FFH
	DW	Mode57Tda + 0
	DW	00280H
	DW	00190H
	DB	080H

; /************************************************
;  *                                              *
;  *      MODE.C:  Mosaic Display Mode routine    *
;  *                                              *
;  ************************************************/
; #include <reg51.h>
; #include <stddef.h>
; #include "mosaic.h"
; #include "osd.h"
; #include "global.h"
; 
; 
; 
; //
; //      Display Mode tables
; //
; #include "sharptbl.h"
; #include "sam17tbl.h"
; #include "shp18tbl.h"
; #include "sam15tbl.h"           
; #include "lg15tbl.h"
; #include "lg150x2.h"
; #include "lg151x4.h"
; #include "cm14ntbl.h"
; #include "cm14nc4.h"
; #include "cm14mtbl.h"
; #include "fuj15tbl.h"
; #include "au15tbl.h"
; #include "au15ez.h"
; #include "ch15tbl.h"
; #include "sam150xh.h"
; #include "sharp15.h"
; #include "acer17e3.h"
; #include "acer17e5.h"
; #include "hss15tbl.h"
; 
; //
; //  ADC/TDA tables
; //
; #ifndef TDATBL_DEFINED
; #if MASCOT_VP2
; 	#include "mvp2cz56.h"
; #elif MASCOT_VXZ
; 	#if CZ5N6
; 		#include "mrtvxz56.h"
; 	#else
; 		#include "mrtvxz.h"
; 	#endif
; #else
; 	#if CZ5N6
; 		#include "cz5n6.h"
; 	#else
; 		#include "mrtv2.h"
; 	#endif
; #endif
; #endif //TDATBL_DEFINED
; 
; 
; //
; //      Display Mode Table
; //
; MODETBL code ModeTbl[] = {
;  {Mode0Tbl, Mode0Tda, 640, 350,2      +PRESETMODE}, //0: 31.5KHz/70Hz +/- 28MHz: 640x350
; #if SRC_TV
;  {tvNTSCTbl,NULL,     640, 240,0+NOPOL			 }, //1: NTSC
; #else
;  {NULL,     NULL,     0,   0,  0         		 }, 
; #endif
;  {Mode2Tbl, Mode2Tda, 720, 400,1+NOPOL+PRESETMODE}, //2: 31.5KHz/70Hz -/+ 25MHz: 720x400
; #if SRC_TV                   
;  {tvPALTbl, NULL,     720, 286,0+NOPOL			 }, //3: PAL
; #else
;  {NULL,     NULL,     0,   0,  0      			 }, 
; #endif
;  {Mode4Tbl, Mode4Tda, 640, 480,3+NOPOL+PRESETMODE}, //4: 31.5KHz/60Hz -/- 25MHz: 640x480
;  {Mode5Tbl, Mode5Tda, 640, 480,3+NOPOL+PRESETMODE}, //5: 37.9KHz/72Hz -/- 31.5MHz: 640x480
;  {Mode6Tbl, Mode6Tda, 640, 480,3+NOPOL+PRESETMODE}, //6: 37.5KHz/75Hz -/- 31.5MHz: 640x480
;  {Mode7Tbl, Mode7Tda, 640, 480,3+NOPOL           }, //7: 43.3KHz/85Hz -/- 36MHz: 640x480
;  {Mode8Tbl, Mode8Tda, 800, 600,3+NOPOL+PRESETMODE}, //8: 35.1KHz/56Hz +/+ 36MHz: 800x600
;  {Mode9Tbl, Mode9Tda, 800, 600,0+NOPOL+PRESETMODE}, //9: 37.9KHz/60Hz +/+ 40MHz: 800x600
;  {Mode10Tbl,Mode10Tda,800, 600,3+NOPOL+PRESETMODE}, //10:47.2KHz/72Hz +/+ 50MHz: 800x600
;  {Mode11Tbl,Mode11Tda,800, 600,3+NOPOL+PRESETMODE}, //11:46.9KHz/75Hz +/+ 49.5MHz: 800x600
;  {Mode12Tbl,Mode12Tda,1024,768,3+NOPOL+PRESETMODE}, //12:48.4KHz/60Hz -/- 65MHz: 1024x768
;  {Mode13Tbl,Mode13Tda,1024,768,3+NOPOL+PRESETMODE}, //13:56.5KHz/70Hz -/- 75MHz: 1024x768
;  {Mode14Tbl,Mode14Tda,1024,768,0+NOPOL           }, //14:58.2KHz/72Hz -/- 77MHz: 1024x768
;  {Mode15Tbl,Mode15Tda,1024,768,0+NOPOL+PRESETMODE}, //15:60.0KHz/75Hz +/+ 78.75MHz: 1024x768
;  {Mode16Tbl,Mode16Tda,1024,768,0+NOPOL           }, //16:68.7KHz/85Hz +/+ 94.5MHz: 1024x768
;  {Mode17Tbl,Mode17Tda,800, 600,2+NOPOL			 }, //17:44.49KHz/70Hz +/- 44.85MHz: 800x600
;  {Mode18Tbl,Mode18Tda,800, 600,0+NOPOL           }, //18:53.7KHz/85Hz  +/+ 56.25MHz: 800x600
;  {Mode19Tbl,Mode19Tda,800, 600,0+NOPOL			 }, //19:56.6KHz/90Hz  +/+ 56.6MHz: 800x600
;  {Mode20Tbl,Mode20Tda,800, 600,0+NOPOL			 }, //20:63.9KHz/100Hz +/+ 67.5MHz: 800x600
;  {Mode21Tbl,Mode21Tda,640, 480,3+NOPOL			 }, //21:48.0KHz/90Hz  -/- 39.9MHz: 640x480
;  {Mode22Tbl,Mode22Tda,640, 480,3+NOPOL           }, //22:52.9KHz/100Hz -/- 44.9MHz: 640x480
;  {Mode23Tbl,Mode23Tda,1024,768,0+NOPOL		 	 }, //23:35.5KHz/87Hz(43i) +/+ 44.9MHz: 1024x768
;  {Mode24Tbl,Mode24Tda,1024,768,3+NOPOL			 }, //24:72.6KHz/90Hz +/+  100MHz: 1024x768
;  {Mode25Tbl,Mode25Tda,640, 480,3+NOPOL+PRESETMODE}, //25:35.0KHz 66.7Hz +/-,640x480 66.7Hz MAC-II
;  {Mode26Tbl,Mode26Tda,640, 350,2                 }, //26:37.861KHz 84.136Hz +/-, 640x350 84Hz
;  {Mode27Tbl,Mode27Tda,640, 400,1      			 }, //27:37.861KHz 84.136Hz -/+, 640x400 84Hz
;  {Mode28Tbl,Mode28Tda,640, 480,3+NOPOL			 }, //28:34.69KHz/70Hz -/- 25MHz: 640x480 70Hz
;  {Mode29Tbl,Mode29Tda,832, 624,3+NOPOL+PRESETMODE}, //29:49.725KHz/74.5Hz -/- 57.3MHz: 832x624
;  {Mode30Tbl,Mode30Tda,1024,768,3+NOPOL           }, //30:60.15KHz/74.72Hz -/- 80 MHz: 1024x768
;  {Mode31Tbl,Mode31Tda,640, 400,3+NOPOL			 }, //31:24.827KHz 56.424Hz -/-, 640x400 56Hz PC9801
;  {Mode32Tbl,Mode32Tda,1024,768,3+NOPOL			 }, //32:KHz/100Hz +/+  MHz: 1024x768
;  {Mode33Tbl,Mode33Tda,640, 400,3      			 }, //33:31.5Hz 70Hz -/-, 640x400 70Hz
;  {Mode34Tbl,Mode34Tda,800, 600,3+NOPOL			 }, //34:48.83K/66.89Hz -/- 50 MHz: 800x600 66Hz (MAC)
;  {Mode35Tbl,Mode35Tda,640, 400,0+NOPOL			 }, //35:26.36KHz 59.9Hz +/+, 640x400 60Hz 
;  {Mode36Tbl,Mode36Tda,1024,768,0+NOPOL			 }, //36:35.5KHz 43.4Hz +/+, 1024x768 43Hz
;  {Mode37Tbl,Mode37Tda,640, 377,0+NOPOL			 }, //37:29.58kz 73.1Hz +/+, 640x377 73Hz 
;  {Mode38Tbl,Mode38Tda,1280,1024,0+NOPOL+PRESETMODE}, //38:63.981KHz 60.020Hz +/+, 1280x1024 60Hz
;  {Mode39Tbl,Mode39Tda,1280,1024,0+NOPOL+PRESETMODE}, //39:79.976KHz 75Hz +/+, 1280x1024 75Hz
;  {Mode40Tbl,Mode40Tda,1280,1024,0+NOPOL			 }, //40:91.146KHz 85Hz +/+, 1280x1024 85Hz
;  {Mode41Tbl,Mode41Tda,1280,1024,0+NOPOL			 }, //41:73KHz 70Hz +/+, 1280x1024 70Hz
;  {Mode42Tbl,Mode42Tda,1280,1024,0+NOPOL			 }, //42:76.8KHz 72Hz +/+, 1280x1024 72Hz
;  {Mode43Tbl,Mode43Tda,1152,864, 0+NOPOL			 }, //43:54.35KHz 60Hz +/+, 1152x864 60Hz
;  {Mode44Tbl,Mode44Tda,1152,864, 0+NOPOL			 }, //44:64KHz 70Hz +/+, 1152x864 70Hz
;  {Mode45Tbl,Mode45Tda,1152,864, 0+NOPOL+PRESETMODE}, //45:67.5KHz 75Hz +/+, 1152x864 75Hz
;  {Mode46Tbl,Mode46Tda,1152,864, 0+NOPOL			 }, //46:77.5KHz 85Hz +/+, 1152x864 85Hz
;  {Mode47Tbl,Mode47Tda,1280,960, 0+NOPOL			 }, //47:60KHz 60Hz +/+, 1280x960 60Hz
;  {Mode48Tbl,Mode48Tda,1280,960, 0+NOPOL			 }, //48:75KHz 75Hz +/+, 1280x960 75Hz
;  {Mode49Tbl,Mode49Tda,1280,960, 0+NOPOL			 }, //49:86KHz 85Hz +/+, 1280x960 85Hz
;  {Mode50Tbl,Mode50Tda,1152,900, 0+NOPOL			 }, //50:61.8KHz 66Hz +/+, 1152x900 66Hz 
;  {Mode51Tbl,Mode51Tda,1280,1024,0+NOPOL			 }, //51:69.1KHz 65Hz +/+, 1280x1024 65Hz 
;  {Mode52Tbl,Mode52Tda,1280,1024,0+NOPOL			 }, //52:70.7KHz 66Hz +/+, 1280x1024 66Hz 
;  {Mode53Tbl,Mode53Tda,1280,1024,0+NOPOL			 }, //53:60.6KHz 57Hz +/+, 1280x1024 576z 
;  {Mode54Tbl,Mode54Tda,1280, 720,0+NOPOL			 }, //54:45KHz   60Hz +/+, 1280x720 60Hz 
;  {Mode55Tbl,Mode55Tda,1120, 750,0+NOPOL			 }, //55:50KHz 60Hz +/+, 1120x750 60Hz 
;  {Mode56Tbl,Mode56Tda,1920, 540,0+NOPOL			 }, //56:33.7KHz 30x2Hz +/+,1920(640)x540 30x2Hz 
;  {Mode57Tbl,Mode57Tda, 640, 400,0+NOPOL			 }, //57:25.8KHz 51.7Hz +/+,640x400 51.7Hz  
; 
; 
; };
; 
; 
; #define MAXMODE (sizeof(ModeTbl)/sizeof(MODETBL))
; 
; 
; bit  modeAdjust(void); 
; bit modeAdjustMVz(void);
; 
; //
; //      Set Display Mode
; //      Return: current mode, -1 unknown mode
; //
; unsigned char modeSetMode(unsigned char mode, unsigned char sync_pol)

	RSEG  ?PR?_modeSetMode?MODE
	USING	0
_modeSetMode:
	MOV  	mode?040,R7
	MOV  	sync_pol?041,R5
			; SOURCE LINE # 144
; {
			; SOURCE LINE # 145
;         MODETBL *modetbl;
;         unsigned char pol, *regtbl;
; #if (ENABLE_TCON == 0)  //(MASCOT_VZ == 0)        
;         char temp;
; #endif
; 
; #if DEBUGMSG
;         printf("Mode: mode=%x sync=%x\n", (int)mode, (unsigned int)sync_pol);
; #endif
; 
;         if (mode >= MAXMODE) {
			; SOURCE LINE # 156
	MOV  	A,mode?040
	CLR  	C
	SUBB 	A,#03AH
	JC   	?C0001
; #if DEBUGMSG
;                 printf("    mode overlimit %d\n", MAXMODE);
; #endif
;                 return MODE_OUTOFSYNC;
			; SOURCE LINE # 160
	MOV  	R7,#0F0H
	RET  	
;         }
			; SOURCE LINE # 161
?C0001:
; 
; 	freeRunFlag = 0;
			; SOURCE LINE # 163
	CLR  	freeRunFlag
; 	
;     modetbl = &ModeTbl[mode];
			; SOURCE LINE # 165
	MOV  	A,mode?040
	MOV  	B,#0BH
	MUL  	AB
	ADD  	A,#LOW (ModeTbl)
	MOV  	R1,A
	MOV  	A,#HIGH (ModeTbl)
	ADDC 	A,B
	MOV  	modetbl?042,#0FFH
	MOV  	modetbl?042+01H,A
	MOV  	modetbl?042+02H,R1
; 
;         // Mute screen
;     //miscTurnOffPanel();         // Turn off panel display
;     //miscTurnOffBackLight();
;         RegBitOut(0x40, 0x20, 0x70);
			; SOURCE LINE # 170
	MOV  	R7,#040H
	MOV  	R5,#020H
	MOV  	R3,#070H
	LCALL	_RegBitOut
; 
;     // Program TDA registers
;     regtbl = modetbl->tdaptr;
			; SOURCE LINE # 173
	MOV  	R3,modetbl?042
	MOV  	R2,modetbl?042+01H
	MOV  	R1,modetbl?042+02H
	MOV  	DPTR,#03H
	LCALL	?C?PLDOPTR
	MOV  	regtbl?044,R3
	MOV  	regtbl?044+01H,R2
	MOV  	regtbl?044+02H,R1
;     if (!(eepData.MascotFlag & FLAG_PORTB) && (regtbl!=NULL)) {
			; SOURCE LINE # 174
	MOV  	R0,#eepData+01BH
	MOV  	A,@R0
	JB   	ACC.6,?C0003
	MOV  	A,R1
	ORL  	A,R2
	ORL  	A,R3
	JZ   	?C0003
; 
;         TDADataTableOut(regtbl);
			; SOURCE LINE # 176
	LCALL	_TDADataTableOut
; 
; #if MASCOT_VXZ
;         DefaultPitch = ((*(regtbl+TDA_DIVH_OFF)& 0x07)<<8) + *(regtbl+TDA_DIVL_OFF);
			; SOURCE LINE # 179
	MOV  	R3,regtbl?044
	MOV  	R2,regtbl?044+01H
	MOV  	R1,regtbl?044+02H
	MOV  	DPTR,#01H
	LCALL	?C?CLDOPTR
	ANL  	A,#07H
	MOV  	R6,A
	MOV  	DPTR,#02H
	LCALL	?C?CLDOPTR
	MOV  	R4,#00H
	ADD  	A,#00H
	MOV  	DefaultPitch+01H,A
	MOV  	A,R4
	ADDC 	A,R6
	MOV  	DefaultPitch,A
; #else
; 		DefaultPitch = ((*(regtbl+TDA_DIVH_OFF)& 0x07)<<9) + (*(regtbl+TDA_DIVL_OFF)<<1) + ((*(regtbl+TDA_PHASE_OFF)&0X40)>>6);
; #endif        
;         //DefaultPhase = *(regtbl+TDA_PHASE_OFF) & PHASEMASK;
; 
; 
;     }
			; SOURCE LINE # 186
?C0003:
; 
;     // Program Mosaic
;     RegByteOut(0x24, 0x00);     // disable minify
			; SOURCE LINE # 189
	MOV  	R7,#024H
	CLR  	A
	MOV  	R5,A
	LCALL	_RegByteOut
;     RegByteOut(0x2F, 0x00);     // disable test mode
			; SOURCE LINE # 190
	MOV  	R7,#02FH
	CLR  	A
	MOV  	R5,A
	LCALL	_RegByteOut
; 
; 
;     regtbl = modetbl->modeptr;
			; SOURCE LINE # 193
	MOV  	R3,modetbl?042
	MOV  	R2,modetbl?042+01H
	MOV  	R1,modetbl?042+02H
	LCALL	?C?PLDPTR
	MOV  	regtbl?044,R3
	MOV  	regtbl?044+01H,R2
	MOV  	regtbl?044+02H,R1
;     if (regtbl == NULL) {
			; SOURCE LINE # 194
	MOV  	A,R1
	ORL  	A,R2
	ORL  	A,R3
	JNZ  	?C0004
; #if DEBUGMSG
;             printf("    modeptr==NULL\n");
; #endif
;                 return MODE_OUTOFSYNC;
			; SOURCE LINE # 198
	MOV  	R7,#0F0H
	RET  	
;         }
			; SOURCE LINE # 199
?C0004:
;         RegDataTableOut(regtbl);
			; SOURCE LINE # 200
	MOV  	R3,regtbl?044
	MOV  	R2,regtbl?044+01H
	MOV  	R1,regtbl?044+02H
	LCALL	_RegDataTableOut
; 
;     // screen mute 
;     RegBitOut(0x40, 0x20, 0x70);
			; SOURCE LINE # 203
	MOV  	R7,#040H
	MOV  	R5,#020H
	MOV  	R3,#070H
	LCALL	_RegBitOut
;     
;     //DefaultHstart = ((unsigned int)*(regtbl+MODEHSTART+1)<<8) + *(regtbl+MODEHSTART);
;    // DefaultVstart =  *(regtbl+MODEHSTART+2);
; 
; 
;     // Check polarity
;     pol = modetbl->pol;
			; SOURCE LINE # 210
	MOV  	R3,modetbl?042
	MOV  	R2,modetbl?042+01H
	MOV  	R1,modetbl?042+02H
	MOV  	DPTR,#0AH
	LCALL	?C?CLDOPTR
	MOV  	pol?043,A
; #if MASCOT_VXZ    
; 	pol |= NOPOL;
			; SOURCE LINE # 212
	ORL  	pol?043,#080H
;    	sync_pol = InputPolarity;
			; SOURCE LINE # 213
	MOV  	sync_pol?041,InputPolarity
; #endif     
;     if ( pol & NOPOL ) {
			; SOURCE LINE # 215
	MOV  	A,pol?043
	JNB  	ACC.7,?C0005
;         if ( (regtbl = modetbl->tdaptr) != NULL ) {
			; SOURCE LINE # 216
	MOV  	DPTR,#03H
	LCALL	?C?PLDOPTR
	MOV  	regtbl?044,R3
	MOV  	regtbl?044+01H,R2
	MOV  	regtbl?044+02H,R1
	MOV  	A,R1
	ORL  	A,R2
	ORL  	A,R3
	JZ   	?C0009
;             if (eepData.MascotFlag & FLAG_PORTB) {
			; SOURCE LINE # 217
	MOV  	R0,#eepData+01BH
	MOV  	A,@R0
	JNB  	ACC.6,?C0007
;                         RegBitOut(0x33, sync_pol<<1, 0x06);
			; SOURCE LINE # 218
	MOV  	R7,#033H
	MOV  	A,sync_pol?041
	ADD  	A,ACC
	MOV  	R5,A
	MOV  	R3,#06H
	LCALL	_RegBitOut
;             } else {
			; SOURCE LINE # 219
	SJMP 	?C0009
?C0007:
;                         RegBitOut(0x32, sync_pol<<1, 0x06);
			; SOURCE LINE # 220
	MOV  	R7,#032H
	MOV  	A,sync_pol?041
	ADD  	A,ACC
	MOV  	R5,A
	MOV  	R3,#06H
	LCALL	_RegBitOut
; 
;                         pol = (*(regtbl+TDA_CTRL_OFF) & 0x3F) | (sync_pol<<6);
			; SOURCE LINE # 222
	MOV  	R3,regtbl?044
	MOV  	R2,regtbl?044+01H
	MOV  	R1,regtbl?044+02H
	LCALL	?C?CLDPTR
	ANL  	A,#03FH
	MOV  	R7,A
	MOV  	A,sync_pol?041
	SWAP 	A
	RLC  	A
	RLC  	A
	ANL  	A,#0C0H
	ORL  	A,R7
	MOV  	pol?043,A
;                         
;  
;         #if (MASCOT_V+MASCOT_VXZ)            
;                         pol ^= 0x40;	
			; SOURCE LINE # 226
	XRL  	pol?043,#040H
;         #endif                
;                         
;                         TDAByteOut(TDA_CTRL, pol);
			; SOURCE LINE # 229
	MOV  	R7,#06H
	MOV  	R5,pol?043
	LCALL	_TDAByteOut
; 
;             }
			; SOURCE LINE # 231
;         }
			; SOURCE LINE # 232
;     }
			; SOURCE LINE # 233
	SJMP 	?C0009
?C0005:
; 
;     else if ( sync_pol != (pol&0x03)) {
			; SOURCE LINE # 235
	MOV  	A,pol?043
	ANL  	A,#03H
	XRL  	A,sync_pol?041
	JZ   	?C0009
; #if DEBUGMSG
;                 printf("    sync_pol mismatch %x\n", (unsigned int)pol);
; #endif
;         return MODE_OUTOFSYNC; //??? mode error, create a new mode
			; SOURCE LINE # 239
	MOV  	R7,#0F0H
	RET  	
;         }
			; SOURCE LINE # 240
?C0009:
; 
; #if (MRT_VITESSE2 && !MASCOT_VXZ)  // Patch: VSync needs pull low
;         TDAByteOut(TDA_CTRL, TDAByteIn(TDA_CTRL)&0x7F);
; #endif
; 
; 
; 
;     CurrentMode = mode;
			; SOURCE LINE # 248
	MOV  	CurrentMode,mode?040
; 
;     if (!PresetModeFlag)
			; SOURCE LINE # 250
	JB   	PresetModeFlag,?C0011
;     	CurrentMode |= 0x80;
			; SOURCE LINE # 251
	ORL  	CurrentMode,#080H
?C0011:
;     
; //    CurrentPolarity = sync_pol;
;     CurrentWidth = modetbl->width;
			; SOURCE LINE # 254
	MOV  	R3,modetbl?042
	MOV  	R2,modetbl?042+01H
	MOV  	R1,modetbl?042+02H
	MOV  	DPTR,#06H
	LCALL	?C?ILDOPTR
	MOV  	CurrentWidth,B
	MOV  	CurrentWidth+01H,A
;     CurrentHeight = modetbl->height;
			; SOURCE LINE # 255
	MOV  	DPTR,#08H
	LCALL	?C?ILDOPTR
	MOV  	CurrentHeight,B
	MOV  	CurrentHeight+01H,A
; 
; 
; 
;     if ( eepFindModeEntry() ) {
			; SOURCE LINE # 259
	LCALL	eepFindModeEntry
	MOV  	A,R7
	JZ   	?C0012
;     		adjVPos(0,HIDE);
			; SOURCE LINE # 260
	CLR  	A
	MOV  	R7,A
	CLR  	?_adjVPos?BIT
	LCALL	_adjVPos
;     		adjHPos(0,HIDE);
			; SOURCE LINE # 261
	CLR  	A
	MOV  	R7,A
	CLR  	?_adjHPos?BIT
	LCALL	_adjHPos
;     		adjPitch(0,HIDE);
			; SOURCE LINE # 262
	CLR  	A
	MOV  	R7,A
	CLR  	?_adjPitch?BIT
	LCALL	_adjPitch
;     		adjPhase(0,HIDE);
			; SOURCE LINE # 263
	CLR  	A
	MOV  	R7,A
	CLR  	?_adjPhase?BIT
	LCALL	_adjPhase
; 
; #if DEBUGMSG
;                 printf("        PRESET loaded\n");
; #endif
; 	}else {
			; SOURCE LINE # 268
	SJMP 	?C0013
?C0012:
; 			FindNewModeFlag = 1;
			; SOURCE LINE # 269
	SETB 	FindNewModeFlag
; 	}
			; SOURCE LINE # 270
?C0013:
; 	
; #if MASCOT_V
; #if LG_151X4
;     RegBitOut(0x24, 0x10, 0x30);
; #elif LG_151
;     RegBitOut(0x24, 0x20, 0x30);
; #endif
; #endif
; 
; 
; #if (MASCOT_VXZ && SRC_SI151)
;     if ((eepData.MascotFlag & FLAG_PORTB) && (CurrentWidth > 1024)) {
			; SOURCE LINE # 282
	MOV  	R0,#eepData+01BH
	MOV  	A,@R0
	JNB  	ACC.6,?C0014
	SETB 	C
	MOV  	A,CurrentWidth+01H
	SUBB 	A,#00H
	MOV  	A,CurrentWidth
	XRL  	A,#080H
	SUBB 	A,#084H
	JC   	?C0014
;         ival = RegByteIn(0x3B);
			; SOURCE LINE # 283
	MOV  	R7,#03BH
	LCALL	_RegByteIn
	MOV  	R0,#ival
	CLR  	A
	MOV  	@R0,A
	INC  	R0
	MOV  	A,R7
	MOV  	@R0,A
;         ival = (ival<<8)+RegByteIn(0x3A)+1;
			; SOURCE LINE # 284
	MOV  	R7,#03AH
	LCALL	_RegByteIn
	MOV  	A,R7
	MOV  	R5,A
	MOV  	R4,#00H
	MOV  	R0,#ival+01H
	MOV  	A,@R0
	MOV  	R7,#00H
	MOV  	R6,A
	CLR  	A
	ADD  	A,R5
	MOV  	R7,A
	MOV  	A,R4
	ADDC 	A,R6
	XCH  	A,R7
	ADD  	A,#01H
	MOV  	@R0,A
	CLR  	A
	ADDC 	A,R7
	DEC  	R0
	MOV  	@R0,A
;         RegByteOut(0x3A, ival);
			; SOURCE LINE # 285
	MOV  	R7,#03AH
	INC  	R0
	MOV  	A,@R0
	MOV  	R5,A
	LCALL	_RegByteOut
;         RegByteOut(0x3B, ival>>8);
			; SOURCE LINE # 286
	MOV  	R0,#ival
	MOV  	A,@R0
	MOV  	R5,A
	MOV  	R7,#03BH
	LCALL	_RegByteOut
;     }
			; SOURCE LINE # 287
?C0014:
; #endif
; 
; 
; 	if (eepData.MascotFlag & FLAG_PORTB)
			; SOURCE LINE # 291
	MOV  	R0,#eepData+01BH
	MOV  	A,@R0
	JNB  	ACC.6,?C0015
;    		RegBitOut(0x31,0x20,0x20); 	 // External DE		
			; SOURCE LINE # 292
	MOV  	R7,#031H
	MOV  	R5,#020H
	MOV  	R3,#020H
	LCALL	_RegBitOut
?C0015:
; 	
; 
;     // Use DE counter to detect 720/640 modes
;     if ( RegByteIn(0x31)&0x20 )     // External DE
			; SOURCE LINE # 296
	MOV  	R7,#031H
	LCALL	_RegByteIn
	MOV  	A,R7
	JB   	ACC.5,$ + 6H
	LJMP 	?C0016
;         if (CurrentWidth == 640 || CurrentWidth == 720) {
			; SOURCE LINE # 297
	MOV  	A,CurrentWidth+01H
	XRL  	A,#080H
	JNZ  	?C0074
	MOV  	A,CurrentWidth
	XRL  	A,#02H
?C0074:
	JZ   	?C0018
	MOV  	A,CurrentWidth+01H
	XRL  	A,#0D0H
	JNZ  	?C0075
	MOV  	A,CurrentWidth
	XRL  	A,#02H
?C0075:
	JZ   	$ + 5H
	LJMP 	?C0016
?C0018:
;     	RegBitOut(0x30, 0x01, 0x01); // start capture
			; SOURCE LINE # 298
	MOV  	R7,#030H
	MOV  	R5,#01H
	MOV  	R3,#01H
	LCALL	_RegBitOut
;         RegBitOut(0x47, 0x00, 0x80); //Select External DE width
			; SOURCE LINE # 299
	MOV  	R7,#047H
	CLR  	A
	MOV  	R5,A
	MOV  	R3,#080H
	LCALL	_RegBitOut
;         RegBitOut(0x07, 0x08, 0x08); //Enable count External DE width
			; SOURCE LINE # 300
	MOV  	R7,#07H
	MOV  	R5,#08H
	MOV  	R3,#08H
	LCALL	_RegBitOut
;         miscDelay(200);
			; SOURCE LINE # 301
	MOV  	R7,#0C8H
	MOV  	R6,#00H
	LCALL	_miscDelay
;         ival = RegByteIn(0x11) & 0x07; //External DE High Byte
			; SOURCE LINE # 302
	MOV  	R7,#011H
	LCALL	_RegByteIn
	CLR  	A
	MOV  	R0,#ival
	MOV  	@R0,A
	MOV  	A,R7
	ANL  	A,#07H
	INC  	R0
	MOV  	@R0,A
;         ival = (ival<<8) + RegByteIn(0x10); //High+Low byte of external DE
			; SOURCE LINE # 303
	MOV  	R7,#010H
	LCALL	_RegByteIn
	MOV  	A,R7
	MOV  	R5,A
	MOV  	R4,#00H
	MOV  	R0,#ival+01H
	MOV  	A,@R0
	MOV  	R6,A
	CLR  	A
	ADD  	A,R5
	MOV  	R7,A
	MOV  	A,R4
	ADDC 	A,R6
	MOV  	R6,A
	DEC  	R0
	MOV  	@R0,A
	INC  	R0
	MOV  	A,R7
	MOV  	@R0,A
; #if DEBUGMSG
;         printf("   DE=%d\n", ival);
; #endif
;         if (CurrentWidth != ival) {
			; SOURCE LINE # 307
	XRL  	A,CurrentWidth+01H
	JNZ  	?C0076
	MOV  	A,CurrentWidth
	XRL  	A,R6
?C0076:
	JZ   	?C0019
; 
; 			if (ival > 660) CurrentWidth = ival = 720;  //modify for chroma 2326 timing 43
			; SOURCE LINE # 309
	SETB 	C
	MOV  	R0,#ival+01H
	MOV  	A,@R0
	SUBB 	A,#094H
	DEC  	R0
	MOV  	A,@R0
	SUBB 	A,#02H
	JC   	?C0020
	MOV  	@R0,#02H
	INC  	R0
	MOV  	@R0,#0D0H
	MOV  	CurrentWidth,#02H
	MOV  	CurrentWidth+01H,#0D0H
	SJMP 	?C0021
?C0020:
; 			else 			CurrentWidth = ival = 640;  //720 x 400 x85 --> ival = 669
			; SOURCE LINE # 310
	MOV  	R0,#ival
	MOV  	@R0,#02H
	INC  	R0
	MOV  	@R0,#080H
	MOV  	CurrentWidth,#02H
	MOV  	CurrentWidth+01H,#080H
?C0021:
;             //CurrentWidth = ival;
;             RegWordOut(0x38, ival-1); //Write back H width
			; SOURCE LINE # 312
	MOV  	R7,#038H
	MOV  	R0,#ival+01H
	MOV  	A,@R0
	ADD  	A,#0FFH
	MOV  	R5,A
	DEC  	R0
	MOV  	A,@R0
	ADDC 	A,#0FFH
	MOV  	R4,A
	LCALL	_RegWordOut
;             ival >>= 2;
			; SOURCE LINE # 313
	MOV  	R0,#ival
	MOV  	A,@R0
	MOV  	R6,A
	INC  	R0
	MOV  	A,@R0
	MOV  	R0,#02H
?C0077:
	XCH  	A,R6
	CLR  	C
	RRC  	A
	XCH  	A,R6
	RRC  	A
	DJNZ 	R0,?C0077
	MOV  	R1,#ival+01H
	MOV  	@R1,A
	MOV  	A,R6
	DEC  	R1
	MOV  	@R1,A
;             RegByteOut(0x3C, ival-1);
			; SOURCE LINE # 314
	MOV  	R7,#03CH
	MOV  	R0,#ival+01H
	MOV  	A,@R0
	DEC  	A
	MOV  	R5,A
	LCALL	_RegByteOut
;     #if PANEL_1280
;             ival = CurrentWidth * 8 / 5;
;     #else
;             ival = CurrentWidth * 2;
			; SOURCE LINE # 318
	MOV  	A,CurrentWidth+01H
	ADD  	A,ACC
	MOV  	R1,#ival+01H
	MOV  	@R1,A
	MOV  	A,CurrentWidth
	RLC  	A
	DEC  	R1
	MOV  	@R1,A
;     #endif
;             RegByteOut(0x4B, ival); 
			; SOURCE LINE # 320
	MOV  	R7,#04BH
	MOV  	R0,#ival+01H
	MOV  	A,@R0
	MOV  	R5,A
	LCALL	_RegByteOut
;             RegBitOut(0x4D, ival>>8, 0x07);
			; SOURCE LINE # 321
	MOV  	R0,#ival
	MOV  	A,@R0
	MOV  	R5,A
	MOV  	R3,#07H
	MOV  	R7,#04DH
	LCALL	_RegBitOut
;         }
			; SOURCE LINE # 322
?C0019:
;        	
;         RegBitOut(0x07, 0x00, 0x08);
			; SOURCE LINE # 324
	MOV  	R7,#07H
	CLR  	A
	MOV  	R5,A
	MOV  	R3,#08H
	LCALL	_RegBitOut
;     }
			; SOURCE LINE # 325
?C0016:
; 
; 
; 
; 
; #if MASCOT_V
;     RegBitOut(0x40, 0x80, 0x80);
			; SOURCE LINE # 331
	MOV  	R7,#040H
	MOV  	R5,#080H
	MOV  	R3,#080H
	LCALL	_RegBitOut
;    // if (mode != 23) {
; #if MASCOT_VXZ	
; 	if ((sync_pol == 0x00) || ((mode == 17) && (sync_pol == 0x02)))
			; SOURCE LINE # 334
	MOV  	A,sync_pol?041
	JZ   	?C0023
	MOV  	A,mode?040
	CJNE 	A,#011H,?C0022
	MOV  	A,sync_pol?041
	CJNE 	A,#02H,?C0022
?C0023:
; 		RegBitOut(0x32, 0x80, 0x90);
			; SOURCE LINE # 335
	MOV  	R7,#032H
	MOV  	R5,#080H
	MOV  	R3,#090H
	LCALL	_RegBitOut
	SJMP 	?C0024
?C0022:
; 	else	
; 		RegBitOut(0x32, 0x90, 0x90);
			; SOURCE LINE # 337
	MOV  	R7,#032H
	MOV  	R5,#090H
	MOV  	R3,#090H
	LCALL	_RegBitOut
?C0024:
; #else	
;     	RegBitOut(0x32, 0x80, 0x80);
; #endif		
;     	RegBitOut(0x18, 0x20, 0x20);
			; SOURCE LINE # 341
	MOV  	R7,#018H
	MOV  	R5,#020H
	MOV  	R3,#020H
	LCALL	_RegBitOut
;   //  }
; #endif
; 
; 
; 
; 
; #if (ENABLE_TCON == 0)
;     RegBitOut(0x24, 0xC0, 0xC0);
; #else
; 	RegBitOut(0x24, 0x00, 0xC0);    
			; SOURCE LINE # 351
	MOV  	R7,#024H
	CLR  	A
	MOV  	R5,A
	MOV  	R3,#0C0H
	LCALL	_RegBitOut
; #endif
; 
; 
; #if (MASCOT_VZ+MASCOT_VXZ+MASCOT_VP2)
; #if USE_DIGITAL_CONTRAST
; 	RegBitOut(0x30,0x00,0x40);	//enable digital contrast
			; SOURCE LINE # 357
	MOV  	R7,#030H
	CLR  	A
	MOV  	R5,A
	MOV  	R3,#040H
	LCALL	_RegBitOut
; #else
; 	RegBitOut(0x30,0x40,0x40);	//disable digital contrast
; #endif	
; #endif
; 	RegBitOut(0x40,0x00,0x40);	//disable free run for modeadjust
			; SOURCE LINE # 362
	MOV  	R7,#040H
	CLR  	A
	MOV  	R5,A
	MOV  	R3,#040H
	LCALL	_RegBitOut
; 
; #if USE_GAMMATABLE
; 	setGammaTable(CurrentMode & 0x7f);
; #endif
; 
; #if (MASCOT_V && SRC_SI151)
; 	if (eepData.MascotFlag & FLAG_PORTB)
			; SOURCE LINE # 369
	MOV  	R0,#eepData+01BH
	MOV  	A,@R0
	JNB  	ACC.6,?C0025
; #if MASCOT_VXZ
;         RegBitOut(0x33, 0x58, 0x58);
			; SOURCE LINE # 371
	MOV  	R7,#033H
	MOV  	R5,#058H
	MOV  	R3,#058H
	LCALL	_RegBitOut
?C0025:
; #else 
; 		RegBitOut(

⌨️ 快捷键说明

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