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

gehe zum Quellcode dieser Datei

Funktionen

void change_video_tables (__attribute__((unused)) int a, __attribute__((unused)) int b)
 
void set_quality (int *x)
 
void __attribute__ ((naked, noinline))
 *-------------------------------------------------------------------— Mehr ...
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

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

!!

Definiert in Zeile 12 der Datei movie_rec.c.

12  {
13 // FF186748
14  asm volatile (
15  " STMFD SP!, {R2-R10,LR} \n"
16  " LDR R6, =0xFF1854B8 \n"
17  " LDR R7, =0xFF1861B4 \n"
18  " LDR R4, =0x6CC0 \n"
19  " LDR R9, =0x6D6 \n"
20  " LDR R10, =0x2710 \n"
21  " MOV R8, #1 \n"
22  " MOV R5, #0 \n"
23  "loc_FF186768:\n"
24  " LDR R0, [R4, #0x24] \n"
25  " MOV R2, #0 \n"
26  " ADD R1, SP, #4 \n"
27  " BL sub_FF02B314 \n"
28  " LDR R0, [R4, #0x2C] \n"
29  " CMP R0, #0 \n"
30  " LDRNE R0, [R4, #0xC] \n"
31  " CMPNE R0, #2 \n"
32  " LDRNE R0, [R4, #0x44] \n"
33  " CMPNE R0, #6 \n"
34  " BNE loc_FF1868A4 \n"
35  " LDR R0, [SP, #4] \n"
36  " LDR R1, [R0] \n"
37  " SUB R1, R1, #2 \n"
38  " CMP R1, #0xD \n"
39  " ADDCC PC, PC, R1, LSL #2 \n"
40  " B loc_FF1868A4 \n"
41  " B loc_FF186844 \n"
42  " B loc_FF186868 \n"
43  " B loc_FF186878 \n"
44  " B loc_FF186880 \n"
45  " B loc_FF186888 \n"
46  " B loc_FF186890 \n"
47  " B loc_FF18684C \n"
48  " B loc_FF186898 \n"
49  " B loc_FF186858 \n"
50  " B loc_FF1868A4 \n"
51  " B loc_FF1868A0 \n"
52  " B loc_FF186810 \n"
53  " B loc_FF1867E0 \n"
54  "loc_FF1867E0:\n" // jump table entry 12
55  " STR R5, [R4, #0x40] \n"
56  " STR R5, [R4, #0x30] \n"
57  " STR R5, [R4, #0x34] \n"
58  " STRH R5, [R4, #6] \n"
59  " STR R6, [R4, #0xD8] \n"
60  " STR R7, [R4, #0xF4] \n"
61  " LDR R0, [R4, #0xC] \n"
62  " ADD R0, R0, #1 \n"
63  " STR R0, [R4, #0xC] \n"
64  " MOV R0, #6 \n"
65  " STR R0, [R4, #0x44] \n"
66  " B loc_FF186830 \n"
67  "loc_FF186810:\n" // jump table entry 11
68  " STR R5, [R4, #0x40] \n"
69  " STR R5, [R4, #0x30] \n"
70  " STR R6, [R4, #0xD8] \n"
71  " STR R7, [R4, #0xF4] \n"
72  " LDR R0, [R4, #0xC] \n"
73  " ADD R0, R0, #1 \n"
74  " STR R0, [R4, #0xC] \n"
75  " STR R8, [R4, #0x44] \n"
76  "loc_FF186830:\n"
77  " LDR R2, =0xFF184A60 \n"
78  " LDR R1, =0xB1A28 \n"
79  " LDR R0, =0xFF184B74 \n"
80  " BL sub_FF045B24 \n"
81  " B loc_FF1868A4 \n"
82  "loc_FF186844:\n" // jump table entry 0
83 //begin patch
84  // " BL sub_FF185D98 \n" // original
85  " BL movie_time\n" //patched
86 "label_A:\n"
87 //end patch
88  " B loc_FF1868A4 \n"
89  "loc_FF18684C:\n" // jump table entry 6
90  " LDR R1, [R4, #0xF4] \n"
91  " BLX R1 \n"
92  " LDR R0, =0x6D48-4 \n" // added - found at FF1866A4 in 100a
93  " BL set_quality \n" // added
94  " B loc_FF1868A4 \n"
95  "loc_FF186858:\n" // jump table entry 8
96  " LDR R1, [R0, #0x18] \n"
97  " LDR R0, [R0, #4] \n"
98  " BL sub_FF2E474C \n" //diff
99  " B loc_FF1868A4 \n"
100  "loc_FF186868:\n" // jump table entry 1
101  " LDR R0, [R4, #0x44] \n"
102  " CMP R0, #5 \n"
103  " STRNE R8, [R4, #0x34] \n"
104  " B loc_FF1868A4 \n"
105  "loc_FF186878:\n" // jump table entry 2
106  " BL sub_FF18512C \n"
107  " B loc_FF1868A4 \n"
108  "loc_FF186880:\n" // jump table entry 3
109  " BL sub_FF184E24 \n"
110  " B loc_FF1868A4 \n"
111  "loc_FF186888:\n" // jump table entry 4
112  " BL sub_FF184BCC \n"
113  " B loc_FF1868A4 \n"
114  "loc_FF186890:\n" // jump table entry 5
115  " BL sub_FF1847EC \n"
116  " B loc_FF1868A4 \n"
117  "loc_FF186898:\n" // jump table entry 7
118  " BL sub_FF18476C \n"
119  " B loc_FF1868A4 \n"
120  "loc_FF1868A0:\n" // jump table entry 10
121  " BL sub_FF186E1C \n"
122  "loc_FF1868A4:\n" // jump table default entry & 9
123  " LDR R1, [SP, #4] \n"
124  " LDR R3, =0xFF1844C0 \n" // **"MovieRecorder.c"
125  " STR R5, [R1] \n"
126  " STR R9, [SP] \n"
127  " LDR R0, [R4, #0x28] \n"
128  " MOV R2, R10 \n"
129  " BL sub_FF02BC8C \n"
130  " B loc_FF186768 \n"
131  );
132 }
void change_video_tables ( __attribute__((unused)) int  a,
__attribute__((unused)) int  b 
)

Definiert in Zeile 3 der Datei movie_rec.c.

3 {}
void set_quality ( int *  x)

Definiert in Zeile 5 der Datei movie_rec.c.

5  { // -17 highest; +12 lowest
6  if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1));
7 }