📄 switch.src
字号:
; unsigned char code tvPALTbl[] = { // TV input, PAL
; // !!Must start with CR32 or update MODEHSTART
; 14, 0x32, // Capture Interface
; 0x06, //CR32: PortA +H/+V
; #if MASCOT_V
; 0x28, //CR33: PortB
; #else
; 0x38, //CR33: PortB
; #endif
; 0x2B,0x00,0x13,0x00, //CR34-37: Capture H/V Start
; 0xCF,0x02,0xDF,0x01, //CR38-3B: Capture Width/Height
; 0xB3, //CR3C: Capture FIFO Depth, width/4-1
; 0x02,0x00,0x08, //CR3D-3F: Clamp
;
; 4, 0x2B,
; 0x0A,0x3F, //DCLK, 65M
; 0x00,0x80,
;
; 14, 0x40, // Display Interface
; 0x8F, //CR40
; 0xC0,0x7F,0x82,0x11, //CR41-CR44: Hort
; 0x26,0xFF,0x23,0x03,0x03,0x06, //CR45-4A: Vert
; 0xA0,0xFA,0x25, //CR4B-4D: H/V Zoom
;
; -1 // EOT
; };
; #endif //USE_SAA7111
;
; #if USE_SAA7114
; unsigned char code tvNTSCTbl[] = { // TV input, NTSC
; // !!Must start with CR32 or update MODEHSTART
; 11, 0x32, // Capture Interface
; 0x06, //CR32: PortA +H/+V
; 0x28, //CR33: PortB
; 0x56,0x01,0x13,0x00, //CR34-37: Capture H/V Start
; 0xCF,0x02,0x0F,0x01, //CR38-3B: Capture Width/Height
; 0xB3, //CR3C: Capture FIFO Depth, width/4-1
;
; 4, 0x2B,
; 0x0A,0x3F,0x00,0x80, //DCLK, 65M
;
; 14, 0x40, // Display Interface
; 0x8F, //CR40
; 0xA0,0x7F,0x82,0x12, //CR41-CR44: Hort
; 0x26,0xFF,0x23,0x03,0x03,0x06, //CR45-4A: Vert
; 0xA0,0x80,0x25, //CR4B-4D: H/V Zoom
;
; -1 // EOT
; };
;
; unsigned char code tvPALTbl[] = { // TV input, PAL
; // !!Must start with CR32 or update MODEHSTART
; 11, 0x32, // Capture Interface
; 0x06, //CR32: PortA +H/+V
; 0x38, //CR33: PortB
; 0x5E,0x01,0x12,0x00, //CR34-37: Capture H/V Start
; 0xCF,0x02,0x2C,0x01, //CR38-3B: Capture Width/Height
; 0xB3, //CR3C: Capture FIFO Depth, width/4-1
;
; 4, 0x2B,
; 0x0A,0x3F,0x00,0x80, //DCLK, 65M
;
; 14, 0x40, // Display Interface
; 0x8F, //CR40
; 0xC0,0x7F,0x82,0x12, //CR41-CR44: Hort
; 0x26,0xFF,0x23,0x03,0x03,0x06, //CR45-4A: Vert
; 0xA0,0x00,0x35, //CR4B-4D: H/V Zoom
;
; -1 // EOT
; };
; #endif //USE_SAA7114
; #endif //SRC_TV
;
;
; void switchSource(void)
RSEG ?PR?switchSource?SWITCH
USING 0
switchSource:
; SOURCE LINE # 314
; {
; SOURCE LINE # 315
; miscTurnOffPanel(); // Turn off panel display
; SOURCE LINE # 316
LCALL miscTurnOffPanel
;
; if (eepData.MascotFlag & FLAG_PORTB) {
; SOURCE LINE # 318
MOV R0,#eepData+01BH
MOV A,@R0
JNB ACC.6,?C0001
; #if DEBUGMSG
; printf("Switch to VGA source\n");
; #endif
;
; #if MRT_ADCPLL
; buff[0] = (CurrentMode>=0) ? *(ModeTbl[CurrentMode].tdaptr) : 0xF2;
; TDAByteOut(TDA_POWER, buff[0]);
; #endif
;
; RegBitOut(0x07, 0x00, 0x04);
; SOURCE LINE # 328
MOV R7,#07H
CLR A
MOV R5,A
MOV R3,#04H
LCALL _RegBitOut
; RegByteOut(0x01, 0x00);
; SOURCE LINE # 329
MOV R7,#01H
CLR A
MOV R5,A
LCALL _RegByteOut
;
; #if MASCOT_V
; RegBitOut(0x30, 0x00, 0x1C);
; SOURCE LINE # 332
MOV R7,#030H
CLR A
MOV R5,A
MOV R3,#01CH
LCALL _RegBitOut
; #endif
;
; RegByteOut(0x31, 0x00);
; SOURCE LINE # 335
MOV R7,#031H
CLR A
MOV R5,A
LCALL _RegByteOut
; eepData.MascotFlag &= ~FLAG_PORTB;
; SOURCE LINE # 336
MOV R0,#eepData+01BH
MOV A,@R0
ANL A,#0BFH
MOV @R0,A
; eepDataOut(EEPDATASTART+(&eepData.MascotFlag-&eepData), (unsigned char *)&eepData.MascotFlag, 1);
; SOURCE LINE # 337
MOV R7,#LOW (eepData)
CLR C
MOV A,#LOW (eepData+01BH)
SUBB A,#LOW (eepData)
MOV R7,A
MOV A,#HIGH (eepData+01BH)
SUBB A,#HIGH (eepData)
XCH A,R7
ADD A,#04H
XCH A,R7
ADDC A,#00H
MOV R6,A
MOV R3,#00H
MOV R2,#HIGH (eepData+01BH)
MOV R1,#LOW (eepData+01BH)
MOV ?_eepDataOut?BYTE+05H,#00H
MOV ?_eepDataOut?BYTE+06H,#01H
LCALL _eepDataOut
;
; #if USE_GAMMA
; RegBitOut(0x50, 0x08, 0x08);
; #endif
; #if MASCOT_VXZ
; RegBitOut(0xBE, 0X00, 0X04); //disable DVI
; SOURCE LINE # 343
MOV R7,#0BEH
CLR A
MOV R5,A
MOV R3,#04H
LCALL _RegBitOut
; #endif
;
; RegByteOut(0x04, 0x36);
; SOURCE LINE # 346
MOV R7,#04H
MOV R5,#036H
LCALL _RegByteOut
; RegBitOut(0x07, 0x04, 0x04);
; SOURCE LINE # 347
MOV R7,#07H
MOV R5,#04H
MOV R3,#04H
LCALL _RegBitOut
RET
; return;
; }
; SOURCE LINE # 349
?C0001:
;
; //
; // Switch to port B
; //
; #if MRT_ADCPLL
; TDAByteOut(TDA_POWER, 0x02);
; #endif
;
; RegBitOut(0x07, 0x00, 0x04); // disable Int
; SOURCE LINE # 358
MOV R7,#07H
CLR A
MOV R5,A
MOV R3,#04H
LCALL _RegBitOut
; RegByteOut(0x01, 0x00);
; SOURCE LINE # 359
MOV R7,#01H
CLR A
MOV R5,A
LCALL _RegByteOut
;
; #if SRC_SI151
; #if DEBUGMSG
; printf("Switch source to Si151\n");
; #endif
; // si151Source = 0;
; #if MASCOT_VXZ
; RegBitOut(0xBE, 0X04, 0X04); //enable DVI
; SOURCE LINE # 367
MOV R7,#0BEH
MOV R5,#04H
MOV R3,#04H
LCALL _RegBitOut
; #endif
;
; #if USE_GAMMA
; RegBitOut(0x50, 0x00, 0x08);
; #endif
;
;
; //RegByteOut(0x31, 0x22);
; RegByteOut(0x31, 0x62);
; SOURCE LINE # 376
MOV R7,#031H
MOV R5,#062H
LCALL _RegByteOut
; #endif //SRC_SI151
;
; #if SRC_TV
; #if DEBUGMSG
; printf("Switch source to TV\n");
; #endif
;
; #if USE_SAA7111
; if (NO_TV)
; {
; // switch to s-video
; I2cByteOut(0x48, 0x02, (initSAA7111A[1] & 0xF8 )|0x06);
; I2cByteOut(0x48, 0x09, initSAA7111A[8]^0x80);
; miscDelay(50);
; }
; if (NO_TV)
; {
; // switch back to composite
; I2cByteOut(0x48, 0x02, initSAA7111A[1]);
; I2cByteOut(0x48, 0x09, initSAA7111A[8]);
; }
; #endif //USE_SAA7111
;
; #if MASCOT_V
; RegBitOut(0x30, 0x10, 0x1C); // odd/even
; #endif
;
; RegByteOut(0x31, 0x06);
;
; #if USE_SAA7111
; if(SelectVideo==VIDEO_1)
; I2cByteOut(TV_I2C_ADDR,0x02,0xD9);
; else if (SelectVideo==VIDEO_2)
; I2cByteOut(TV_I2C_ADDR,0x02,0xD9);
; else if (SelectVideo==S_VIDEO)
; I2cByteOut(TV_I2C_ADDR,0x02,0xDC);
;
; #elif USE_SAA7114
; I2cByteOut(TV_I2C_ADDR,0x94,0x02);
; if(SelectVideo==VIDEO_1)
; I2cByteOut(TV_I2C_ADDR,0x02,0xC0);
; else if (SelectVideo==VIDEO_2)
; I2cByteOut(TV_I2C_ADDR,0x02,0xC1);
; else if (SelectVideo==S_VIDEO)
; I2cByteOut(TV_I2C_ADDR,0x02,0xC9);
;
; I2cByteOut(TV_I2C_ADDR,0x94,0x02);
; #endif
;
; #endif //SRC_TV
;
; eepData.MascotFlag |= FLAG_PORTB;
; SOURCE LINE # 428
MOV R0,#eepData+01BH
MOV A,@R0
ORL A,#040H
MOV @R0,A
; eepDataOut(EEPDATASTART+(&eepData.MascotFlag-&eepData), (unsigned char *)&eepData.MascotFlag, 1);
; SOURCE LINE # 429
MOV R7,#LOW (eepData)
CLR C
MOV A,#LOW (eepData+01BH)
SUBB A,#LOW (eepData)
MOV R7,A
MOV A,#HIGH (eepData+01BH)
SUBB A,#HIGH (eepData)
XCH A,R7
ADD A,#04H
XCH A,R7
ADDC A,#00H
MOV R6,A
MOV R3,#00H
MOV R2,#HIGH (eepData+01BH)
MOV R1,#LOW (eepData+01BH)
MOV ?_eepDataOut?BYTE+05H,#00H
MOV ?_eepDataOut?BYTE+06H,#01H
LCALL _eepDataOut
; RegByteOut(0x04, 0xCA);
; SOURCE LINE # 430
MOV R7,#04H
MOV R5,#0CAH
LCALL _RegByteOut
; RegBitOut(0x07, 0x04, 0x04);
; SOURCE LINE # 431
MOV R7,#07H
MOV R5,#04H
MOV R3,#04H
LCALL _RegBitOut
;
; }
; SOURCE LINE # 433
?C0002:
RET
; END OF switchSource
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -