diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-07-16 15:25:35 +0000 |
---|---|---|
committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-07-16 15:25:35 +0000 |
commit | 975261f003ab7c8bc917a932f5c6fc657ea78143 (patch) | |
tree | 750fca11be2e1a839607cd6698754d64e1630a78 /bootloader/ondavx747.c | |
parent | 753cac37b791ce4f744404cd82f4eab98dc56d82 (diff) | |
download | rockbox-975261f003ab7c8bc917a932f5c6fc657ea78143.tar.gz rockbox-975261f003ab7c8bc917a932f5c6fc657ea78143.zip |
Fix the LCD bug!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18071 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'bootloader/ondavx747.c')
-rw-r--r-- | bootloader/ondavx747.c | 59 |
1 files changed, 22 insertions, 37 deletions
diff --git a/bootloader/ondavx747.c b/bootloader/ondavx747.c index 5333ac3b1f..96c4c6cfb7 100644 --- a/bootloader/ondavx747.c +++ b/bootloader/ondavx747.c | |||
@@ -32,31 +32,7 @@ | |||
32 | #include "button.h" | 32 | #include "button.h" |
33 | #include "timefuncs.h" | 33 | #include "timefuncs.h" |
34 | #include "rtc.h" | 34 | #include "rtc.h" |
35 | 35 | #include "common.h" | |
36 | int _line = 1; | ||
37 | char _printfbuf[256]; | ||
38 | |||
39 | /* This is all rather hacky, but it works... */ | ||
40 | void _printf(const char *format, ...) | ||
41 | { | ||
42 | int len; | ||
43 | unsigned char *ptr; | ||
44 | va_list ap; | ||
45 | va_start(ap, format); | ||
46 | |||
47 | ptr = _printfbuf; | ||
48 | len = vsnprintf(ptr, sizeof(_printfbuf), format, ap); | ||
49 | va_end(ap); | ||
50 | |||
51 | int i; | ||
52 | for(i=0; i<1; i++) | ||
53 | { | ||
54 | lcd_puts(0, _line++, ptr); | ||
55 | lcd_update(); | ||
56 | } | ||
57 | if(_line >= LCD_HEIGHT/SYSFONT_HEIGHT) | ||
58 | _line = 1; | ||
59 | } | ||
60 | 36 | ||
61 | static void audiotest(void) | 37 | static void audiotest(void) |
62 | { | 38 | { |
@@ -101,7 +77,7 @@ static void jz_nand_scan_id(void) | |||
101 | 77 | ||
102 | dwNandID = ((cData[0] & 0xff) << 8) | (cData[1] & 0xff); | 78 | dwNandID = ((cData[0] & 0xff) << 8) | (cData[1] & 0xff); |
103 | 79 | ||
104 | _printf("NAND Flash 1: 0x%x is found [0x%x 0x%x 0x%x]", dwNandID, cData[2], cData[3], cData[4]); | 80 | printf("NAND Flash 1: 0x%x is found [0x%x 0x%x 0x%x]", dwNandID, cData[2], cData[3], cData[4]); |
105 | 81 | ||
106 | JZ_NAND_SELECT(2); | 82 | JZ_NAND_SELECT(2); |
107 | REG_NAND_CMD = NAND_CMD_READ_ID1; | 83 | REG_NAND_CMD = NAND_CMD_READ_ID1; |
@@ -115,7 +91,7 @@ static void jz_nand_scan_id(void) | |||
115 | 91 | ||
116 | dwNandID = ((cData[0] & 0xff) << 8) | (cData[1] & 0xff); | 92 | dwNandID = ((cData[0] & 0xff) << 8) | (cData[1] & 0xff); |
117 | 93 | ||
118 | _printf("NAND Flash 2: 0x%x is found [0x%x 0x%x 0x%x]", dwNandID, cData[2], cData[3], cData[4]); | 94 | printf("NAND Flash 2: 0x%x is found [0x%x 0x%x 0x%x]", dwNandID, cData[2], cData[3], cData[4]); |
119 | 95 | ||
120 | 96 | ||
121 | JZ_NAND_SELECT(3); | 97 | JZ_NAND_SELECT(3); |
@@ -130,7 +106,7 @@ static void jz_nand_scan_id(void) | |||
130 | 106 | ||
131 | dwNandID = ((cData[0] & 0xff) << 8) | (cData[1] & 0xff); | 107 | dwNandID = ((cData[0] & 0xff) << 8) | (cData[1] & 0xff); |
132 | 108 | ||
133 | _printf("NAND Flash 3: 0x%x is found [0x%x 0x%x 0x%x]", dwNandID, cData[2], cData[3], cData[4]); | 109 | printf("NAND Flash 3: 0x%x is found [0x%x 0x%x 0x%x]", dwNandID, cData[2], cData[3], cData[4]); |
134 | 110 | ||
135 | JZ_NAND_SELECT(4); | 111 | JZ_NAND_SELECT(4); |
136 | REG_NAND_CMD = NAND_CMD_READ_ID1; | 112 | REG_NAND_CMD = NAND_CMD_READ_ID1; |
@@ -144,7 +120,7 @@ static void jz_nand_scan_id(void) | |||
144 | 120 | ||
145 | dwNandID = ((cData[0] & 0xff) << 8) | (cData[1] & 0xff); | 121 | dwNandID = ((cData[0] & 0xff) << 8) | (cData[1] & 0xff); |
146 | 122 | ||
147 | _printf("NAND Flash 4: 0x%x is found [0x%x 0x%x 0x%x]", dwNandID, cData[2], cData[3], cData[4]); | 123 | printf("NAND Flash 4: 0x%x is found [0x%x 0x%x 0x%x]", dwNandID, cData[2], cData[3], cData[4]); |
148 | } | 124 | } |
149 | 125 | ||
150 | static void jz_store_icache(void) | 126 | static void jz_store_icache(void) |
@@ -190,24 +166,33 @@ int main(void) | |||
190 | 166 | ||
191 | int touch, btn; | 167 | int touch, btn; |
192 | lcd_clear_display(); | 168 | lcd_clear_display(); |
193 | _printf("Rockbox bootloader v0.000001"); | 169 | printf("Rockbox bootloader v0.000001"); |
194 | jz_nand_scan_id(); | 170 | jz_nand_scan_id(); |
195 | _printf("Test"); | 171 | printf("REG_EMC_SACR0: 0x%x", REG_EMC_SACR0 >> EMC_SACR_BASE_BIT); |
172 | printf("REG_EMC_SACR1: 0x%x", REG_EMC_SACR1 >> EMC_SACR_BASE_BIT); | ||
173 | printf("REG_EMC_SACR2: 0x%x", REG_EMC_SACR2 >> EMC_SACR_BASE_BIT); | ||
174 | printf("REG_EMC_SACR3: 0x%x", REG_EMC_SACR3 >> EMC_SACR_BASE_BIT); | ||
175 | printf("REG_EMC_SACR4: 0x%x", REG_EMC_SACR4 >> EMC_SACR_BASE_BIT); | ||
176 | printf("REG_EMC_DMAR0: 0x%x", REG_EMC_DMAR0 >> EMC_DMAR_BASE_BIT); | ||
196 | while(1) | 177 | while(1) |
197 | { | 178 | { |
198 | btn = button_read_device(&touch); | 179 | btn = button_read_device(&touch); |
199 | if(btn & BUTTON_VOL_DOWN) | 180 | if(btn & BUTTON_VOL_DOWN) |
200 | _printf("BUTTON_VOL_DOWN"); | 181 | printf("BUTTON_VOL_DOWN"); |
201 | if(btn & BUTTON_MENU) | 182 | if(btn & BUTTON_MENU) |
202 | _printf("BUTTON_MENU"); | 183 | printf("BUTTON_MENU"); |
203 | if(btn & BUTTON_VOL_UP) | 184 | if(btn & BUTTON_VOL_UP) |
204 | _printf("BUTTON_VOL_UP"); | 185 | printf("BUTTON_VOL_UP"); |
205 | if(btn & BUTTON_POWER) | 186 | if(btn & BUTTON_POWER) |
206 | _printf("BUTTON_POWER"); | 187 | printf("BUTTON_POWER"); |
207 | if(button_hold()) | 188 | if(button_hold()) |
208 | _printf("BUTTON_HOLD"); | 189 | printf("BUTTON_HOLD"); |
209 | if(touch != 0) | 190 | if(touch != 0) |
210 | _printf("X: %d Y: %d", touch>>16, touch&0xFFFF); | 191 | { |
192 | lcd_set_foreground(LCD_RGBPACK(touch & 0xFF, (touch >> 8)&0xFF, (touch >> 16)&0xFF)); | ||
193 | lcd_fillrect((touch>>16)-10, (touch&0xFFFF)-10, 20, 20); | ||
194 | lcd_update(); | ||
195 | } | ||
211 | /*_printf("%02d/%02d/%04d %02d:%02d:%02d", get_time()->tm_mday, get_time()->tm_mon, get_time()->tm_year, | 196 | /*_printf("%02d/%02d/%04d %02d:%02d:%02d", get_time()->tm_mday, get_time()->tm_mon, get_time()->tm_year, |
212 | get_time()->tm_hour, get_time()->tm_min, get_time()->tm_sec);*/ | 197 | get_time()->tm_hour, get_time()->tm_min, get_time()->tm_sec);*/ |
213 | } | 198 | } |