📄 lcdlib.txt
字号:
00088c e1a01501 MOV r1,r1,LSL #10
000890 e1a015a1 MOV r1,r1,LSR #11
000894 e3a0244d MOV r2,#0x4d000000
000898 e5821018 STR r1,[r2,#0x18]
;;;225 rLCDSADDR3=(((SCR_XSIZE_TFT_640480-LCD_XSIZE_TFT_640480)/16)<<11)|(LCD_XSIZE_TFT_640480/16);
00089c e59f154c LDR r1,|L1.3568|
0008a0 e3a0244d MOV r2,#0x4d000000
0008a4 e582101c STR r1,[r2,#0x1c]
;;;226 rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
0008a8 e3a0144d MOV r1,#0x4d000000
0008ac e591105c LDR r1,[r1,#0x5c]
0008b0 e3811003 ORR r1,r1,#3
0008b4 e3a0244d MOV r2,#0x4d000000
0008b8 e582105c STR r1,[r2,#0x5c]
;;;227 rTCONSEL&=(~7); // Disable LPC3600
0008bc e3a0144d MOV r1,#0x4d000000
0008c0 e5911060 LDR r1,[r1,#0x60]
0008c4 e3c11007 BIC r1,r1,#7
0008c8 e3a0244d MOV r2,#0x4d000000
0008cc e5821060 STR r1,[r2,#0x60]
;;;228 rTPAL=0; // Disable Temp Palette
0008d0 e3a01000 MOV r1,#0
0008d4 e3a0244d MOV r2,#0x4d000000
0008d8 e5821050 STR r1,[r2,#0x50]
;;;229 break;
0008dc ea00013b B |L1.3536|
;;;230
;;;231 case MODE_TFT_8BIT_640480:
;;;232 frameBuffer8BitTft640480=(U32 (*)[SCR_XSIZE_TFT_640480/4])LCDFRAMEBUFFER;
|L1.2272|
0008e0 e3a015c6 MOV r1,#0x31800000
0008e4 e59f258c LDR r2,|L1.3704|
0008e8 e5821000 STR r1,[r2,#0] ; frameBuffer8BitTft640480
;;;233 rLCDCON1=(CLKVAL_TFT_640480<<8)|(MVAL_USED<<7)|(3<<5)|(11<<1)|0;
0008ec e59f1588 LDR r1,|L1.3708|
0008f0 e3a0244d MOV r2,#0x4d000000
0008f4 e5821000 STR r1,[r2,#0]
;;;234 // TFT LCD panel,8bpp TFT,ENVID=off
;;;235 rLCDCON2=(VBPD_640480<<24)|(LINEVAL_TFT_640480<<14)|(VFPD_640480<<6)|(VSPW_640480);
0008f8 e59f156c LDR r1,|L1.3692|
0008fc e3a0244d MOV r2,#0x4d000000
000900 e5821004 STR r1,[r2,#4]
;;;236 rLCDCON3=(HBPD_640480<<19)|(HOZVAL_TFT_640480<<8)|(HFPD_640480);
000904 e59f1564 LDR r1,|L1.3696|
000908 e3a0244d MOV r2,#0x4d000000
00090c e5821008 STR r1,[r2,#8]
;;;237 rLCDCON4=(MVAL<<8)|(HSPW_640480);
000910 e59f155c LDR r1,|L1.3700|
000914 e3a0244d MOV r2,#0x4d000000
000918 e582100c STR r1,[r2,#0xc]
;;;238 rLCDCON5=(1<<11)|(1<<9)|(1<<8); //FRM5:6:5,HSYNC and VSYNC are inverted
00091c e3a01eb0 MOV r1,#0xb00
000920 e3a0244d MOV r2,#0x4d000000
000924 e5821010 STR r1,[r2,#0x10]
;;;239 rLCDSADDR1=(((U32)frameBuffer8BitTft640480>>22)<<21)|M5D((U32)frameBuffer8BitTft640480>>1);
000928 e59f1548 LDR r1,|L1.3704|
00092c e5911000 LDR r1,[r1,#0] ; frameBuffer8BitTft640480
000930 e1a01b21 MOV r1,r1,LSR #22
000934 e1a01a81 MOV r1,r1,LSL #21
000938 e59f2538 LDR r2,|L1.3704|
00093c e5922000 LDR r2,[r2,#0] ; frameBuffer8BitTft640480
000940 e1a02502 MOV r2,r2,LSL #10
000944 e18115a2 ORR r1,r1,r2,LSR #11
000948 e3a0244d MOV r2,#0x4d000000
00094c e5821014 STR r1,[r2,#0x14]
;;;240 rLCDSADDR2=M5D( ((U32)frameBuffer8BitTft640480+(SCR_XSIZE_TFT_640480*LCD_YSIZE_TFT_640480/1))>>1 );
000950 e59f1520 LDR r1,|L1.3704|
000954 e5911000 LDR r1,[r1,#0] ; frameBuffer8BitTft640480
000958 e2811a96 ADD r1,r1,#0x96000
00095c e1a01501 MOV r1,r1,LSL #10
000960 e1a015a1 MOV r1,r1,LSR #11
000964 e3a0244d MOV r2,#0x4d000000
000968 e5821018 STR r1,[r2,#0x18]
;;;241 rLCDSADDR3=(((SCR_XSIZE_TFT_640480-LCD_XSIZE_TFT_640480)/2)<<11)|(LCD_XSIZE_TFT_640480/2);
00096c e59f14bc LDR r1,|L1.3632|
000970 e3a0244d MOV r2,#0x4d000000
000974 e582101c STR r1,[r2,#0x1c]
;;;242 rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
000978 e3a0144d MOV r1,#0x4d000000
00097c e591105c LDR r1,[r1,#0x5c]
000980 e3811003 ORR r1,r1,#3
000984 e3a0244d MOV r2,#0x4d000000
000988 e582105c STR r1,[r2,#0x5c]
;;;243 rTCONSEL&=(~7); // Disable LPC3600
00098c e3a0144d MOV r1,#0x4d000000
000990 e5911060 LDR r1,[r1,#0x60]
000994 e3c11007 BIC r1,r1,#7
000998 e3a0244d MOV r2,#0x4d000000
00099c e5821060 STR r1,[r2,#0x60]
;;;244 rTPAL=0; // Disable Temp Palette
0009a0 e3a01000 MOV r1,#0
0009a4 e3a0244d MOV r2,#0x4d000000
0009a8 e5821050 STR r1,[r2,#0x50]
;;;245 break;
0009ac ea000107 B |L1.3536|
;;;246
;;;247 case MODE_TFT_16BIT_640480:
;;;248 frameBuffer16BitTft640480=(U32 (*)[SCR_XSIZE_TFT_640480/2])LCDFRAMEBUFFER;
|L1.2480|
0009b0 e3a015c6 MOV r1,#0x31800000
0009b4 e59f24c4 LDR r2,|L1.3712|
0009b8 e5821000 STR r1,[r2,#0] ; frameBuffer16BitTft640480
;;;249 rLCDCON1=(CLKVAL_TFT_640480<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;
0009bc e3a01f5e MOV r1,#0x178
0009c0 e3a0244d MOV r2,#0x4d000000
0009c4 e5821000 STR r1,[r2,#0]
;;;250 // TFT LCD panel,16bpp TFT,ENVID=off
;;;251 rLCDCON2=(VBPD_640480<<24)|(LINEVAL_TFT_640480<<14)|(VFPD_640480<<6)|(VSPW_640480);
0009c8 e59f149c LDR r1,|L1.3692|
0009cc e3a0244d MOV r2,#0x4d000000
0009d0 e5821004 STR r1,[r2,#4]
;;;252 rLCDCON3=(HBPD_640480<<19)|(HOZVAL_TFT_640480<<8)|(HFPD_640480);
0009d4 e59f1494 LDR r1,|L1.3696|
0009d8 e3a0244d MOV r2,#0x4d000000
0009dc e5821008 STR r1,[r2,#8]
;;;253 rLCDCON4=(MVAL<<8)|(HSPW_640480);
0009e0 e59f148c LDR r1,|L1.3700|
0009e4 e3a0244d MOV r2,#0x4d000000
0009e8 e582100c STR r1,[r2,#0xc]
;;;254 rLCDCON5=(1<<11)|(1<<9)|(1<<8); //FRM5:6:5,HSYNC and VSYNC are inverted
0009ec e3a01eb0 MOV r1,#0xb00
0009f0 e3a0244d MOV r2,#0x4d000000
0009f4 e5821010 STR r1,[r2,#0x10]
;;;255 rLCDSADDR1=(((U32)frameBuffer16BitTft640480>>22)<<21)|M5D((U32)frameBuffer16BitTft640480>>1);
0009f8 e59f1480 LDR r1,|L1.3712|
0009fc e5911000 LDR r1,[r1,#0] ; frameBuffer16BitTft640480
000a00 e1a01b21 MOV r1,r1,LSR #22
000a04 e1a01a81 MOV r1,r1,LSL #21
000a08 e59f2470 LDR r2,|L1.3712|
000a0c e5922000 LDR r2,[r2,#0] ; frameBuffer16BitTft640480
000a10 e1a02502 MOV r2,r2,LSL #10
000a14 e18115a2 ORR r1,r1,r2,LSR #11
000a18 e3a0244d MOV r2,#0x4d000000
000a1c e5821014 STR r1,[r2,#0x14]
;;;256 rLCDSADDR2=M5D( ((U32)frameBuffer16BitTft640480+(SCR_XSIZE_TFT_640480*LCD_YSIZE_TFT_640480*2))>>1 );
000a20 e59f1458 LDR r1,|L1.3712|
000a24 e5911000 LDR r1,[r1,#0] ; frameBuffer16BitTft640480
000a28 e281194b ADD r1,r1,#0x12c000
000a2c e1a01501 MOV r1,r1,LSL #10
000a30 e1a015a1 MOV r1,r1,LSR #11
000a34 e3a0244d MOV r2,#0x4d000000
000a38 e5821018 STR r1,[r2,#0x18]
;;;257 rLCDSADDR3=(((SCR_XSIZE_TFT_640480-LCD_XSIZE_TFT_640480)/1)<<11)|(LCD_XSIZE_TFT_640480/1);
000a3c e59f1440 LDR r1,|L1.3716|
000a40 e3a0244d MOV r2,#0x4d000000
000a44 e582101c STR r1,[r2,#0x1c]
;;;258 rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
000a48 e3a0144d MOV r1,#0x4d000000
000a4c e591105c LDR r1,[r1,#0x5c]
000a50 e3811003 ORR r1,r1,#3
000a54 e3a0244d MOV r2,#0x4d000000
000a58 e582105c STR r1,[r2,#0x5c]
;;;259 rTCONSEL&=(~7); // Disable LPC3600
000a5c e3a0144d MOV r1,#0x4d000000
000a60 e5911060 LDR r1,[r1,#0x60]
000a64 e3c11007 BIC r1,r1,#7
000a68 e3a0244d MOV r2,#0x4d000000
000a6c e5821060 STR r1,[r2,#0x60]
;;;260 rTPAL=0; // Disable Temp Palette
000a70 e3a01000 MOV r1,#0
000a74 e3a0244d MOV r2,#0x4d000000
000a78 e5821050 STR r1,[r2,#0x50]
;;;261 break;
000a7c ea0000d3 B |L1.3536|
;;;262
;;;263 case MODE_TFT_24BIT_640480:
;;;264 frameBuffer24BitTft640480=(U32 (*)[SCR_XSIZE_TFT_640480])LCDFRAMEBUFFER;
|L1.2688|
000a80 e3a015c6 MOV r1,#0x31800000
000a84 e59f23fc LDR r2,|L1.3720|
000a88 e5821000 STR r1,[r2,#0] ; frameBuffer24BitTft640480
;;;265 rLCDCON1=(CLKVAL_TFT_640480<<8)|(MVAL_USED<<7)|(3<<5)|(13<<1)|0;
000a8c e59f13f8 LDR r1,|L1.3724|
000a90 e3a0244d MOV r2,#0x4d000000
000a94 e5821000 STR r1,[r2,#0]
;;;266 // TFT LCD panel,24bpp TFT,ENVID=off
;;;267 rLCDCON2=(VBPD_640480<<24)|(LINEVAL_TFT_640480<<14)|(VFPD_640480<<6)|(VSPW_640480);
000a98 e59f13cc LDR r1,|L1.3692|
000a9c e3a0244d MOV r2,#0x4d000000
000aa0 e5821004 STR r1,[r2,#4]
;;;268 rLCDCON3=(HBPD_640480<<19)|(HOZVAL_TFT_640480<<8)|(HFPD_640480);
000aa4 e59f13c4 LDR r1,|L1.3696|
000aa8 e3a0244d MOV r2,#0x4d000000
000aac e5821008 STR r1,[r2,#8]
;;;269 rLCDCON4=(MVAL<<8)|(HSPW_640480);
000ab0 e59f13bc LDR r1,|L1.3700|
000ab4 e3a0244d MOV r2,#0x4d000000
000ab8 e582100c STR r1,[r2,#0xc]
;;;270 rLCDCON5=(1<<12)|(1<<9)|(1<<8); // BPP24:MSB,HSYNC and VSYNC are inverted
000abc e3a01d4c MOV r1,#0x1300
000ac0 e3a0244d MOV r2,#0x4d000000
000ac4 e5821010 STR r1,[r2,#0x10]
;;;271 rLCDSADDR1=(((U32)frameBuffer24BitTft640480>>22)<<21)|M5D((U32)frameBuffer24BitTft640480>>1);
000ac8 e59f13b8 LDR r1,|L1.3720|
000acc e5911000 LDR r1,[r1,#0] ; frameBuffer24BitTft640480
000ad0 e1a01b21 MOV r1,r1,LSR #22
000ad4 e1a01a81 MOV r1,r1,LSL #21
000ad8 e59f23a8 LDR r2,|L1.3720|
000adc e5922000 LDR r2,[r2,#0] ; frameBuffer24BitTft640480
000ae0 e1a02502 MOV r2,r2,LSL #10
000ae4 e18115a2 ORR r1,r1,r2,LSR #11
000ae8 e3a0244d MOV r2,#0x4d000000
000aec e5821014 STR r1,[r2,#0x14]
;;;272 rLCDSADDR2=M5D( ((U32)frameBuffer24BitTft640480+(SCR_XSIZE_TFT_640480*LCD_YSIZE_TFT_640480*4))>>1 );
000af0 e59f1390 LDR r1,|L1.3720|
000af4 e5911000 LDR r1,[r1,#0] ; frameBuffer24BitTft640480
000af8 e2811996 ADD r1,r1,#0x258000
000afc e1a01501 MOV r1,r1,LSL #10
000b00 e1a015a1 MOV r1,r1,LSR #11
000b04 e3a0244d MOV r2,#0x4d000000
000b08 e5821018 STR r1,[r2,#0x18]
;;;273 rLCDSADDR3=(((SCR_XSIZE_TFT_640480-LCD_XSIZE_TFT_640480)*2)<<11)|(LCD_XSIZE_TFT_640480*2);
000b0c e59f137c LDR r1,|L1.3728|
000b10 e3a0244d MOV r2,#0x4d000000
000b14 e582101c STR r1,[r2,#0x1c]
;;;274 rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
000b18 e3a0144d MOV r1,#0x4d000000
000b1c e591105c LDR r1,[r1,#0x5c]
000b20 e3811003 ORR r1,r1,#3
000b24 e3a0244d MOV r2,#0x4d000000
000b28 e582105c STR r1,[r2,#0x5c]
;;;275 rTCONSEL&=(~7); // Disable LPC3600
000b2c e3a0144d MOV r1,#0x4d000000
000b30 e5911060 LDR r1,[r1,#0x60]
000b34 e3c11007 BIC r1,r1,#7
000b38 e3a0244d MOV r2,#0x4d000000
000b3c e5821060 STR r1,[r2,#0x60]
;;;276 rTPAL=0; // Disable Temp Palette
000b40 e3a01000 MOV r1,#0
000b44 e3a0244d MOV r2,#0x4d000000
000b48 e5821050 STR r1,[r2,#0x50]
;;;277 break;
000b4c ea00009f B |L1.3536|
;;;278
;;;279 case MODE_TFT_1BIT_800600:
;;;280 frameBuffer1BitTft800600=(U32 (*)[SCR_XSIZE_TFT_800600/32])LCDFRAMEBUFFER;
|L1.2896|
000b50 e3a015c6 MOV r1,#0x31800000
000b54 e59f2338 LDR r2,|L1.3732|
000b58 e5821000 STR r1,[r2,#0] ; frameBuffer1BitTft800600
;;;281 rLCDCON1=(CLKVAL_TFT_800600<<8)|(MVAL_USED<<7)|(3<<5)|(8<<1)|0;
000b5c e3a01070 MOV r1,#0x70
000b60 e3a0244d MOV r2,#0x4d000000
000b64 e5821000 STR r1,[r2,#0]
;;;282 // TFT LCD panel,1bpp TFT,ENVID=off
;;;283 rLCDCON2=(VBPD_800600<<24)|(LINEVAL_TFT_800600<<14)|(VFPD_800600<<6)|(VSPW_800600);
000b68 e59f1328 LDR r1,|L1.3736|
000b6c e3a0244d MOV r2,#0x4d000000
000b70 e5821004 STR r1,[r2,#4]
;;;284 rLCDCON3=(HBPD_800600<<19)|(HOZVAL_TFT_800600<<8)|(HFPD_800600);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -