/[gxemul]/trunk/src/include/misc.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/src/include/misc.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 31 by dpavlin, Mon Oct 8 16:20:40 2007 UTC revision 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC
# Line 28  Line 28 
28   *  SUCH DAMAGE.   *  SUCH DAMAGE.
29   *   *
30   *   *
31   *  $Id: misc.h,v 1.242 2006/07/25 21:03:25 debug Exp $   *  $Id: misc.h,v 1.247 2006/10/08 02:28:40 debug Exp $
32   *   *
33   *  Misc. definitions for gxemul.   *  Misc. definitions for gxemul.
34   */   */
# Line 52  Line 52 
52   *  The correct solution is to upgrade your compiler to C99.   *  The correct solution is to upgrade your compiler to C99.
53   */   */
54  #ifdef NO_C99_64BIT_LONGLONG  #ifdef NO_C99_64BIT_LONGLONG
55    #define PRIi8           "i"
56  #define PRIi16          "i"  #define PRIi16          "i"
57  #define PRIi32          "i"  #define PRIi32          "i"
58  #define PRIi64          "lli"  #define PRIi64          "lli"
59    #define PRIx8           "x"
60  #define PRIx16          "x"  #define PRIx16          "x"
61  #define PRIx32          "x"  #define PRIx32          "x"
62  #define PRIx64          "llx"  #define PRIx64          "llx"
63  #else  #else
64    #define PRIi8           "i"
65  #define PRIi16          "i"  #define PRIi16          "i"
66  #define PRIi32          "i"  #define PRIi32          "i"
67  #define PRIi64          "li"  #define PRIi64          "li"
68    #define PRIx8           "x"
69  #define PRIx16          "x"  #define PRIx16          "x"
70  #define PRIx32          "x"  #define PRIx32          "x"
71  #define PRIx64          "lx"  #define PRIx64          "lx"
# Line 107  struct machine; Line 111  struct machine;
111  struct memory;  struct memory;
112    
113    
114  #define NO_BYTE_ORDER_OVERRIDE          -1  #define NO_BYTE_ORDER_OVERRIDE          -1
115  #define EMUL_LITTLE_ENDIAN              0  #define EMUL_UNDEFINED_ENDIAN           0
116  #define EMUL_BIG_ENDIAN                 1  #define EMUL_LITTLE_ENDIAN              1
117    #define EMUL_BIG_ENDIAN                 2
118    
119  #ifdef HOST_LITTLE_ENDIAN  #ifdef HOST_LITTLE_ENDIAN
120  #define LE16_TO_HOST(x)     (x)  #define LE16_TO_HOST(x)     (x)
121  #define BE16_TO_HOST(x)     ((((x) & 0xff00) >> 8) | (((x)&0xff) << 8))  #define BE16_TO_HOST(x)     ((((x) & 0xff00) >> 8) | (((x)&0xff) << 8))
122  #else  #else
123  #define LE16_TO_HOST(x)     ((((x) & 0xff00) >> 8) | (((x)&0xff) << 8))  #define LE16_TO_HOST(x)     ((((x) & 0xff00) >> 8) | (((x)&0xff) << 8))
124  #define BE16_TO_HOST(x)     (x)  #define BE16_TO_HOST(x)     (x)
125  #endif  #endif
126    
127  #ifdef HOST_LITTLE_ENDIAN  #ifdef HOST_LITTLE_ENDIAN
128  #define LE32_TO_HOST(x)     (x)  #define LE32_TO_HOST(x)     (x)
129  #define BE32_TO_HOST(x)     ((((x) & 0xff000000) >> 24) | (((x)&0xff) << 24) | \  #define BE32_TO_HOST(x)     ((((x) & 0xff000000) >> 24) | (((x)&0xff) << 24) | \
130                               (((x) & 0xff0000) >> 8) | (((x) & 0xff00) << 8))                               (((x) & 0xff0000) >> 8) | (((x) & 0xff00) << 8))
131  #else  #else
132  #define LE32_TO_HOST(x)     ((((x) & 0xff000000) >> 24) | (((x)&0xff) << 24) | \  #define LE32_TO_HOST(x)     ((((x) & 0xff000000) >> 24) | (((x)&0xff) << 24) | \
133                               (((x) & 0xff0000) >> 8) | (((x) & 0xff00) << 8))                               (((x) & 0xff0000) >> 8) | (((x) & 0xff00) << 8))
134  #define BE32_TO_HOST(x)     (x)  #define BE32_TO_HOST(x)     (x)
135  #endif  #endif
136    
137    #ifdef HOST_LITTLE_ENDIAN
138    #define LE64_TO_HOST(x)     (x)
139    #define BE64_TO_HOST(x)     (   (((x) >> 56) & 0xff) +                  \
140                                    ((((x) >> 48) & 0xff) << 8) +           \
141                                    ((((x) >> 40) & 0xff) << 16) +          \
142                                    ((((x) >> 32) & 0xff) << 24) +          \
143                                    ((((x) >> 24) & 0xff) << 32) +          \
144                                    ((((x) >> 16) & 0xff) << 40) +          \
145                                    ((((x) >> 8) & 0xff) << 48) +           \
146                                    (((x) & 0xff) << 56)  )
147    #else
148    #define BE64_TO_HOST(x)     (x)
149    #define LE64_TO_HOST(x)     (   (((x) >> 56) & 0xff) +                  \
150                                    ((((x) >> 48) & 0xff) << 8) +           \
151                                    ((((x) >> 40) & 0xff) << 16) +          \
152                                    ((((x) >> 32) & 0xff) << 24) +          \
153                                    ((((x) >> 24) & 0xff) << 32) +          \
154                                    ((((x) >> 16) & 0xff) << 40) +          \
155                                    ((((x) >> 8) & 0xff) << 48) +           \
156                                    (((x) & 0xff) << 56)  )
157    #endif
158    
159    
160  /*  Debug stuff:  */  /*  Debug stuff:  */
161  #define DEBUG_BUFSIZE           1024  #define DEBUG_BUFSIZE           1024
# Line 139  struct memory; Line 166  struct memory;
166  int decstation_prom_emul(struct cpu *cpu);  int decstation_prom_emul(struct cpu *cpu);
167    
168    
169    /*  dreamcast.c:  */
170    void dreamcast_machine_setup(struct machine *);
171    int dreamcast_emul(struct cpu *cpu);
172    
173    
174  /*  file.c:  */  /*  file.c:  */
175  int file_n_executables_loaded(void);  int file_n_executables_loaded(void);
176  void file_load(struct machine *machine, struct memory *mem,  void file_load(struct machine *machine, struct memory *mem,
# Line 181  void useremul_init(void); Line 213  void useremul_init(void);
213    
214    
215  /*  yamon.c:  */  /*  yamon.c:  */
216  int yamon_emul(struct cpu *cpu);  void yamon_machine_setup(struct machine *machine, uint64_t env);
217    int yamon_emul(struct cpu *);
218    
219    
220  #endif  /*  MISC_H  */  #endif  /*  MISC_H  */

Legend:
Removed from v.31  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.26