diff options
author | Felix Arends <edx@rockbox.org> | 2002-06-25 21:01:08 +0000 |
---|---|---|
committer | Felix Arends <edx@rockbox.org> | 2002-06-25 21:01:08 +0000 |
commit | 64bde94ecf65b752a15250fb5ff05438502c4fde (patch) | |
tree | 254e2c1c0e1168d9c6f23b84df1313477efb961e | |
parent | 969dcb78719e3210eeb2e7fa8b37ce422f16f2f2 (diff) | |
download | rockbox-64bde94ecf65b752a15250fb5ff05438502c4fde.tar.gz rockbox-64bde94ecf65b752a15250fb5ff05438502c4fde.zip |
Finally, again a working version of the win32 simulator. I re-wrote the makefile, it is much more compact now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1191 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | uisimulator/win32/kernel.c | 46 | ||||
-rw-r--r-- | uisimulator/win32/main.c | 25 | ||||
-rw-r--r-- | uisimulator/win32/makefile | 97 | ||||
-rw-r--r-- | uisimulator/win32/mpeg.c | 13 | ||||
-rw-r--r-- | uisimulator/win32/uisw32.suo | bin | 12800 -> 13312 bytes | |||
-rw-r--r-- | uisimulator/win32/uisw32.vcproj | 33 |
6 files changed, 109 insertions, 105 deletions
diff --git a/uisimulator/win32/kernel.c b/uisimulator/win32/kernel.c index 102bb6c82a..3410bc9cc9 100644 --- a/uisimulator/win32/kernel.c +++ b/uisimulator/win32/kernel.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include "uisw32.h" | 21 | #include "uisw32.h" |
22 | #include "kernel.h" | 22 | #include "kernel.h" |
23 | #include "thread-win32.h" | 23 | #include "thread-win32.h" |
24 | #include "thread.h" | ||
24 | 25 | ||
25 | void sleep(int ticks) | 26 | void sleep(int ticks) |
26 | { | 27 | { |
@@ -31,4 +32,49 @@ void sleep(int ticks) | |||
31 | void yield (void) | 32 | void yield (void) |
32 | { | 33 | { |
33 | PostThreadMessage (GetWindowThreadProcessId (hGUIWnd,NULL), TM_YIELD, 0, 0); | 34 | PostThreadMessage (GetWindowThreadProcessId (hGUIWnd,NULL), TM_YIELD, 0, 0); |
35 | } | ||
36 | |||
37 | void queue_init(struct event_queue *q) | ||
38 | { | ||
39 | q->read = 0; | ||
40 | q->write = 0; | ||
41 | } | ||
42 | |||
43 | void queue_wait(struct event_queue *q, struct event *ev) | ||
44 | { | ||
45 | while(q->read == q->write) | ||
46 | { | ||
47 | switch_thread(); | ||
48 | } | ||
49 | |||
50 | *ev = q->events[(q->read++) & QUEUE_LENGTH_MASK]; | ||
51 | } | ||
52 | |||
53 | void queue_post(struct event_queue *q, int id, void *data) | ||
54 | { | ||
55 | int wr; | ||
56 | int oldlevel; | ||
57 | |||
58 | oldlevel = set_irq_level(15); | ||
59 | wr = (q->write++) & QUEUE_LENGTH_MASK; | ||
60 | |||
61 | q->events[wr].id = id; | ||
62 | q->events[wr].data = data; | ||
63 | set_irq_level(oldlevel); | ||
64 | } | ||
65 | |||
66 | bool queue_empty(struct event_queue* q) | ||
67 | { | ||
68 | return ( q->read == q->write ); | ||
69 | } | ||
70 | |||
71 | void switch_thread (void) | ||
72 | { | ||
73 | yield (); | ||
74 | } | ||
75 | |||
76 | int set_irq_level (int level) | ||
77 | { | ||
78 | static int _lv = 0; | ||
79 | return (_lv = level); | ||
34 | } \ No newline at end of file | 80 | } \ No newline at end of file |
diff --git a/uisimulator/win32/main.c b/uisimulator/win32/main.c deleted file mode 100644 index bf14efbaca..0000000000 --- a/uisimulator/win32/main.c +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | #include "uisw32.h" | ||
2 | #include "lcd-win32.h" | ||
3 | |||
4 | #define FS 6 | ||
5 | |||
6 | int main (void) | ||
7 | { | ||
8 | int x; | ||
9 | lcd_init (); | ||
10 | |||
11 | while (1) | ||
12 | { | ||
13 | for (x = 0; x < 10; x++) | ||
14 | { | ||
15 | lcd_clear_display (); | ||
16 | lcd_puts (x, 12, "Hello World!", FS); | ||
17 | lcd_puts (x, 32, "From the", FS); | ||
18 | lcd_puts (x, 40, " Open Source ", FS); | ||
19 | lcd_puts (x, 48, "Jukebox Project", FS); | ||
20 | lcd_update (); | ||
21 | } | ||
22 | } | ||
23 | |||
24 | return 0; | ||
25 | } \ No newline at end of file | ||
diff --git a/uisimulator/win32/makefile b/uisimulator/win32/makefile index 11f16b3006..cbd2298f6e 100644 --- a/uisimulator/win32/makefile +++ b/uisimulator/win32/makefile | |||
@@ -27,93 +27,36 @@ APPDIR = ../../apps/ | |||
27 | RECDIR = $(APPDIR)recorder/ | 27 | RECDIR = $(APPDIR)recorder/ |
28 | RM = del | 28 | RM = del |
29 | 29 | ||
30 | #DISPLAY = -DHAVE_LCD_CHARCELLS | 30 | DISPLAY = -DHAVE_LCD_CHARCELLS |
31 | DISPLAY = -DHAVE_LCD_BITMAP | 31 | #DISPLAY = -DHAVE_LCD_BITMAP |
32 | 32 | ||
33 | #KEYPAD = -DHAVE_PLAYER_KEYPAD | 33 | KEYPAD = -DHAVE_PLAYER_KEYPAD |
34 | KEYPAD = -DHAVE_RECORDER_KEYPAD | 34 | #KEYPAD = -DHAVE_RECORDER_KEYPAD |
35 | 35 | ||
36 | CC = cl | 36 | CC = cl |
37 | DEFINES = -DWIN32 -DHAVE_CONFIG_H -DGETTIMEOFDAY_TWO_ARGS -DSIMULATOR \ | 37 | LINK = link |
38 | $(KEYPAD) $(DISPLAY) | 38 | DEFINES = -DWIN32 -DHAVE_CONFIG_H -DGETTIMEOFDAY_TWO_ARGS -DSIMULATOR $(KEYPAD) $(DISPLAY) |
39 | LDFLAGS = /ouisw32.exe /link -subsystem:windows | 39 | LDFLAGS = /OUT:uisw32.exe /SUBSYSTEM:windows |
40 | INCLUDES = -I$(FIRMWAREDIR) -I$(DRIVERS) -I$(COMMON) -I$(SIMDIR) -I$(APPDIR) -I$(RECDIR) | 40 | INCLUDES = -I$(FIRMWAREDIR) -I$(DRIVERS) -I$(COMMON) -I$(SIMDIR) -I$(APPDIR) -I$(RECDIR) |
41 | LIBS = gdi32.lib user32.lib | 41 | LIBS = /DEFAULTLIB:gdi32.lib /DEFAULTLIB:user32.lib |
42 | 42 | ||
43 | CFLAGS = $(DEBUG) $(DEFINES) $(INCLUDES) /MD /Fd"Release/vc70.pdb" /c | ||
43 | 44 | ||
44 | CFLAGS = $(DEBUG) $(DEFINES) $(INCLUDES) /MD /Fd"Release/vc70.pdb" | 45 | SRCS = *.c \ |
45 | 46 | $(DRIVERS)/lcd.c \ | |
46 | SRCS = lcd-win32.c uisw32.c lcd.c button.c tree.c main.c \ | 47 | $(APPDIR)*.c \ |
47 | chartables.c kernel.c uisw32.res dir-win32.c main_menu.c \ | 48 | $(FIRMWAREDIR)/chartables.c $(FIRMWAREDIR)/id3.c $(FIRMWAREDIR)/settings.c $(FIRMWAREDIR)/backlight.c \ |
48 | play.c debug-win32.c menu.c credits.c sound_menu.c mpeg.c \ | 49 | $(COMMON)/sprintf.c $(COMMON)/strtok.c |
49 | id3.c settings.c sprintf.c thread-win32.c playlist.c string-win32.c | ||
50 | 50 | ||
51 | !IF ("$(DISPLAY)" == "-DHAVE_LCD_BITMAP") | 51 | !IF ("$(DISPLAY)" == "-DHAVE_LCD_BITMAP") |
52 | SRCS = $(SRCS) tetris.c boxes.c bounce.c sokoban.c icons.c bmp.c | 52 | SRCS = $(SRCS) $(RECDIR)*.c |
53 | !ENDIF | 53 | !ENDIF |
54 | 54 | ||
55 | OBJS = $(SRCS:.c=.obj) | 55 | OBJS = *.obj uisw32.res |
56 | |||
57 | uisw32.exe: $(OBJS) | ||
58 | $(CC) $(CFLAGS) $(LIBS) $(LDFLAGS) $(OBJS) | ||
59 | |||
60 | lcd.obj: $(DRIVERS)/lcd.c | ||
61 | $(CC) $(CFLAGS) -c $(DRIVERS)/lcd.c -olcd.obj | ||
62 | |||
63 | chartables.obj: $(FIRMWAREDIR)/chartables.c | ||
64 | $(CC) $(CFLAGS) -c $(FIRMWAREDIR)/chartables.c -ochartables.obj | ||
65 | |||
66 | tetris.obj: ../../apps/recorder/tetris.c | ||
67 | $(CC) $(CFLAGS) -c ../../apps/recorder/tetris.c -otetris.obj | ||
68 | |||
69 | tree.obj: ../../apps/tree.c | ||
70 | $(CC) $(CFLAGS) -c ../../apps/tree.c -otree.obj | ||
71 | |||
72 | main.obj: ../../apps/main.c | ||
73 | $(CC) $(CFLAGS) -c ../../apps/main.c -omain.obj | ||
74 | |||
75 | main_menu.obj: ../../apps/main_menu.c | ||
76 | $(CC) $(CFLAGS) -c ../../apps/main_menu.c -omain_menu.obj | ||
77 | |||
78 | play.obj: ../../apps/play.c | ||
79 | $(CC) $(CFLAGS) -c ../../apps/play.c -oplay.obj | ||
80 | |||
81 | bmp.obj: ../../apps/recorder/bmp.c | ||
82 | $(CC) $(CFLAGS) -c ../../apps/recorder/bmp.c -obmp.obj | ||
83 | |||
84 | bounce.obj: ../../apps/recorder/bounce.c | ||
85 | $(CC) $(CFLAGS) -c ../../apps/recorder/bounce.c -obounce.obj | ||
86 | |||
87 | sokoban.obj: ../../apps/recorder/sokoban.c | ||
88 | $(CC) $(CFLAGS) -c ../../apps/recorder/sokoban.c -osokoban.obj | ||
89 | 56 | ||
90 | boxes.obj: ../../apps/recorder/boxes.c | 57 | uisw32.exe: $(SRCS:.c=.obj) |
91 | $(CC) $(CFLAGS) -c ../../apps/recorder/boxes.c -oboxes.obj | 58 | $(CC) $(CFLAGS) $(SRCS) |
92 | 59 | $(LINK) $(LIBS) $(LDFLAGS) $(OBJS) | |
93 | menu.obj: ../../apps/menu.c | ||
94 | $(CC) $(CFLAGS) -c ../../apps/menu.c -omenu.obj | ||
95 | |||
96 | credits.obj: ../../apps/credits.c | ||
97 | $(CC) $(CFLAGS) -c ../../apps/credits.c -ocredits.obj | ||
98 | |||
99 | icons.obj: ../../apps/recorder/icons.c | ||
100 | $(CC) $(CFLAGS) -c ../../apps/recorder/icons.c -oicons.obj | ||
101 | |||
102 | sound_menu.obj: ../../apps/sound_menu.c | ||
103 | $(CC) $(CFLAGS) -c ../../apps/sound_menu.c -osound_menu.obj | ||
104 | |||
105 | id3.obj: $(FIRMWAREDIR)/id3.c | ||
106 | $(CC) $(CFLAGS) -c $(FIRMWAREDIR)/id3.c -oid3.obj | ||
107 | |||
108 | settings.obj: $(FIRMWAREDIR)/settings.c | ||
109 | $(CC) $(CFLAGS) -c $(FIRMWAREDIR)/settings.c -osettings.obj | ||
110 | |||
111 | sprintf.obj: $(FIRMWAREDIR)/common/sprintf.c | ||
112 | $(CC) $(CFLAGS) -c $(FIRMWAREDIR)/common/sprintf.c -osprintf.obj | ||
113 | |||
114 | playlist.obj: ../../apps/playlist.c | ||
115 | $(CC) $(CFLAGS) -c ../../apps/playlist.c -oplaylist.obj | ||
116 | 60 | ||
117 | clean: | 61 | clean: |
118 | $(RM) *.obj | 62 | $(RM) *.obj \ No newline at end of file |
119 | |||
diff --git a/uisimulator/win32/mpeg.c b/uisimulator/win32/mpeg.c index 1ff9bce3ff..a93b6a7f08 100644 --- a/uisimulator/win32/mpeg.c +++ b/uisimulator/win32/mpeg.c | |||
@@ -38,6 +38,19 @@ void mpeg_stop(void) | |||
38 | { | 38 | { |
39 | } | 39 | } |
40 | 40 | ||
41 | void mpeg_resume(void) | ||
42 | { | ||
43 | } | ||
44 | |||
45 | void mpeg_pause(void) | ||
46 | { | ||
47 | } | ||
48 | |||
49 | struct mp3entry* mpeg_current_track(void) | ||
50 | { | ||
51 | return 0; | ||
52 | } | ||
53 | |||
41 | #ifndef MPEGPLAY | 54 | #ifndef MPEGPLAY |
42 | void mpeg_play(char *tune) | 55 | void mpeg_play(char *tune) |
43 | { | 56 | { |
diff --git a/uisimulator/win32/uisw32.suo b/uisimulator/win32/uisw32.suo index 1193c8e916..4c21df5b04 100644 --- a/uisimulator/win32/uisw32.suo +++ b/uisimulator/win32/uisw32.suo | |||
Binary files differ | |||
diff --git a/uisimulator/win32/uisw32.vcproj b/uisimulator/win32/uisw32.vcproj index c3429a4871..b4ae9dd107 100644 --- a/uisimulator/win32/uisw32.vcproj +++ b/uisimulator/win32/uisw32.vcproj | |||
@@ -19,8 +19,8 @@ | |||
19 | <Tool | 19 | <Tool |
20 | Name="VCCLCompilerTool" | 20 | Name="VCCLCompilerTool" |
21 | Optimization="0" | 21 | Optimization="0" |
22 | AdditionalIncludeDirectories=""C:\Programming\CVS Checkout\RockBox\apps\recorder";"C:\Programming\CVS Checkout\RockBox\apps";"C:\Programming\CVS Checkout\RockBox\firmware";"C:\Programming\CVS Checkout\RockBox\uisimulator\win32";"C:\Programming\CVS Checkout\RockBox\firmware\drivers";"C:\Programming\CVS Checkout\RockBox\firmware\common"" | 22 | AdditionalIncludeDirectories=""..\..\apps\recorder";"..\..\apps";"..\..\firmware";"..\win32";"..\..\firmware\drivers";"..\..\firmware\common"" |
23 | PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;HAVE_RECORDER_KEYPAD;HAVE_LCD_BITMAP;SIMULATOR;SIMULATOR;" | 23 | PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;HAVE_RECORDER_KEYPAD;HAVE_LCD_BITMAP;SIMULATOR;SIMULATOR;LCD_PROPFONTS;" |
24 | MinimalRebuild="TRUE" | 24 | MinimalRebuild="TRUE" |
25 | BasicRuntimeChecks="3" | 25 | BasicRuntimeChecks="3" |
26 | RuntimeLibrary="1" | 26 | RuntimeLibrary="1" |
@@ -107,9 +107,18 @@ | |||
107 | Name="Source Files" | 107 | Name="Source Files" |
108 | Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"> | 108 | Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"> |
109 | <File | 109 | <File |
110 | RelativePath="..\..\firmware\backlight.c"> | ||
111 | </File> | ||
112 | <File | ||
110 | RelativePath="..\..\apps\recorder\bmp.c"> | 113 | RelativePath="..\..\apps\recorder\bmp.c"> |
111 | </File> | 114 | </File> |
112 | <File | 115 | <File |
116 | RelativePath="..\..\apps\recorder\bounce.c"> | ||
117 | </File> | ||
118 | <File | ||
119 | RelativePath="..\..\apps\recorder\boxes.c"> | ||
120 | </File> | ||
121 | <File | ||
113 | RelativePath="button.c"> | 122 | RelativePath="button.c"> |
114 | </File> | 123 | </File> |
115 | <File | 124 | <File |
@@ -125,6 +134,9 @@ | |||
125 | RelativePath="dir-win32.c"> | 134 | RelativePath="dir-win32.c"> |
126 | </File> | 135 | </File> |
127 | <File | 136 | <File |
137 | RelativePath="..\..\apps\games_menu.c"> | ||
138 | </File> | ||
139 | <File | ||
128 | RelativePath="..\..\apps\recorder\icons.c"> | 140 | RelativePath="..\..\apps\recorder\icons.c"> |
129 | </File> | 141 | </File> |
130 | <File | 142 | <File |
@@ -185,18 +197,30 @@ | |||
185 | RelativePath="..\..\apps\playlist.c"> | 197 | RelativePath="..\..\apps\playlist.c"> |
186 | </File> | 198 | </File> |
187 | <File | 199 | <File |
188 | RelativePath="..\..\apps\recorder\screensaver.c"> | 200 | RelativePath="..\..\apps\screensavers_menu.c"> |
189 | </File> | 201 | </File> |
190 | <File | 202 | <File |
191 | RelativePath="..\..\firmware\settings.c"> | 203 | RelativePath="..\..\firmware\settings.c"> |
192 | </File> | 204 | </File> |
193 | <File | 205 | <File |
206 | RelativePath="..\..\apps\settings_menu.c"> | ||
207 | </File> | ||
208 | <File | ||
209 | RelativePath="..\..\apps\recorder\sokoban.c"> | ||
210 | </File> | ||
211 | <File | ||
194 | RelativePath="..\..\apps\sound_menu.c"> | 212 | RelativePath="..\..\apps\sound_menu.c"> |
195 | </File> | 213 | </File> |
196 | <File | 214 | <File |
197 | RelativePath="..\..\firmware\common\sprintf.c"> | 215 | RelativePath="..\..\firmware\common\sprintf.c"> |
198 | </File> | 216 | </File> |
199 | <File | 217 | <File |
218 | RelativePath="string-win32.c"> | ||
219 | </File> | ||
220 | <File | ||
221 | RelativePath="..\..\firmware\common\strtok.c"> | ||
222 | </File> | ||
223 | <File | ||
200 | RelativePath="..\..\apps\recorder\tetris.c"> | 224 | RelativePath="..\..\apps\recorder\tetris.c"> |
201 | </File> | 225 | </File> |
202 | <File | 226 | <File |
@@ -208,6 +232,9 @@ | |||
208 | <File | 232 | <File |
209 | RelativePath="uisw32.c"> | 233 | RelativePath="uisw32.c"> |
210 | </File> | 234 | </File> |
235 | <File | ||
236 | RelativePath="..\..\apps\wps.c"> | ||
237 | </File> | ||
211 | </Filter> | 238 | </Filter> |
212 | <Filter | 239 | <Filter |
213 | Name="Header Files" | 240 | Name="Header Files" |