source: trunk/platform/sx30/sub/100n/movie_rec.c @ 1200

Revision 1200, 6.1 KB checked in by msl, 2 years ago (diff)

SX30

+ Added support for version 1.00n

Line 
1#include "conf.h"
2
3void change_video_tables(int a, int b){
4}
5
6void  set_quality(int *x){ // -17 highest; +12 lowest
7 if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1));
8}
9
10// Located @ FF88334C (1.00n)
11void __attribute__((naked,noinline)) movie_record_task(){
12
13 asm volatile(
14"                STMFD   SP!, {R2-R10,LR} \n"
15"                LDR     R9, =0x5AC \n"
16"                LDR     R8, =0x2710 \n"
17"                LDR     R4, =0x34E0 \n"
18"                LDR     R7, =0xFF882FB0 \n"
19"                MOV     R6, #0 \n"
20"                MOV     R5, #1 \n"
21
22"loc_FF883368: \n"
23"                LDR     R0, [R4,#0x24] \n"
24"                MOV     R2, #0 \n"
25"                ADD     R1, SP, #4 \n"
26"                BL      sub_FF83A4C8 \n"
27"                LDR     R2, =0xFF881594 \n"    //aMovierecorder_
28"                LDR     R0, [R4,#0xD0] \n"
29"                MOV     R3, R9 \n"
30"                MOV     R1, R8 \n"
31"                BL      sub_FF83ADC4 \n"
32"                LDR     R0, [R4,#0x2C] \n"
33"                CMP     R0, #0 \n"
34"                LDRNE   R0, [R4,#0xC] \n"
35"                CMPNE   R0, #2 \n"
36"                LDRNE   R0, [R4,#0x44] \n"
37"                CMPNE   R0, #6 \n"
38"                BNE     loc_FF8834B0 \n"
39"                LDR     R0, [SP,#4] \n"
40"                LDR     R1, [R0] \n"
41"                SUB     R1, R1, #2 \n"
42"                CMP     R1, #0xC \n"
43"                ADDLS   PC, PC, R1,LSL#2 \n"
44"                B       loc_FF8834B0 \n"
45"loc_FF8833C0: \n"
46"                B       loc_FF883458 \n"
47"loc_FF8833C4: \n"
48"                B       loc_FF883470 \n"
49"loc_FF8833C8: \n"
50"                B       loc_FF883480 \n"
51"loc_FF8833CC: \n"
52"                B       loc_FF883488 \n"
53"loc_FF8833D0: \n"
54"                B       loc_FF883460 \n"
55"loc_FF8833D4: \n"
56"                B       loc_FF883490 \n"
57"loc_FF8833D8: \n"
58"                B       loc_FF883468 \n"
59"loc_FF8833DC: \n"
60"                B       loc_FF8834B0 \n"
61"loc_FF8833E0: \n"
62"                B       loc_FF8834A0 \n"
63"loc_FF8833E4: \n"
64"                B       loc_FF8834A8 \n"
65"loc_FF8833E8: \n"
66"                B       loc_FF883498 \n"
67"loc_FF8833EC: \n"
68"                B       loc_FF883420 \n"
69"loc_FF8833F0: \n"
70"                B       loc_FF8833F4 \n"
71
72"loc_FF8833F4: \n"
73//"; jumptable FF8833B8 entry 12 \n"
74"                STR     R6, [R4,#0x40] \n"
75"                STR     R6, [R4,#0x30] \n"
76"                STR     R6, [R4,#0x34] \n"
77"                STRH    R6, [R4,#6] \n"
78"                STR     R7, [R4,#0xB4] \n"
79"                LDR     R0, [R4,#0xC] \n"
80"                ADD     R0, R0, #1 \n"
81"                STR     R0, [R4,#0xC] \n"
82"                MOV     R0, #6 \n"
83"                STR     R0, [R4,#0x44] \n"
84"                B       loc_FF883444 \n"
85
86"loc_FF883420: \n"
87//"; jumptable FF8833B8 entry 11 \n"
88"                LDR     R0, =0xFF881AD0 \n"
89"                STR     R6, [R4,#0x40] \n"
90"                STR     R0, [R4,#0xBC] \n"
91"                STR     R6, [R4,#0x30] \n"
92"                STR     R7, [R4,#0xB4] \n"
93"                LDR     R0, [R4,#0xC] \n"
94"                ADD     R0, R0, #1 \n"
95"                STR     R0, [R4,#0xC] \n"
96"                STR     R5, [R4,#0x44] \n"
97
98"loc_FF883444: \n"
99"                LDR     R2, =0xFF881AD4 \n"
100"                LDR     R1, =0x3B7E8 \n"
101"                LDR     R0, =0xFF881BFC \n"
102"                BL      sub_FF852E4C \n"
103"                B       loc_FF8834B0 \n"
104
105"loc_FF883458: \n"
106//"; jumptable FF8833B8 entry 0            ; LOCATION: MovieRecorder.c:0 \n"
107"                BL      sub_FF883108 \n"
108"                B       loc_FF8834B0 \n"
109
110"loc_FF883460: \n"
111//"; jumptable FF8833B8 entry 4            ; LOCATION: MovieRecorder.c:2032 \n"
112"                BL      sub_FF8829C0 \n"
113
114                "LDR     R0, =0x3568-4\n" // <----   -4 //+ set in sub_FF8829C0 above
115                "BL      set_quality\n"                 //+ reset here to user value
116
117"                B       loc_FF8834B0 \n"
118
119"loc_FF883468: \n"
120//"; jumptable FF8833B8 entry 6 \n"
121"                BL      sub_FF8839C8 \n"
122"                B       loc_FF8834B0 \n"
123
124"loc_FF883470: \n"
125//"; jumptable FF8833B8 entry 1 \n"
126"                LDR     R0, [R4,#0x44] \n"
127"                CMP     R0, #5 \n"
128"                STRNE   R5, [R4,#0x34] \n"
129"                B       loc_FF8834B0 \n"
130
131"loc_FF883480: \n"
132//"; jumptable FF8833B8 entry 2            ; LOCATION: MovieRecorder.c:1000 \n"
133"                BL      sub_FF882660 \n"
134"                B       loc_FF8834B0 \n"
135
136"loc_FF883488: \n"
137//"; jumptable FF8833B8 entry 3            ; LOCATION: MovieRecorder.c:0 \n"
138"                BL      sub_FF8822DC \n"
139"                B       loc_FF8834B0 \n"
140
141"loc_FF883490: \n"
142//"; jumptable FF8833B8 entry 5            ; LOCATION: MovieRecorder.c:100 \n"
143"                BL      sub_FF881A5C \n"
144"                B       loc_FF8834B0 \n"
145
146"loc_FF883498: \n"
147//"; jumptable FF8833B8 entry 10           ; LOCATION: MovieRecorder.c:100 \n"
148"                BL      sub_FF88391C \n"
149"                B       loc_FF8834B0 \n"
150
151"loc_FF8834A0: \n"
152//"; jumptable FF8833B8 entry 8            ; LOCATION: MovieRecorder.c:0 \n"
153"                BL      sub_FF8821A0 \n"
154"                B       loc_FF8834B0 \n"
155
156"loc_FF8834A8: \n"
157//"; jumptable FF8833B8 entry 9            ; LOCATION: MovieRecorder.c:0 \n"
158"                BL      sub_FF882084 \n"
159"                STR     R5, [R4,#0xF8] \n"
160
161"loc_FF8834B0: \n"
162//"; jumptable FF8833B8 default entry \n"
163//"; jumptable FF8833B8 entry 7 \n"
164"                LDR     R1, [SP,#4] \n"
165"                                MOV     R3,#0x5F0 \n"
166"                STR     R6, [R1] \n"
167"                STR     R3, [SP] \n"
168"                LDR     R0, [R4,#0x28] \n"
169"                LDR     R3, =0xFF881594 \n" //;aMovierecorder_
170"                MOV     R2, R8 \n"
171"                BL      sub_FF83AE1C \n"
172"                LDR     R0, [R4,#0xD0] \n"
173"                BL      _GiveSemaphore \n" // ; LOCATION: KerSem.c:0 \n"
174"                B       loc_FF883368 \n"
175 );
176}
177
Note: See TracBrowser for help on using the repository browser.