📄 touch.cod
字号:
000a4 e1a03083 mov r3, r3, lsl #1
; 525 : pTCP->CalibrationY = CalibrationRadiusY*2;
000a8 e1a02082 mov r2, r2, lsl #1
; 526 : break;
000ac ea000003 b |$L32870|
000b0 |$L32507|
; 517 : {
; 518 : case 0: // Middle
; 519 : pTCP->CalibrationX = cDisplayWidth/2;
000b0 e0863fa6 add r3, r6, r6, lsr #31
; 520 : pTCP->CalibrationY = cDisplayHeight/2;
000b4 e0872fa7 add r2, r7, r7, lsr #31
000b8 e1a030c3 mov r3, r3, asr #1
000bc e1a020c2 mov r2, r2, asr #1
000c0 |$L32870|
000c0 e580300c str r3, [r0, #0xC]
000c4 e5802010 str r2, [r0, #0x10]
; 548 : }
; 549 :
; 550 : return (TRUE);
000c8 e3a00001 mov r0, #1
; 551 : }
000cc e8bd40f0 ldmia sp!, {r4 - r7, lr}
000d0 e12fff1e bx lr
000d4 |$L32878|
000d4 66666667 DCD 0x66666667
000d8 |$M32874|
ENDP ; |TouchDriverCalibrationPointGet|
EXPORT |DdsiTouchPanelGetDeviceCaps|
EXPORT |??_C@_1JC@PJIGKIBG@?$AAc?$AA?3?$AA?2?$AAw?$AAm?$AA5?$AA2?$AA0?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?2?$AAa?$AAl@| [ DATA ] ; `string'
EXPORT |??_C@_1CI@OHCJFJPM@?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?5?$AAl?$AAi?$AAn?$AAe?$AA?5?$AA?$CF?$AAd?$AA?3?$AA?5?$AA?$AA@| [ DATA ] ; `string'
EXPORT |??_C@_1FM@GOBOJOFI@?$AAT?$AAo?$AAu?$AAc?$AAh?$AAP?$AAa?$AAn?$AAe?$AAl?$AAG?$AAe?$AAt?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAC@| [ DATA ] ; `string'
IMPORT |NKDbgPrintfW|
00000 AREA |.text| { |DdsiTouchPanelGetDeviceCaps| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$DdsiTouchPanelGetDeviceCaps|, PDATA, SELECTION=5, ASSOC=|.text| { |DdsiTouchPanelGetDeviceCaps| } ; comdat associative
|$T32895| DCD |$L32894|
DCD 0x40002901
00000 AREA |.rdata| { |??_C@_1JC@PJIGKIBG@?$AAc?$AA?3?$AA?2?$AAw?$AAm?$AA5?$AA2?$AA0?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?2?$AAa?$AAl@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1JC@PJIGKIBG@?$AAc?$AA?3?$AA?2?$AAw?$AAm?$AA5?$AA2?$AA0?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?2?$AAa?$AAl@| DCB "c"
DCB 0x0, ":", 0x0, "\\", 0x0, "w", 0x0, "m", 0x0, "5", 0x0, "2"
DCB 0x0, "0", 0x0, "\\", 0x0, "p", 0x0, "l", 0x0, "a", 0x0, "t"
DCB 0x0, "f", 0x0, "o", 0x0, "r", 0x0, "m", 0x0, "\\", 0x0, "a"
DCB 0x0, "l", 0x0, "2", 0x0, "7", 0x0, "0", 0x0, "\\", 0x0, "p"
DCB 0x0, "l", 0x0, "a", 0x0, "t", 0x0, "f", 0x0, "o", 0x0, "r"
DCB 0x0, "m", 0x0, "\\", 0x0, "m", 0x0, "a", 0x0, "i", 0x0, "n"
DCB 0x0, "s", 0x0, "t", 0x0, "o", 0x0, "n", 0x0, "e", 0x0, "i"
DCB 0x0, "i", 0x0, "\\", 0x0, "s", 0x0, "r", 0x0, "c", 0x0, "\\"
DCB 0x0, "d", 0x0, "r", 0x0, "i", 0x0, "v", 0x0, "e", 0x0, "r"
DCB 0x0, "s", 0x0, "\\", 0x0, "t", 0x0, "o", 0x0, "u", 0x0, "c"
DCB 0x0, "h", 0x0, "\\", 0x0, "t", 0x0, "o", 0x0, "u", 0x0, "c"
DCB 0x0, "h", 0x0, ".", 0x0, "c", 0x0, "p", 0x0, "p", 0x0, 0x0
DCB 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1CI@OHCJFJPM@?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?5?$AAl?$AAi?$AAn?$AAe?$AA?5?$AA?$CF?$AAd?$AA?3?$AA?5?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CI@OHCJFJPM@?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?5?$AAl?$AAi?$AAn?$AAe?$AA?5?$AA?$CF?$AAd?$AA?3?$AA?5?$AA?$AA@| DCB "E"
DCB 0x0, "R", 0x0, "R", 0x0, "O", 0x0, "R", 0x0, ":", 0x0, " "
DCB 0x0, "%", 0x0, "s", 0x0, " ", 0x0, "l", 0x0, "i", 0x0, "n"
DCB 0x0, "e", 0x0, " ", 0x0, "%", 0x0, "d", 0x0, ":", 0x0, " "
DCB 0x0, 0x0, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1FM@GOBOJOFI@?$AAT?$AAo?$AAu?$AAc?$AAh?$AAP?$AAa?$AAn?$AAe?$AAl?$AAG?$AAe?$AAt?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAC@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1FM@GOBOJOFI@?$AAT?$AAo?$AAu?$AAc?$AAh?$AAP?$AAa?$AAn?$AAe?$AAl?$AAG?$AAe?$AAt?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAC@| DCB "T"
DCB 0x0, "o", 0x0, "u", 0x0, "c", 0x0, "h", 0x0, "P", 0x0, "a"
DCB 0x0, "n", 0x0, "e", 0x0, "l", 0x0, "G", 0x0, "e", 0x0, "t"
DCB 0x0, "D", 0x0, "e", 0x0, "v", 0x0, "i", 0x0, "c", 0x0, "e"
DCB 0x0, "C", 0x0, "a", 0x0, "p", 0x0, "s", 0x0, ":", 0x0, " "
DCB 0x0, "i", 0x0, "n", 0x0, "v", 0x0, "a", 0x0, "l", 0x0, "i"
DCB 0x0, "d", 0x0, " ", 0x0, "p", 0x0, "a", 0x0, "r", 0x0, "a"
DCB 0x0, "m", 0x0, "e", 0x0, "t", 0x0, "e", 0x0, "r", 0x0, "."
DCB 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Ogsy
00000 AREA |.text| { |DdsiTouchPanelGetDeviceCaps| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |DdsiTouchPanelGetDeviceCaps| PROC
; 555 : {
00000 |$L32894|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M32892|
00004 e3510000 cmp r1, #0
; 556 :
; 557 : if (lpOutput == NULL)
; 558 : {
; 559 : ERRORMSG(1,(__TEXT("TouchPanelGetDeviceCaps: invalid parameter.\r\n")));
00008 03a02f8b moveq r2, #0x8B, 30
0000c 03822003 orreq r2, r2, #3
00010 0a000006 beq |$L32891|
; 560 : SetLastError(ERROR_INVALID_PARAMETER);
; 561 : return (FALSE);
; 562 : }
; 563 :
; 564 : switch (iIndex)
00014 e3500000 cmp r0, #0
00018 0a000016 beq |$L32525|
0001c e3500001 cmp r0, #1
00020 0a000010 beq |$L32528|
00024 e3500002 cmp r0, #2
00028 0a00000a beq |$L32531|
; 586 :
; 587 : default:
; 588 : ERRORMSG(1,(__TEXT("TouchPanelGetDeviceCaps: invalid parameter.\r\n")));
0002c e3a02f93 mov r2, #0x93, 30
00030 |$L32891|
00030 e59f0068 ldr r0, [pc, #0x68]
00034 e59f1060 ldr r1, [pc, #0x60]
00038 eb000000 bl NKDbgPrintfW
0003c e59f0054 ldr r0, [pc, #0x54]
00040 eb000000 bl NKDbgPrintfW
; 589 : SetLastError(ERROR_INVALID_PARAMETER);
00044 e3a00057 mov r0, #0x57
00048 eb000000 bl SetLastError
; 590 : return (FALSE);
0004c e3a00000 mov r0, #0
; 593 : }
00050 e49de004 ldr lr, [sp], #4
00054 e12fff1e bx lr
00058 |$L32531|
; 583 :
; 584 : case TPDC_CALIBRATION_POINT_ID:
; 585 : return(TouchDriverCalibrationPointGet((TPDC_CALIBRATION_POINT*)lpOutput));
00058 e1a00001 mov r0, r1
0005c eb000000 bl TouchDriverCalibrationPointGet
; 593 : }
00060 e49de004 ldr lr, [sp], #4
00064 e12fff1e bx lr
00068 |$L32528|
; 573 : }
; 574 : break;
; 575 :
; 576 : case TPDC_CALIBRATION_POINT_COUNT_ID:
; 577 : {
; 578 : TPDC_CALIBRATION_POINT_COUNT *pTCPC = (TPDC_CALIBRATION_POINT_COUNT*)lpOutput;
; 579 : pTCPC->flags = 0;
00068 e3a03000 mov r3, #0
; 580 : pTCPC->cCalibrationPoints = 5;
0006c e5813000 str r3, [r1]
00070 e3a02005 mov r2, #5
; 581 : }
; 582 : break;
00074 ea000003 b |$L32889|
00078 |$L32525|
; 565 : {
; 566 : case TPDC_SAMPLE_RATE_ID:
; 567 : {
; 568 : TPDC_SAMPLE_RATE *pTSR = (TPDC_SAMPLE_RATE*)lpOutput;
; 569 :
; 570 : pTSR->SamplesPerSecondLow = TOUCHPANEL_SAMPLE_RATE_LOW;
; 571 : pTSR->SamplesPerSecondHigh = TOUCHPANEL_SAMPLE_RATE_HIGH;
; 572 : pTSR->CurrentSampleRateSetting = 90;
00078 e3a0305a mov r3, #0x5A
0007c e3a02096 mov r2, #0x96
00080 e5813008 str r3, [r1, #8]
00084 e5812000 str r2, [r1]
00088 |$L32889|
00088 e5812004 str r2, [r1, #4]
; 591 : }
; 592 : return (TRUE);
0008c e3a00001 mov r0, #1
; 593 : }
00090 e49de004 ldr lr, [sp], #4
00094 e12fff1e bx lr
00098 |$L32897|
00098 00000000 DCD |??_C@_1FM@GOBOJOFI@?$AAT?$AAo?$AAu?$AAc?$AAh?$AAP?$AAa?$AAn?$AAe?$AAl?$AAG?$AAe?$AAt?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAC@|
0009c 00000000 DCD |??_C@_1JC@PJIGKIBG@?$AAc?$AA?3?$AA?2?$AAw?$AAm?$AA5?$AA2?$AA0?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?2?$AAa?$AAl@|
000a0 00000000 DCD |??_C@_1CI@OHCJFJPM@?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?5?$AAl?$AAi?$AAn?$AAe?$AA?5?$AA?$CF?$AAd?$AA?3?$AA?5?$AA?$AA@|
000a4 |$M32893|
ENDP ; |DdsiTouchPanelGetDeviceCaps|
EXPORT |DdsiTouchPanelSetMode|
00000 AREA |.text| { |DdsiTouchPanelSetMode| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$DdsiTouchPanelSetMode|, PDATA, SELECTION=5, ASSOC=|.text| { |DdsiTouchPanelSetMode| } ; comdat associative
|$T32907| DCD |$L32906|
DCD 0x40000f01
; Function compile flags: /Ogsy
00000 AREA |.text| { |DdsiTouchPanelSetMode| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |DdsiTouchPanelSetMode| PROC
; 597 : {
00000 |$L32906|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M32904|
00004 e3500000 cmp r0, #0
; 598 : BOOL ReturnCode = FALSE;
00008 e3a04000 mov r4, #0
; 599 :
; 600 : switch (iIndex)
0000c 4a000005 bmi |$L32544|
00010 e3500001 cmp r0, #1
00014 ca000003 bgt |$L32544|
; 601 : {
; 602 : case TPSM_SAMPLERATE_LOW_ID:
; 603 : case TPSM_SAMPLERATE_HIGH_ID:
; 604 : SetLastError(ERROR_SUCCESS);
00018 e3a00000 mov r0, #0
0001c eb000000 bl SetLastError
; 605 : ReturnCode = TRUE;
00020 e3a04001 mov r4, #1
; 606 : break;
00024 ea000001 b |$L32540|
00028 |$L32544|
; 607 :
; 608 : default:
; 609 : SetLastError(ERROR_INVALID_PARAMETER);
00028 e3a00057 mov r0, #0x57
0002c eb000000 bl SetLastError
00030 |$L32540|
; 610 : break;
; 611 : }
; 612 : return(ReturnCode);
00030 e1a00004 mov r0, r4
; 613 : }
00034 e8bd4010 ldmia sp!, {r4, lr}
00038 e12fff1e bx lr
0003c |$M32905|
ENDP ; |DdsiTouchPanelSetMode|
EXPORT |?PDDSampleTouchScreen@@YAIPAH0@Z| ; PDDSampleTouchScreen
00000 AREA |.text| { |?PDDSampleTouchScreen@@YAIPAH0@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?PDDSampleTouchScreen@@YAIPAH0@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?PDDSampleTouchScreen@@YAIPAH0@Z| } ; comdat associative
|$T32928| DCD |$L32927|
DCD 0x40004102
; Function compile flags: /Ogsy
00000 AREA |.text| { |?PDDSampleTouchScreen@@YAIPAH0@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?PDDSampleTouchScreen@@YAIPAH0@Z| PROC ; PDDSampleTouchScreen
; 617 : {
00000 |$L32927|
00000 e92d41f0 stmdb sp!, {r4 - r8, lr}
00004 e24dd018 sub sp, sp, #0x18
00008 |$M32925|
00008 e1a07001 mov r7, r1
0000c e1a08000 mov r8, r0
; 618 : UINT32 i;
; 619 : TOUCH_PANEL_SAMPLE_FLAGS TmpStateFlags;
; 620 : TOUCHPANEL_POINT_SAMPLES rgPointSamples;
; 621 : INT TmpX = 0;
00010 e3a03000 mov r3, #0
; 622 : INT TmpY = 0;
00014 e3a06000 mov r6, #0
00018 e58d3008 str r3, [sp, #8]
0001c e58d6004 str r6, [sp, #4]
00020 e28d400c add r4, sp, #0xC
00024 e3a05003 mov r5, #3
00028 |$L32554|
; 623 :
; 624 : for (i=0;i<NUMBER_SAMPLES_PER_POINT;i++) // Prime the Pump for the X
; 625 : rgPointSamples[i].XSample=getTouchCoordinate(UCB_ADC_X); // Throw away the samples
00028 e3a00902 mov r0, #2, 18
0002c e3800008 orr r0, r0, #8
00030 eb000000 bl |?getTouchCoordinate@@YAGI@Z|
00034 e0c400b4 strh r0, [r4], #4
00038 e2555001 subs r5, r5, #1
0003c 1afffff9 bne |$L32554|
; 626 :
; 627 : for (i=0;i<NUMBER_SAMPLES_PER_POINT;i++)
00040 e28d400c add r4, sp, #0xC
00044 e3a05003 mov r5, #3
00048 |$L32557|
; 628 : rgPointSamples[i].XSample=getTouchCoordinate(UCB_ADC_X);
00048 e3a00902 mov r0, #2, 18
0004c e3800008 orr r0, r0, #8
00050 eb000000 bl |?getTouchCoordinate@@YAGI@Z|
00054 e0c400b4 strh r0, [r4], #4
00058 e2555001 subs r5, r5, #1
0005c 1afffff9 bne |$L32557|
; 629 :
; 630 : for (i=0;i<NUMBER_SAMPLES_PER_POINT;i++) // Prime the Pump for the Y
00060 e28d400c add r4, sp, #0xC
00064 e3a05003 mov r5, #3
00068 |$L32560|
; 631 : rgPointSamples[i].YSample=getTouchCoordinate(UCB_ADC_Y); // Throw it away
00068 e3a00902 mov r0, #2, 18
0006c eb000000 bl |?getTouchCoordinate@@YAGI@Z|
00070 e1c400b2 strh r0, [r4, #2]
00074 e2844004 add r4, r4, #4
00078 e2555001 subs r5, r5, #1
0007c 1afffff9 bne |$L32560|
; 632 :
; 633 : for (i=0;i<NUMBER_SAMPLES_PER_POINT;i++)
00080 e28d400c add r4, sp, #0xC
00084 e3a05003 mov r5, #3
00088 |$L32563|
; 634 : rgPointSamples[i].YSample=getTouchCoordinate(UCB_ADC_Y);
00088 e3a00902 mov r0, #2, 18
0008c eb000000 bl |?getTouchCoordinate@@YAGI@Z|
00090 e1c400b2 strh r0, [r4, #2]
00094 e2844004 add r4, r4, #4
00098 e2555001 subs r5, r5, #1
0009c 1afffff9 bne |$L32563|
; 635 :
; 636 : TmpStateFlags = TouchSampleDownFlag;
; 637 : if (evaluateSample(rgPointSamples[0].XSample,rgPointSamples[1].XSample,rgPointSamples[2].XSample,
; 638 : DELTA_X_COORD_VARIANCE,&TmpX) == TouchSampleIgnore)
000a0 e1dd21b4 ldrh r2, [sp, #0x14]
000a4 e1dd11b0 ldrh r1, [sp, #0x10]
000a8 e1dd00bc ldrh r0, [sp, #0xC]
000ac e28de008 add lr, sp, #8
000b0 e3a03016 mov r3, #0x16
000b4 e58de000 str lr, [sp]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -