This source file includes following definitions.
- shutdown
- camera_jpeg_count_str
- debug_led
- camera_set_led1
- get_flash_params_count
- vid_get_viewport_live_fb
- vid_get_bitmap_fb
- vid_get_viewport_fb
- vid_get_viewport_height
- vid_get_palette_type
- vid_get_palette_size
- vid_get_bitmap_active_palette
- vid_get_bitmap_active_buffer
1 #include "platform.h"
2
3 void shutdown()
4 {
5 volatile long *p = (void*)0xc022006C;
6
7 asm(
8 "MRS R1, CPSR\n"
9 "AND R0, R1, #0x80\n"
10 "ORR R1, R1, #0x80\n"
11 "MSR CPSR_cf, R1\n"
12 :::"r1","r0");
13
14 *p = 0x44;
15
16 while(1);
17 }
18
19 char *camera_jpeg_count_str()
20 {
21 return (char*)0x60354;
22 }
23
24 #define LED_PR 0xC022006C
25
26
27 void debug_led(int state)
28 {
29 volatile long *p=(void*)LED_PR;
30 if (state)
31 p[0]=0x46;
32 else
33 p[0]=0x44;
34 }
35
36 #define LED_BASE 0xc0220080
37 #define LED_AF 0xC0220094
38
39 void camera_set_led1(int led, int state, __attribute__ ((unused))int bright)
40 {
41 int leds[] = {12,16,4,8,4,0,4};
42 if(led < 4 || led > 10 || led == 6) return;
43 volatile long *p=(void*)LED_BASE + leds[led-4];
44 if (state)
45 p[0]=0x46;
46 else
47 p[0]=0x44;
48 }
49
50
51 int get_flash_params_count(void){
52 return 114;
53 }
54
55 void *vid_get_viewport_live_fb()
56 {
57 void **fb=(void **)0x228C;
58 unsigned char buff = *((unsigned char*)0x2124);
59 if (buff == 0) {
60 buff = 2;
61 }
62 else {
63 buff--;
64 }
65 return fb[buff];
66 }
67
68 void *vid_get_bitmap_fb()
69 {
70 return (void*)0x10361000;
71 }
72
73 void *vid_get_viewport_fb()
74 {
75 return (void*)0x1067b540;
76 }
77
78 long vid_get_viewport_height()
79 {
80 return 240;
81 }
82
83
84 int vid_get_palette_type() { return 1; }
85 int vid_get_palette_size() { return 16*4; }
86
87 void *vid_get_bitmap_active_palette()
88 {
89 return (void *)0x47ce8;
90 }
91
92 void *vid_get_bitmap_active_buffer()
93 {
94 return (void*)(*(int*)0xd548);
95 }