summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/common/sprintf.c2
-rw-r--r--firmware/debug.c24
-rw-r--r--firmware/export/kernel.h4
-rw-r--r--firmware/export/lcd.h8
-rw-r--r--firmware/export/mpeg.h4
-rw-r--r--firmware/include/dir.h36
-rw-r--r--firmware/include/file.h36
-rw-r--r--firmware/include/sprintf.h2
-rw-r--r--firmware/include/stdio.h1
-rw-r--r--firmware/include/sys/types.h49
-rw-r--r--firmware/kernel.c7
-rw-r--r--firmware/mpeg.c2
12 files changed, 96 insertions, 79 deletions
diff --git a/firmware/common/sprintf.c b/firmware/common/sprintf.c
index 8683945211..3518a1ba5e 100644
--- a/firmware/common/sprintf.c
+++ b/firmware/common/sprintf.c
@@ -231,7 +231,7 @@ static int fprfunc(void *pr, unsigned char letter)
231} 231}
232 232
233 233
234int fprintf(int fd, const char *fmt, ...) 234int fdprintf(int fd, const char *fmt, ...)
235{ 235{
236 bool ok; 236 bool ok;
237 va_list ap; 237 va_list ap;
diff --git a/firmware/debug.c b/firmware/debug.c
index 0989e80b17..e3be2de168 100644
--- a/firmware/debug.c
+++ b/firmware/debug.c
@@ -216,28 +216,4 @@ void debugf(const char *fmt, ...)
216#endif 216#endif
217} 217}
218 218
219
220#else /* SIMULATOR code coming up */
221
222void debug_init(void)
223{
224}
225extern void *stderr;
226
227void debugf(const char *fmt, ...)
228{
229 va_list ap;
230 va_start( ap, fmt );
231 vfprintf( stderr, fmt, ap );
232 va_end( ap );
233}
234
235void ldebugf(const char* file, int line, const char *fmt, ...)
236{
237 va_list ap;
238 va_start( ap, fmt );
239 fprintf( stderr, "%s:%d ", file, line );
240 vfprintf( stderr, fmt, ap );
241 va_end( ap );
242}
243#endif 219#endif
diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h
index 8a4a642a86..bbb4c68ff9 100644
--- a/firmware/export/kernel.h
+++ b/firmware/export/kernel.h
@@ -65,6 +65,10 @@ struct mutex
65/* global tick variable */ 65/* global tick variable */
66extern long current_tick; 66extern long current_tick;
67 67
68#ifdef SIMULATOR
69#define sleep(x) sim_sleep(x)
70#endif
71
68/* kernel functions */ 72/* kernel functions */
69extern void kernel_init(void); 73extern void kernel_init(void);
70extern void yield(void); 74extern void yield(void);
diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h
index 6d485c2f43..98e2a58a53 100644
--- a/firmware/export/lcd.h
+++ b/firmware/export/lcd.h
@@ -27,6 +27,10 @@
27#define STYLE_DEFAULT 0 27#define STYLE_DEFAULT 0
28#define STYLE_INVERT 1 28#define STYLE_INVERT 1
29 29
30#ifdef SIMULATOR
31#define lcd_icon(x,y) sim_lcd_icon(x,y)
32#endif
33
30/* common functions */ 34/* common functions */
31extern void lcd_init(void); 35extern void lcd_init(void);
32extern void lcd_clear_display(void); 36extern void lcd_clear_display(void);
@@ -61,10 +65,6 @@ extern void lcd_update_rect(int x, int y, int width, int height);
61 #define lcd_update_rect(x,y,w,h) 65 #define lcd_update_rect(x,y,w,h)
62#endif 66#endif
63 67
64#if defined(SIMULATOR)
65#include "sim_icons.h"
66#endif
67
68#ifdef HAVE_LCD_CHARCELLS 68#ifdef HAVE_LCD_CHARCELLS
69 69
70/* Icon definitions for lcd_icon() */ 70/* Icon definitions for lcd_icon() */
diff --git a/firmware/export/mpeg.h b/firmware/export/mpeg.h
index 671f9389f0..479c5f2317 100644
--- a/firmware/export/mpeg.h
+++ b/firmware/export/mpeg.h
@@ -42,6 +42,10 @@
42/* For ID3 info and VBR header */ 42/* For ID3 info and VBR header */
43#define MPEG_RESERVED_HEADER_SPACE (4096 + 1500) 43#define MPEG_RESERVED_HEADER_SPACE (4096 + 1500)
44 44
45#ifdef SIMULATOR
46#define mpeg_play(x) sim_mpeg_play(x)
47#endif
48
45struct mpeg_debug 49struct mpeg_debug
46{ 50{
47 int mp3buflen; 51 int mp3buflen;
diff --git a/firmware/include/dir.h b/firmware/include/dir.h
index 12ec724692..26ccd03ed3 100644
--- a/firmware/include/dir.h
+++ b/firmware/include/dir.h
@@ -30,6 +30,16 @@
30#define ATTR_ARCHIVE 0x20 30#define ATTR_ARCHIVE 0x20
31#define ATTR_VOLUME 0x40 /* this is a volume, not a real directory */ 31#define ATTR_VOLUME 0x40 /* this is a volume, not a real directory */
32 32
33#ifdef SIMULATOR
34#define dirent sim_dirent
35#define DIR SIM_DIR
36#define opendir(x) sim_opendir(x)
37#define readdir(x) sim_readdir(x)
38#define closedir(x) sim_closedir(x)
39#define mkdir(x, y) sim_mkdir(x, y)
40#define rmdir(x) sim_rmdir(x)
41#endif
42
33#ifndef DIRENT_DEFINED 43#ifndef DIRENT_DEFINED
34 44
35struct dirent { 45struct dirent {
@@ -42,12 +52,10 @@ struct dirent {
42}; 52};
43#endif 53#endif
44 54
45
46#ifndef SIMULATOR
47
48#include "fat.h" 55#include "fat.h"
49 56
50typedef struct { 57typedef struct {
58#ifndef SIMULATOR
51 bool busy; 59 bool busy;
52 int startcluster; 60 int startcluster;
53 struct fat_dir fatdir; 61 struct fat_dir fatdir;
@@ -56,25 +64,13 @@ typedef struct {
56#ifdef HAVE_MULTIVOLUME 64#ifdef HAVE_MULTIVOLUME
57 int volumecounter; /* running counter for faked volume entries */ 65 int volumecounter; /* running counter for faked volume entries */
58#endif 66#endif
67#else
68 /* simulator: */
69 void *dir; /* actually a DIR* dir */
70 char *name;
71#endif
59} DIR; 72} DIR;
60 73
61#else /* SIMULATOR */
62
63#ifdef WIN32
64#ifndef __MINGW32__
65#include <io.h>
66#endif /* __MINGW32__ */
67
68typedef struct DIRtag
69{
70 struct dirent fd;
71 int handle;
72} DIR;
73
74#endif /* WIN32 */
75
76#endif /* SIMULATOR */
77
78#ifndef DIRFUNCTIONS_DEFINED 74#ifndef DIRFUNCTIONS_DEFINED
79 75
80extern DIR* opendir(const char* name); 76extern DIR* opendir(const char* name);
diff --git a/firmware/include/file.h b/firmware/include/file.h
index af1ad72be9..694de48348 100644
--- a/firmware/include/file.h
+++ b/firmware/include/file.h
@@ -20,6 +20,8 @@
20#ifndef _FILE_H_ 20#ifndef _FILE_H_
21#define _FILE_H_ 21#define _FILE_H_
22 22
23#include <sys/types.h>
24
23#undef MAX_PATH /* this avoids problems when building simulator */ 25#undef MAX_PATH /* this avoids problems when building simulator */
24#define MAX_PATH 260 26#define MAX_PATH 260
25 27
@@ -42,30 +44,14 @@
42#define O_TRUNC 0x10 44#define O_TRUNC 0x10
43#endif 45#endif
44 46
45#if !defined(__ssize_t_defined) && !defined(_SSIZE_T_) && !defined(ssize_t) 47#ifdef SIMULATOR
46#define __ssize_t_defined 48#define open(x,y) sim_open(x,y)
47#define _SSIZE_T_ 49#define creat(x,y) sim_creat(x,y)
48#define ssize_t ssize_t 50#define remove(x) sim_remove(x)
49typedef signed long ssize_t; 51#define rename(x,y) sim_rename(x,y)
50#endif 52#define filesize(x) sim_filesize(x)
51 53#define fsync(x) sim_fsync(x)
52#if !defined(__off_t_defined) && !defined(_OFF_T_) && !defined(off_t) 54#define ftruncate(x,y) sim_ftruncate(x,y)
53#define __off_t_defined
54#define _OFF_T_
55#define off_t off_t
56typedef signed long off_t;
57#endif
58
59#if !defined(__mode_t_defined) && !defined(_MODE_T_) && !defined(mode_t)
60#define __mode_t_defined
61#define _MODE_T_
62#define mode_t mode_t
63typedef unsigned int mode_t;
64#endif
65
66#ifndef _SIZE_T
67#define _SIZE_T
68typedef unsigned long size_t;
69#endif 55#endif
70 56
71typedef int (*open_func)(const char* pathname, int flags); 57typedef int (*open_func)(const char* pathname, int flags);
@@ -75,7 +61,6 @@ typedef ssize_t (*write_func)(int fd, const void *buf, size_t count);
75typedef void (*qsort_func)(void *base, size_t nmemb, size_t size, 61typedef void (*qsort_func)(void *base, size_t nmemb, size_t size,
76 int(*_compar)(const void *, const void *)); 62 int(*_compar)(const void *, const void *));
77 63
78#ifndef SIMULATOR
79extern int open(const char* pathname, int flags); 64extern int open(const char* pathname, int flags);
80extern int close(int fd); 65extern int close(int fd);
81extern int fsync(int fd); 66extern int fsync(int fd);
@@ -88,6 +73,5 @@ extern int rename(const char* path, const char* newname);
88extern int ftruncate(int fd, off_t length); 73extern int ftruncate(int fd, off_t length);
89extern off_t filesize(int fd); 74extern off_t filesize(int fd);
90extern int release_files(int volume); 75extern int release_files(int volume);
91#endif /* SIMULATOR */
92 76
93#endif 77#endif
diff --git a/firmware/include/sprintf.h b/firmware/include/sprintf.h
index d68647ee72..b667a0406b 100644
--- a/firmware/include/sprintf.h
+++ b/firmware/include/sprintf.h
@@ -33,7 +33,7 @@ int snprintf (char *buf, size_t size, const char *fmt, ...)
33 ATTRIBUTE_PRINTF(3, 4); 33 ATTRIBUTE_PRINTF(3, 4);
34 34
35int vsnprintf (char *buf, int size, const char *fmt, va_list ap); 35int vsnprintf (char *buf, int size, const char *fmt, va_list ap);
36int fprintf (int fd, const char *fmt, ...) 36int fdprintf (int fd, const char *fmt, ...)
37 ATTRIBUTE_PRINTF(2, 3); 37 ATTRIBUTE_PRINTF(2, 3);
38 38
39#endif /* __SPRINTF_H__ */ 39#endif /* __SPRINTF_H__ */
diff --git a/firmware/include/stdio.h b/firmware/include/stdio.h
index dd22f7d5b1..968bd59aab 100644
--- a/firmware/include/stdio.h
+++ b/firmware/include/stdio.h
@@ -39,7 +39,6 @@ int vsnprintf (char *buf, int size, const char *fmt, __VALIST ap);
39#ifdef SIMULATOR 39#ifdef SIMULATOR
40typedef void FILE; 40typedef void FILE;
41int vfprintf(FILE *stream, const char *format, __VALIST ap); 41int vfprintf(FILE *stream, const char *format, __VALIST ap);
42int fprintf(FILE *stream, const char *format, ...);
43#ifdef WIN32 42#ifdef WIN32
44#define FILENAME_MAX 260 /* ugly hard-coded value of a limit that is set 43#define FILENAME_MAX 260 /* ugly hard-coded value of a limit that is set
45 in file.h */ 44 in file.h */
diff --git a/firmware/include/sys/types.h b/firmware/include/sys/types.h
new file mode 100644
index 0000000000..7bca33b78d
--- /dev/null
+++ b/firmware/include/sys/types.h
@@ -0,0 +1,49 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2005 by Daniel Stenberg
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
20#ifndef _SYS_TYPES_H_
21#define _SYS_TYPES_H_
22
23#if !defined(__ssize_t_defined) && !defined(_SSIZE_T_) && !defined(ssize_t)
24#define __ssize_t_defined
25#define _SSIZE_T_
26#define ssize_t ssize_t
27typedef signed long ssize_t;
28#endif
29
30#if !defined(__off_t_defined) && !defined(_OFF_T_) && !defined(off_t)
31#define __off_t_defined
32#define _OFF_T_
33#define off_t off_t
34typedef signed long off_t;
35#endif
36
37#if !defined(__mode_t_defined) && !defined(_MODE_T_) && !defined(mode_t)
38#define __mode_t_defined
39#define _MODE_T_
40#define mode_t mode_t
41typedef unsigned int mode_t;
42#endif
43
44#ifndef _SIZE_T
45#define _SIZE_T
46typedef unsigned long size_t;
47#endif
48
49#endif /* _SYS_TYPES_H */
diff --git a/firmware/kernel.c b/firmware/kernel.c
index 1306b4b524..d21244202f 100644
--- a/firmware/kernel.c
+++ b/firmware/kernel.c
@@ -352,6 +352,11 @@ int tick_remove_task(void (*f)(void))
352 return -1; 352 return -1;
353} 353}
354 354
355#ifndef SIMULATOR
356/*
357 * Simulator versions in uisimulator/SIMVER/
358 */
359
355/**************************************************************************** 360/****************************************************************************
356 * Simple mutex functions 361 * Simple mutex functions
357 ****************************************************************************/ 362 ****************************************************************************/
@@ -375,3 +380,5 @@ void mutex_unlock(struct mutex *m)
375{ 380{
376 m->locked = false; 381 m->locked = false;
377} 382}
383
384#endif
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index 8673da9980..5d4c5daa5c 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -39,8 +39,6 @@
39#include "usb.h" 39#include "usb.h"
40#include "file.h" 40#include "file.h"
41#include "hwcompat.h" 41#include "hwcompat.h"
42#else
43#include "mpegplay.h"
44#endif /* #ifndef SIMULATOR */ 42#endif /* #ifndef SIMULATOR */
45 43
46#include "bitswap.h" 44#include "bitswap.h"