CHDK_DE Vorschauversion  Trunk Rev. 6014
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
filewrite.c-Dateireferenz
#include "lolevel.h"
#include "platform.h"
#include "../../../generic/filewrite.c"
+ Include-Abhängigkeitsdiagramm für filewrite.c:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  cam_ptp_data_chunk
 
struct  fwt_data_struct
 

Makrodefinitionen

#define MAX_CHUNKS_FOR_FWT   7
 

Funktionen

void __attribute__ ((naked, noinline))
 *-------------------------------------------------------------------— Mehr ...
 

Makro-Dokumentation

#define MAX_CHUNKS_FOR_FWT   7

Definiert in Zeile 12 der Datei filewrite.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

*-------------------------------------------------------------------—

!!

Definiert in Zeile 31 der Datei filewrite.c.

31  {
32 asm volatile (
33 " STMFD SP!, {R1-R5,LR} \n"
34 " LDR R5, =0xB7E8 \n"
35 
36 "loc_FF2C77F8:\n"
37 " MOV R2, #0 \n"
38 " LDR R0, [R5, #0x10] \n"
39 " ADD R1, SP, #8 \n"
40 " BL sub_FF02B314 /*_ReceiveMessageQueue*/ \n"
41 " CMP R0, #0 \n"
42 " LDRNE R1, =0x35B \n"
43 " LDRNE R0, =0xFF2C78E8 /*'dwFWrite.c'*/ \n"
44 " BLNE _DebugAssert \n"
45 " LDR R0, [SP, #8] \n"
46 " LDR R1, [R0] \n"
47 " CMP R1, #0xA \n"
48 " ADDCC PC, PC, R1, LSL#2 \n"
49 " B loc_FF2C77F8 \n"
50 " B loc_FF2C78C8 \n"
51 " B loc_FF2C78C8 \n"
52 " B loc_FF2C78C8 \n"
53 " B loc_FF2C78C8 \n"
54 " B loc_FF2C78C8 \n"
55 " B loc_FF2C78C8 \n"
56 " B loc_FF2C78C8 \n"
57 " B loc_FF2C78D0 \n"
58 " B loc_FF2C7854 \n"
59 " B loc_FF2C78C0 \n"
60 
61 "loc_FF2C7854:\n"
62 " MOV R0, #0 \n"
63 " MOV R4, R5 \n"
64 " STR R0, [SP] \n"
65 
66 "loc_FF2C7860:\n"
67 " LDR R0, [R4, #0x10] \n"
68 " MOV R1, SP \n"
69 " BL sub_FF02B558 /*_GetNumberOfPostedMessages*/ \n"
70 " LDR R0, [SP] \n"
71 " CMP R0, #0 \n"
72 " BEQ loc_FF2C788C \n"
73 " LDR R0, [R4, #0x10] \n"
74 " MOV R2, #0 \n"
75 " ADD R1, SP, #4 \n"
76 " BL sub_FF02B314 /*_ReceiveMessageQueue*/ \n"
77 " B loc_FF2C7860 \n"
78 
79 "loc_FF2C788C:\n"
80 " LDR R0, [R4, #4] \n"
81 " CMN R0, #1 \n"
82 " BEQ loc_FF2C78B4 \n"
83 " BL fwt_close \n" // --> Patched. Old value = _Close.
84 " MVN R0, #0 \n"
85 " STR R0, [R4, #4] \n"
86 " LDR R0, =0x15A8F0 \n"
87 " BL sub_FF069E7C \n"
88 " MOV R1, #0 \n"
89 " BL sub_FF0680F8 \n"
90 
91 "loc_FF2C78B4:\n"
92 " LDR R0, [R4, #0xC] \n"
93 " BL _GiveSemaphore \n"
94 " B loc_FF2C77F8 \n"
95 
96 "loc_FF2C78C0:\n"
97 " BL sub_FF2C7AD4_my \n" // --> Patched. Old value = 0xFF2C7AD4.
98 " B loc_FF2C77F8 \n"
99 
100 "loc_FF2C78C8:\n"
101 " BL sub_FF2C7B94_my \n" // --> Patched. Old value = 0xFF2C7B94.
102 " B loc_FF2C77F8 \n"
103 
104 "loc_FF2C78D0:\n"
105 " BL sub_FF2C7684_my \n" // --> Patched. Old value = 0xFF2C7684.
106 " B loc_FF2C77F8 \n"
107 );
108 }