2 * betty.c - alternative firmware for the betty tv ;)
4 * author: hackbard@hackdaworld.org
15 const char announce[]="betty - live from flash at 0x80000000! ;)\r\n";
16 const char d1_txt[]="betty";
17 const char d2_txt[]="- alphablend -";
25 #define cc1100_init spi1_init(8,SPI_MASTER,8)
27 void display_string_page(u8 x,u8 p,u8 *s,u8 f,u8 o,u8 sp) {
34 display_font_page(x,p,(u8 *)default_font+(*(s)<<3),f);
40 void input_event(void) {
43 if(button_get_event(&button)) {
44 switch(button.key[0]) {
46 display_logo((u8 *)default_logo);
51 DISPLAY_SET_CONTRAST(contrast);
56 DISPLAY_SET_CONTRAST(contrast);
59 display_fill_screen(DISPLAY_FILL_W);
62 display_fill_screen(DISPLAY_FILL_LG);
65 display_fill_screen(DISPLAY_FILL_DG);
68 display_fill_screen(DISPLAY_FILL_B);
71 display_rectangle_page(4,2,60,5,
75 display_rectangle_page(40,5,50,5,
76 DISPLAY_FILL_LG,0x7f);
81 display_font_page(42,18,
82 (u8 *)default_font+(0x34<<3),
86 display_font_page(50,18,
87 (u8 *)default_font+(0x35<<3),
91 display_font_page(58,18,
92 (u8 *)default_font+(0x36<<3),
100 display_string_page(50,13,(u8 *)d1_txt,
104 display_string_page(10,8,(u8 *)d2_txt,
108 display_clear_screen();
127 /* memory mapping - dirty! */
128 if((void *)announce<(void *)FLASH_BANK0)
129 mmap_init(MEMTYPE_RAM);
131 mmap_init(MEMTYPE_EXT);
140 button.mode=BUTTON_INT;
141 button_init(&button);
142 button_set_retries(&button,0);
153 interrupt_ext_ir_config(INTERRUPT_EXT3,INTERRUPT_EXT_NOWAKE,
154 INTERRUPT_EXT_MODE_EDGE,
155 INTERRUPT_EXT_POLAR_LOW);
156 interrupt_enable(INTERRUPT_EINT3,INTERRUPT_MODE_VIRQ,0,(u32)input_event);
162 /* toggle the display back light */
166 uart0_send_string((char *)announce);