📄 lcdlib.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\lcdlib.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
LcdBGInit PROC
;;;19 void LcdBGInit(U32 displaytype)
;;;20 {
|L1.0|
000000 e92d4ff1 STMFD sp!,{r0,r4-r11,lr}
000004 e24dd014 SUB sp,sp,#0x14
;;;21 U32 pagewidth, offsize, bytefactor;
;;;22 U32 clkval, pnrmode, bppmode;
;;;23 U32 vbpd, vfpd, vspw, hbpd, hfpd, hspw;
;;;24 U32 lineval, hozval;
;;;25 U32 hwswp;
;;;26 U32 framebuffer1, framebuffer2;
;;;27
;;;28 if(displaytype&0x1000)
000008 e59d0014 LDR r0,[sp,#0x14]
00000c e3100d40 TST r0,#0x1000
000010 0a000002 BEQ |L1.32|
;;;29 pnrmode=PNRMODE_SER_RGB;
000014 e3a0b002 MOV r11,#2
000018 e58db00c STR r11,[sp,#0xc]
00001c ea000001 B |L1.40|
;;;30 else
;;;31 pnrmode=PNRMODE_PAR_RGB;
|L1.32|
000020 e3a0b000 MOV r11,#0
000024 e58db00c STR r11,[sp,#0xc]
;;;32
;;;33 switch(displaytype&0xf) {
|L1.40|
000028 e59d0014 LDR r0,[sp,#0x14]
00002c e200000f AND r0,r0,#0xf
000030 e3500007 CMP r0,#7
000034 908ff100 ADDLS pc,pc,r0,LSL #2
000038 ea00001f B |L1.188|
00003c ea000006 B |L1.92|
000040 ea000008 B |L1.104|
000044 ea00000a B |L1.116|
000048 ea00000c B |L1.128|
00004c ea00000e B |L1.140|
000050 ea000010 B |L1.152|
000054 ea000012 B |L1.164|
000058 ea000014 B |L1.176|
;;;34 case 0x0:
;;;35 bytefactor=1;
|L1.92|
00005c e3a01001 MOV r1,#1
;;;36 bppmode=BPPMODE_1BPP;
000060 e3a0c000 MOV r12,#0
;;;37 break;
000064 ea000015 B |L1.192|
;;;38 case 0x1:
;;;39 bytefactor=2;
|L1.104|
000068 e3a01002 MOV r1,#2
;;;40 bppmode=BPPMODE_2BPP;
00006c e3a0c001 MOV r12,#1
;;;41 break;
000070 ea000012 B |L1.192|
;;;42 case 0x2:
;;;43 bytefactor=4;
|L1.116|
000074 e3a01004 MOV r1,#4
;;;44 bppmode=BPPMODE_4BPP;
000078 e3a0c002 MOV r12,#2
;;;45 break;
00007c ea00000f B |L1.192|
;;;46 case 0x3:
;;;47 bytefactor=8;
|L1.128|
000080 e3a01008 MOV r1,#8
;;;48 bppmode=BPPMODE_8BPP;
000084 e3a0c003 MOV r12,#3
;;;49 break;
000088 ea00000c B |L1.192|
;;;50 case 0x4:
;;;51 bytefactor=8;
|L1.140|
00008c e3a01008 MOV r1,#8
;;;52 bppmode=BPPMODE_8BPPNP;
000090 e3a0c004 MOV r12,#4
;;;53 break;
000094 ea000009 B |L1.192|
;;;54 case 0x5:
;;;55 bytefactor=16;
|L1.152|
000098 e3a01010 MOV r1,#0x10
;;;56 bppmode=BPPMODE_16BPP565;
00009c e3a0c005 MOV r12,#5
;;;57 break;
0000a0 ea000006 B |L1.192|
;;;58 case 0x6:
;;;59 bytefactor=16;
|L1.164|
0000a4 e3a01010 MOV r1,#0x10
;;;60 bppmode=BPPMODE_16BPP5551;
0000a8 e3a0c006 MOV r12,#6
;;;61 break;
0000ac ea000003 B |L1.192|
;;;62 case 0x7:
;;;63 bytefactor=32;
|L1.176|
0000b0 e3a01020 MOV r1,#0x20
;;;64 bppmode=BPPMODE_18BPP;
0000b4 e3a0c007 MOV r12,#7
;;;65 break;
0000b8 ea000000 B |L1.192|
;;;66 default:
;;;67 break;
|L1.188|
0000bc e1a00000 NOP
;;;68 }
;;;69
;;;70 switch(displaytype&0xff00) {
|L1.192|
0000c0 e59d0014 LDR r0,[sp,#0x14]
0000c4 e2000cff AND r0,r0,#0xff00
0000c8 e3500d88 CMP r0,#0x2200
0000cc 0a00002c BEQ |L1.388|
0000d0 ca000004 BGT |L1.232|
0000d4 e3500d44 CMP r0,#0x1100
0000d8 0a000007 BEQ |L1.252|
0000dc e3500d84 CMP r0,#0x2100
0000e0 1a00005a BNE |L1.592|
0000e4 ea000015 B |L1.320|
|L1.232|
0000e8 e3500d90 CMP r0,#0x2400
0000ec 0a000035 BEQ |L1.456|
0000f0 e3500da0 CMP r0,#0x2800
0000f4 1a000055 BNE |L1.592|
0000f8 ea000043 B |L1.524|
;;;71 case 0x1100:
;;;72 clkval=CLKVAL_SER_176220;
|L1.252|
0000fc e3a0b006 MOV r11,#6
000100 e58db010 STR r11,[sp,#0x10]
;;;73 vbpd=VBPD_176220;
000104 e3a04004 MOV r4,#4
;;;74 vfpd=VFPD_176220;
000108 e3a05006 MOV r5,#6
;;;75 vspw=VSPW_176220;
00010c e3a06003 MOV r6,#3
;;;76 hbpd=HBPD_176220;
000110 e3a0700b MOV r7,#0xb
;;;77 hfpd=HFPD_176220;
000114 e3a08017 MOV r8,#0x17
;;;78 hspw=HSPW_176220;
000118 e3a0900b MOV r9,#0xb
;;;79 lineval=LINEVAL_176220;
00011c e3a0e0bf MOV lr,#0xbf
;;;80 hozval=HOZVAL_176220;
000120 e3a0a0af MOV r10,#0xaf
;;;81 pagewidth=BG_XSIZE_176220*bytefactor/8;
000124 e3a000b0 MOV r0,#0xb0
000128 e00b0190 MUL r11,r0,r1
00012c e1a031ab MOV r3,r11,LSR #3
;;;82 offsize=(BG_VXSIZE_176220-BG_XSIZE_176220)*bytefactor/8;
000130 e3a000b0 MOV r0,#0xb0
000134 e00b0190 MUL r11,r0,r1
000138 e1a021ab MOV r2,r11,LSR #3
;;;83 break;
00013c ea000044 B |L1.596|
;;;84 case 0x2100:
;;;85 clkval=CLKVAL_PAR_176220;
|L1.320|
000140 e3a0b006 MOV r11,#6
000144 e58db010 STR r11,[sp,#0x10]
;;;86 vbpd=VBPD_176220;
000148 e3a04004 MOV r4,#4
;;;87 vfpd=VFPD_176220;
00014c e3a05006 MOV r5,#6
;;;88 vspw=VSPW_176220;
000150 e3a06003 MOV r6,#3
;;;89 hbpd=HBPD_176220;
000154 e3a0700b MOV r7,#0xb
;;;90 hfpd=HFPD_176220;
000158 e3a08017 MOV r8,#0x17
;;;91 hspw=HSPW_176220;
00015c e3a0900b MOV r9,#0xb
;;;92 lineval=LINEVAL_176220;
000160 e3a0e0bf MOV lr,#0xbf
;;;93 hozval=HOZVAL_176220;
000164 e3a0a0af MOV r10,#0xaf
;;;94 pagewidth=BG_XSIZE_176220*bytefactor/8;
000168 e3a000b0 MOV r0,#0xb0
00016c e00b0190 MUL r11,r0,r1
000170 e1a031ab MOV r3,r11,LSR #3
;;;95 offsize=(BG_VXSIZE_176220-BG_XSIZE_176220)*bytefactor/8;
000174 e3a000b0 MOV r0,#0xb0
000178 e00b0190 MUL r11,r0,r1
00017c e1a021ab MOV r2,r11,LSR #3
;;;96 break;
000180 ea000033 B |L1.596|
;;;97 case 0x2200:
;;;98 clkval=CLKVAL_PAR_240320;
|L1.388|
000184 e3a0b008 MOV r11,#8
000188 e58db010 STR r11,[sp,#0x10]
;;;99 vbpd=VBPD_240320;
00018c e3a04001 MOV r4,#1
;;;100 vfpd=VFPD_240320;
000190 e3a05002 MOV r5,#2
;;;101 vspw=VSPW_240320;
000194 e3a06001 MOV r6,#1
;;;102 hbpd=HBPD_240320;
000198 e3a07006 MOV r7,#6
;;;103 hfpd=HFPD_240320;
00019c e3a08002 MOV r8,#2
;;;104 hspw=HSPW_240320;
0001a0 e3a09003 MOV r9,#3
;;;105 lineval=LINEVAL_240320;
0001a4 e289ef4f ADD lr,r9,#0x13c
;;;106 hozval=HOZVAL_240320;
0001a8 e3a0a0ef MOV r10,#0xef
;;;107 pagewidth=BG_XSIZE_240320*bytefactor/8;
0001ac e3a000f0 MOV r0,#0xf0
0001b0 e00b0190 MUL r11,r0,r1
0001b4 e1a031ab MOV r3,r11,LSR #3
;;;108 offsize=(BG_VXSIZE_240320-BG_XSIZE_240320)*bytefactor/8;
0001b8 e3a000f0 MOV r0,#0xf0
0001bc e00b0190 MUL r11,r0,r1
0001c0 e1a021ab MOV r2,r11,LSR #3
;;;109 break;
0001c4 ea000022 B |L1.596|
;;;110 case 0x2400:
;;;111 clkval=CLKVAL_PAR_640480;
|L1.456|
0001c8 e3a0b001 MOV r11,#1
0001cc e58db010 STR r11,[sp,#0x10]
;;;112 vbpd=VBPD_640480;
0001d0 e3a04020 MOV r4,#0x20
;;;113 vfpd=VFPD_640480;
0001d4 e3a05009 MOV r5,#9
;;;114 vspw=VSPW_640480;
0001d8 e3a06001 MOV r6,#1
;;;115 hbpd=HBPD_640480;
0001dc e3a0702f MOV r7,#0x2f
;;;116 hfpd=HFPD_640480;
0001e0 e3a0800f MOV r8,#0xf
;;;117 hspw=HSPW_640480;
0001e4 e3a0905f MOV r9,#0x5f
;;;118 lineval=LINEVAL_640480;
0001e8 e287ef6c ADD lr,r7,#0x1b0
;;;119 hozval=HOZVAL_640480;
0001ec e287af94 ADD r10,r7,#0x250
;;;120 pagewidth=BG_XSIZE_640480*bytefactor/8;
0001f0 e3a00fa0 MOV r0,#0x280
0001f4 e00b0190 MUL r11,r0,r1
0001f8 e1a031ab MOV r3,r11,LSR #3
;;;121 offsize=(BG_VXSIZE_640480-BG_XSIZE_640480)*bytefactor/8;
0001fc e3a00fa0 MOV r0,#0x280
000200 e00b0190 MUL r11,r0,r1
000204 e1a021ab MOV r2,r11,LSR #3
;;;122 break;
000208 ea000011 B |L1.596|
;;;123 case 0x2800:
;;;124 clkval=CLKVAL_PAR_800600;
|L1.524|
00020c e3a0b001 MOV r11,#1
000210 e58db010 STR r11,[sp,#0x10]
;;;125 vbpd=VBPD_800600;
000214 e3a04020 MOV r4,#0x20
;;;126 vfpd=VFPD_800600;
000218 e3a05009 MOV r5,#9
;;;127 vspw=VSPW_800600;
00021c e3a06001 MOV r6,#1
;;;128 hbpd=HBPD_800600;
000220 e3a0702f MOV r7,#0x2f
;;;129 hfpd=HFPD_800600;
000224 e3a0800f MOV r8,#0xf
;;;130 hspw=HSPW_800600;
000228 e3a0905f MOV r9,#0x5f
;;;131 lineval=LINEVAL_800600;
00022c e287ef8a ADD lr,r7,#0x228
;;;132 hozval=HOZVAL_800600;
000230 e287afbc ADD r10,r7,#0x2f0
;;;133 pagewidth=BG_XSIZE_800600*bytefactor/8;
000234 e3a00fc8 MOV r0,#0x320
000238 e00b0190 MUL r11,r0,r1
00023c e1a031ab MOV r3,r11,LSR #3
;;;134 offsize=(BG_VXSIZE_800600-BG_XSIZE_800600)*bytefactor/8;
000240 e3a00fc8 MOV r0,#0x320
000244 e00b0190 MUL r11,r0,r1
000248 e1a021ab MOV r2,r11,LSR #3
;;;135 break;
00024c ea000000 B |L1.596|
;;;136 default:
;;;137 break;
|L1.592|
000250 e1a00000 NOP
;;;138 }
;;;139
;;;140 framebuffer1=LCDFRAMEBUFFERBG1;
|L1.596|
000254 e3a0054c MOV r0,#0x13000000
000258 e58d0004 STR r0,[sp,#4]
;;;141 framebuffer2=LCDFRAMEBUFFERBG2;
00025c e2800980 ADD r0,r0,#0x200000
000260 e58d0000 STR r0,[sp,#0]
;;;142
;;;143 #if 1
;;;144 hwswp=0;
000264 e3a00000 MOV r0,#0
000268 e58d0008 STR r0,[sp,#8]
;;;145 if(displaytype&MODE_NO_VIRTUAL_16B) {
00026c e59d0014 LDR r0,[sp,#0x14]
000270 e3100010 TST r0,#0x10
000274 0a000002 BEQ |L1.644|
;;;146 offsize=0;
000278 e3a02000 MOV r2,#0
;;;147 hwswp=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -