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 _LogCameraEvent (int id, const char *fmt,...)
 
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)  )

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

!!

IS_ERROR( hSoundHandle )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

__MovieRecorder_c__100

__MovieRecorder_c__100

ASM1989 -> In sx200:FF857190 //"Mounter.c"

ASM1989 -> In sx200:FF81B284 // DebugAssert

Definiert in Zeile 72 der Datei filewrite.c.

72  {
73 asm volatile (
74 // task_FileWrite 0xfc3f7c91
75 " push {r3, r4, r5, r6, r7, lr}\n"
76 #ifdef FILEWRITE_DEBUG_LOG
77 "bl log_fwt_start\n"
78 #endif
79 " ldr r6, =0x09200001\n"
80 " movw r7, #0x477\n"
81 " ldr r5, =0x0002008c\n"
82 " adds r6, #0x12\n"
83 "loc_fc3f7c9c:\n"
84 " mov r1, sp\n"
85 " movs r2, #0\n"
86 " ldr r0, [r5, #0x14]\n"
87 " blx sub_fc2c7ca0\n" // j_ReceiveMessageQueue
88 " cbz r0, loc_fc3f7cb2\n"
89 " movs r0, #0\n"
90 " mov r2, r7\n"
91 " ldr r1, =0xfc3f7d5c\n" // *"dwFWrite.c"
92 " blx sub_fc2c7de0\n" // j_DebugAssert
93 "loc_fc3f7cb2:\n"
94 #ifdef FILEWRITE_DEBUG_LOG
95 "ldr r0, [sp]\n"
96 "bl log_fwt_msg\n"
97 #endif
98 " ldr r0, [sp]\n"
99 " ldr r1, [r0]\n"
100 " cmp r1, #0xd\n"
101 " bhs loc_fc3f7c9c\n"
102 " tbb [pc, r1]\n" // (jumptable r1 13 elements)
103 "branchtable_fc3f7cbe:\n"
104 " .byte((loc_fc3f7d00 - branchtable_fc3f7cbe) / 2)\n" // (case 0)
105 " .byte((loc_fc3f7d00 - branchtable_fc3f7cbe) / 2)\n" // (case 1)
106 " .byte((loc_fc3f7d00 - branchtable_fc3f7cbe) / 2)\n" // (case 2)
107 " .byte((loc_fc3f7d00 - branchtable_fc3f7cbe) / 2)\n" // (case 3)
108 " .byte((loc_fc3f7d00 - branchtable_fc3f7cbe) / 2)\n" // (case 4)
109 " .byte((loc_fc3f7d00 - branchtable_fc3f7cbe) / 2)\n" // (case 5)
110 " .byte((loc_fc3f7d00 - branchtable_fc3f7cbe) / 2)\n" // (case 6)
111 " .byte((loc_fc3f7d06 - branchtable_fc3f7cbe) / 2)\n" // (case 7)
112 " .byte((loc_fc3f7ccc - branchtable_fc3f7cbe) / 2)\n" // (case 8)
113 " .byte((loc_fc3f7cde - branchtable_fc3f7cbe) / 2)\n" // (case 9)
114 " .byte((loc_fc3f7cfa - branchtable_fc3f7cbe) / 2)\n" // (case 10)
115 " .byte((loc_fc3f7cd2 - branchtable_fc3f7cbe) / 2)\n" // (case 11)
116 " .byte((loc_fc3f7cd8 - branchtable_fc3f7cbe) / 2)\n" // (case 12)
117 ".align 1\n"
118 "loc_fc3f7ccc:\n" // case 8 - calls close, not seen in normal shooting (g7x)
119 " bl sub_fc3f7e7e\n"
120 " b loc_fc3f7c9c\n"
121 "loc_fc3f7cd2:\n" // case 11 - create dir, TODO not patched
122 " bl sub_fc3f7eca\n"
123 " b loc_fc3f7c9c\n"
124 "loc_fc3f7cd8:\n" // case 12 - patch for open, main hook
125 " bl sub_fc3f7a0c_my\n"
126 " b loc_fc3f7c9c\n"
127 "loc_fc3f7cde:\n" // case 9 - not seen in normal shooting (g7x)
128 " ldr r1, [r0, #4]\n"
129 " movs r2, #0\n"
130 " mov r4, r0\n"
131 " ldr r0, [r5, #8]\n"
132 " bl _lseek\n"
133 " adds r0, r0, #1\n"
134 " bne loc_fc3f7c9c\n"
135 " movs r0, #7\n"
136 " mov r1, r4\n"
137 " str r6, [r4, #0x14]\n"
138 " bl sub_fc3f7992\n"
139 " b loc_fc3f7c9c\n"
140 "loc_fc3f7cfa:\n" // case 10 - cache flush
141 " bl sub_fc3f7f28\n"
142 " b loc_fc3f7c9c\n"
143 "loc_fc3f7d00:\n" // case 0-6 - write stage
144 " bl sub_fc3f7f9a_my\n"
145 " b loc_fc3f7c9c\n"
146 "loc_fc3f7d06:\n" // case 7 - close stage
147 " bl sub_fc3f7b3e_my\n"
148 " b loc_fc3f7c9c\n"
149 ".ltorg\n"
150  );
151 }
void _LogCameraEvent ( int  id,
const char *  fmt,
  ... 
)