📄 lcdlib.txt
字号:
;;;166
;;;167
;;;168 case MODE_TFT_8BIT_240320:
;;;169 frameBuffer8BitTft240320=(U32 (*)[SCR_XSIZE_TFT_240320/4])LCDFRAMEBUFFER;
|L1.1440|
0005a0 e3a015c6 MOV r1,#0x31800000
0005a4 e59f288c LDR r2,|L1.3640|
0005a8 e5821000 STR r1,[r2,#0] ; frameBuffer8BitTft240320
;;;170 rLCDCON1=(CLKVAL_TFT_240320<<8)|(MVAL_USED<<7)|(3<<5)|(11<<1)|0;
0005ac e59f1888 LDR r1,|L1.3644|
0005b0 e3a0244d MOV r2,#0x4d000000
0005b4 e5821000 STR r1,[r2,#0]
;;;171 // TFT LCD panel,8bpp TFT,ENVID=off
;;;172 rLCDCON2=(VBPD_240320<<24)|(LINEVAL_TFT_240320<<14)|(VFPD_240320<<6)|(VSPW_240320);
0005b8 e59f1880 LDR r1,|L1.3648|
0005bc e3a0244d MOV r2,#0x4d000000
0005c0 e5821004 STR r1,[r2,#4]
;;;173 rLCDCON3=(HBPD_240320<<19)|(HOZVAL_TFT_240320<<8)|(HFPD_240320);
0005c4 e59f1878 LDR r1,|L1.3652|
0005c8 e3a0244d MOV r2,#0x4d000000
0005cc e5821008 STR r1,[r2,#8]
;;;174 rLCDCON4=(MVAL<<8)|(HSPW_240320);
0005d0 e59f1870 LDR r1,|L1.3656|
0005d4 e3a0244d MOV r2,#0x4d000000
0005d8 e582100c STR r1,[r2,#0xc]
;;;175 rLCDCON5=(1<<11)|(1<<9)|(1<<8); //FRM5:6:5,HSYNC and VSYNC are inverted
0005dc e3a01eb0 MOV r1,#0xb00
0005e0 e3a0244d MOV r2,#0x4d000000
0005e4 e5821010 STR r1,[r2,#0x10]
;;;176 rLCDSADDR1=(((U32)frameBuffer8BitTft240320>>22)<<21)|M5D((U32)frameBuffer8BitTft240320>>1);
0005e8 e59f1848 LDR r1,|L1.3640|
0005ec e5911000 LDR r1,[r1,#0] ; frameBuffer8BitTft240320
0005f0 e1a01b21 MOV r1,r1,LSR #22
0005f4 e1a01a81 MOV r1,r1,LSL #21
0005f8 e59f2838 LDR r2,|L1.3640|
0005fc e5922000 LDR r2,[r2,#0] ; frameBuffer8BitTft240320
000600 e1a02502 MOV r2,r2,LSL #10
000604 e18115a2 ORR r1,r1,r2,LSR #11
000608 e3a0244d MOV r2,#0x4d000000
00060c e5821014 STR r1,[r2,#0x14]
;;;177 rLCDSADDR2=M5D( ((U32)frameBuffer8BitTft240320+(SCR_XSIZE_TFT_240320*LCD_YSIZE_TFT_240320/1))>>1 );
000610 e59f1820 LDR r1,|L1.3640|
000614 e5911000 LDR r1,[r1,#0] ; frameBuffer8BitTft240320
000618 e2811b96 ADD r1,r1,#0x25800
00061c e1a01501 MOV r1,r1,LSL #10
000620 e1a015a1 MOV r1,r1,LSR #11
000624 e3a0244d MOV r2,#0x4d000000
000628 e5821018 STR r1,[r2,#0x18]
;;;178 rLCDSADDR3=(((SCR_XSIZE_TFT_240320-LCD_XSIZE_TFT_240320)/2)<<11)|(LCD_XSIZE_TFT_240320/2);
00062c e59f1818 LDR r1,|L1.3660|
000630 e3a0244d MOV r2,#0x4d000000
000634 e582101c STR r1,[r2,#0x1c]
;;;179 rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
000638 e3a0144d MOV r1,#0x4d000000
00063c e591105c LDR r1,[r1,#0x5c]
000640 e3811003 ORR r1,r1,#3
000644 e3a0244d MOV r2,#0x4d000000
000648 e582105c STR r1,[r2,#0x5c]
;;;180 rTCONSEL&=(~7); // Disable LPC3600
00064c e3a0144d MOV r1,#0x4d000000
000650 e5911060 LDR r1,[r1,#0x60]
000654 e3c11007 BIC r1,r1,#7
000658 e3a0244d MOV r2,#0x4d000000
00065c e5821060 STR r1,[r2,#0x60]
;;;181 rTPAL=0; // Disable Temp Palette
000660 e3a01000 MOV r1,#0
000664 e3a0244d MOV r2,#0x4d000000
000668 e5821050 STR r1,[r2,#0x50]
;;;182 break;
00066c ea0001d7 B |L1.3536|
;;;183
;;;184 case MODE_TFT_16BIT_240320:
;;;185 frameBuffer16BitTft240320=(U32 (*)[SCR_XSIZE_TFT_240320/2])LCDFRAMEBUFFER;
|L1.1648|
000670 e3a015c6 MOV r1,#0x31800000
000674 e59f27d4 LDR r2,|L1.3664|
000678 e5821000 STR r1,[r2,#0] ; frameBuffer16BitTft240320
;;;186 rLCDCON1=(CLKVAL_TFT_240320<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;
00067c e59f17d0 LDR r1,|L1.3668|
000680 e3a0244d MOV r2,#0x4d000000
000684 e5821000 STR r1,[r2,#0]
;;;187 // TFT LCD panel,12bpp TFT,ENVID=off
;;;188 rLCDCON2=(VBPD_240320<<24)|(LINEVAL_TFT_240320<<14)|(VFPD_240320<<6)|(VSPW_240320);
000688 e59f17b0 LDR r1,|L1.3648|
00068c e3a0244d MOV r2,#0x4d000000
000690 e5821004 STR r1,[r2,#4]
;;;189 rLCDCON3=(HBPD_240320<<19)|(HOZVAL_TFT_240320<<8)|(HFPD_240320);
000694 e59f17a8 LDR r1,|L1.3652|
000698 e3a0244d MOV r2,#0x4d000000
00069c e5821008 STR r1,[r2,#8]
;;;190 rLCDCON4=(MVAL<<8)|(HSPW_240320);
0006a0 e59f17a0 LDR r1,|L1.3656|
0006a4 e3a0244d MOV r2,#0x4d000000
0006a8 e582100c STR r1,[r2,#0xc]
;;;191 rLCDCON5=(1<<11)|(1<<9)|(1<<8); //FRM5:6:5,HSYNC and VSYNC are inverted
0006ac e3a01eb0 MOV r1,#0xb00
0006b0 e3a0244d MOV r2,#0x4d000000
0006b4 e5821010 STR r1,[r2,#0x10]
;;;192 rLCDSADDR1=(((U32)frameBuffer16BitTft240320>>22)<<21)|M5D((U32)frameBuffer16BitTft240320>>1);
0006b8 e59f1790 LDR r1,|L1.3664|
0006bc e5911000 LDR r1,[r1,#0] ; frameBuffer16BitTft240320
0006c0 e1a01b21 MOV r1,r1,LSR #22
0006c4 e1a01a81 MOV r1,r1,LSL #21
0006c8 e59f2780 LDR r2,|L1.3664|
0006cc e5922000 LDR r2,[r2,#0] ; frameBuffer16BitTft240320
0006d0 e1a02502 MOV r2,r2,LSL #10
0006d4 e18115a2 ORR r1,r1,r2,LSR #11
0006d8 e3a0244d MOV r2,#0x4d000000
0006dc e5821014 STR r1,[r2,#0x14]
;;;193 rLCDSADDR2=M5D( ((U32)frameBuffer16BitTft240320+(SCR_XSIZE_TFT_240320*LCD_YSIZE_TFT_240320*2))>>1 );
0006e0 e59f1768 LDR r1,|L1.3664|
0006e4 e5911000 LDR r1,[r1,#0] ; frameBuffer16BitTft240320
0006e8 e2811a4b ADD r1,r1,#0x4b000
0006ec e1a01501 MOV r1,r1,LSL #10
0006f0 e1a015a1 MOV r1,r1,LSR #11
0006f4 e3a0244d MOV r2,#0x4d000000
0006f8 e5821018 STR r1,[r2,#0x18]
;;;194 rLCDSADDR3=(((SCR_XSIZE_TFT_240320-LCD_XSIZE_TFT_240320)/1)<<11)|(LCD_XSIZE_TFT_240320/1);
0006fc e59f1720 LDR r1,|L1.3620|
000700 e3a0244d MOV r2,#0x4d000000
000704 e582101c STR r1,[r2,#0x1c]
;;;195 rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
000708 e3a0144d MOV r1,#0x4d000000
00070c e591105c LDR r1,[r1,#0x5c]
000710 e3811003 ORR r1,r1,#3
000714 e3a0244d MOV r2,#0x4d000000
000718 e582105c STR r1,[r2,#0x5c]
;;;196 rTCONSEL&=(~7); // Disable LPC3600
00071c e3a0144d MOV r1,#0x4d000000
000720 e5911060 LDR r1,[r1,#0x60]
000724 e3c11007 BIC r1,r1,#7
000728 e3a0244d MOV r2,#0x4d000000
00072c e5821060 STR r1,[r2,#0x60]
;;;197 rTPAL=0; // Disable Temp Palette
000730 e3a01000 MOV r1,#0
000734 e3a0244d MOV r2,#0x4d000000
000738 e5821050 STR r1,[r2,#0x50]
;;;198 break;
00073c ea0001a3 B |L1.3536|
;;;199
;;;200 case MODE_TFT_24BIT_240320:
;;;201 frameBuffer24BitTft240320=(U32 (*)[SCR_XSIZE_TFT_240320])LCDFRAMEBUFFER;
|L1.1856|
000740 e3a015c6 MOV r1,#0x31800000
000744 e59f270c LDR r2,|L1.3672|
000748 e5821000 STR r1,[r2,#0] ; frameBuffer24BitTft240320
;;;202 rLCDCON1=(CLKVAL_TFT_240320<<8)|(MVAL_USED<<7)|(3<<5)|(13<<1)|0;
00074c e59f1708 LDR r1,|L1.3676|
000750 e3a0244d MOV r2,#0x4d000000
000754 e5821000 STR r1,[r2,#0]
;;;203 // TFT LCD panel,12bpp TFT,ENVID=off
;;;204 rLCDCON2=(VBPD_240320<<24)|(LINEVAL_TFT_240320<<14)|(VFPD_240320<<6)|(VSPW_240320);
000758 e59f16e0 LDR r1,|L1.3648|
00075c e3a0244d MOV r2,#0x4d000000
000760 e5821004 STR r1,[r2,#4]
;;;205 rLCDCON3=(HBPD_240320<<19)|(HOZVAL_TFT_240320<<8)|(HFPD_240320);
000764 e59f16d8 LDR r1,|L1.3652|
000768 e3a0244d MOV r2,#0x4d000000
00076c e5821008 STR r1,[r2,#8]
;;;206 rLCDCON4=(MVAL<<8)|(HSPW_240320);
000770 e59f16d0 LDR r1,|L1.3656|
000774 e3a0244d MOV r2,#0x4d000000
000778 e582100c STR r1,[r2,#0xc]
;;;207 rLCDCON5=(0<12)|(1<<9)|(1<<8); //BPP24:MSB,HSYNC and VSYNC are inverted
00077c e59f16dc LDR r1,|L1.3680|
000780 e3a0244d MOV r2,#0x4d000000
000784 e5821010 STR r1,[r2,#0x10]
;;;208 rLCDSADDR1=(((U32)frameBuffer24BitTft240320>>22)<<21)|M5D((U32)frameBuffer24BitTft240320>>1);
000788 e59f16c8 LDR r1,|L1.3672|
00078c e5911000 LDR r1,[r1,#0] ; frameBuffer24BitTft240320
000790 e1a01b21 MOV r1,r1,LSR #22
000794 e1a01a81 MOV r1,r1,LSL #21
000798 e59f26b8 LDR r2,|L1.3672|
00079c e5922000 LDR r2,[r2,#0] ; frameBuffer24BitTft240320
0007a0 e1a02502 MOV r2,r2,LSL #10
0007a4 e18115a2 ORR r1,r1,r2,LSR #11
0007a8 e3a0244d MOV r2,#0x4d000000
0007ac e5821014 STR r1,[r2,#0x14]
;;;209 rLCDSADDR2=M5D( ((U32)frameBuffer24BitTft240320+(SCR_XSIZE_TFT_240320*LCD_YSIZE_TFT_240320*4))>>1 );
0007b0 e59f16a0 LDR r1,|L1.3672|
0007b4 e5911000 LDR r1,[r1,#0] ; frameBuffer24BitTft240320
0007b8 e2811a96 ADD r1,r1,#0x96000
0007bc e1a01501 MOV r1,r1,LSL #10
0007c0 e1a015a1 MOV r1,r1,LSR #11
0007c4 e3a0244d MOV r2,#0x4d000000
0007c8 e5821018 STR r1,[r2,#0x18]
;;;210 rLCDSADDR3=(((SCR_XSIZE_TFT_240320-LCD_XSIZE_TFT_240320)*2)<<11)|(LCD_XSIZE_TFT_240320*2);
0007cc e59f1690 LDR r1,|L1.3684|
0007d0 e3a0244d MOV r2,#0x4d000000
0007d4 e582101c STR r1,[r2,#0x1c]
;;;211 rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
0007d8 e3a0144d MOV r1,#0x4d000000
0007dc e591105c LDR r1,[r1,#0x5c]
0007e0 e3811003 ORR r1,r1,#3
0007e4 e3a0244d MOV r2,#0x4d000000
0007e8 e582105c STR r1,[r2,#0x5c]
;;;212 rTCONSEL&=(~7); // Disable LPC3600
0007ec e3a0144d MOV r1,#0x4d000000
0007f0 e5911060 LDR r1,[r1,#0x60]
0007f4 e3c11007 BIC r1,r1,#7
0007f8 e3a0244d MOV r2,#0x4d000000
0007fc e5821060 STR r1,[r2,#0x60]
;;;213 rTPAL=0; // Disable Temp Palette
000800 e3a01000 MOV r1,#0
000804 e3a0244d MOV r2,#0x4d000000
000808 e5821050 STR r1,[r2,#0x50]
;;;214 break;
00080c ea00016f B |L1.3536|
;;;215
;;;216 case MODE_TFT_1BIT_640480:
;;;217 frameBuffer1BitTft640480=(U32 (*)[SCR_XSIZE_TFT_640480/32])LCDFRAMEBUFFER;
|L1.2064|
000810 e3a015c6 MOV r1,#0x31800000
000814 e59f264c LDR r2,|L1.3688|
000818 e5821000 STR r1,[r2,#0] ; frameBuffer1BitTft640480
;;;218 rLCDCON1=(CLKVAL_TFT_640480<<8)|(MVAL_USED<<7)|(3<<5)|(8<<1)|0;
00081c e3a01f5c MOV r1,#0x170
000820 e3a0244d MOV r2,#0x4d000000
000824 e5821000 STR r1,[r2,#0]
;;;219 rLCDCON2=(VBPD_640480<<24)|(LINEVAL_TFT_640480<<14)|(VFPD_640480<<6)|(VSPW_640480);
000828 e59f163c LDR r1,|L1.3692|
00082c e3a0244d MOV r2,#0x4d000000
000830 e5821004 STR r1,[r2,#4]
;;;220 rLCDCON3=(HBPD_640480<<19)|(HOZVAL_TFT_640480<<8)|(HFPD_640480);
000834 e59f1634 LDR r1,|L1.3696|
000838 e3a0244d MOV r2,#0x4d000000
00083c e5821008 STR r1,[r2,#8]
;;;221 rLCDCON4=(MVAL<<8)|(HSPW_640480);
000840 e59f162c LDR r1,|L1.3700|
000844 e3a0244d MOV r2,#0x4d000000
000848 e582100c STR r1,[r2,#0xc]
;;;222 rLCDCON5=(1<<11)|(1<<9)|(1<<8); //FRM5:6:5,HSYNC and VSYNC are inverted
00084c e3a01eb0 MOV r1,#0xb00
000850 e3a0244d MOV r2,#0x4d000000
000854 e5821010 STR r1,[r2,#0x10]
;;;223 rLCDSADDR1=(((U32)frameBuffer1BitTft640480>>22)<<21)|M5D((U32)frameBuffer1BitTft640480>>1);
000858 e59f1608 LDR r1,|L1.3688|
00085c e5911000 LDR r1,[r1,#0] ; frameBuffer1BitTft640480
000860 e1a01b21 MOV r1,r1,LSR #22
000864 e1a01a81 MOV r1,r1,LSL #21
000868 e59f25f8 LDR r2,|L1.3688|
00086c e5922000 LDR r2,[r2,#0] ; frameBuffer1BitTft640480
000870 e1a02502 MOV r2,r2,LSL #10
000874 e18115a2 ORR r1,r1,r2,LSR #11
000878 e3a0244d MOV r2,#0x4d000000
00087c e5821014 STR r1,[r2,#0x14]
;;;224 rLCDSADDR2=M5D( ((U32)frameBuffer1BitTft640480+(SCR_XSIZE_TFT_640480*LCD_YSIZE_TFT_640480/8))>>1 );
000880 e59f15e0 LDR r1,|L1.3688|
000884 e5911000 LDR r1,[r1,#0] ; frameBuffer1BitTft640480
000888 e2811b4b ADD r1,r1,#0x12c00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -