00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00033 #ifndef _NDSTYPES_INCLUDE
00034 #define _NDSTYPES_INCLUDE
00035
00036
00037
00038 #define PACKED __attribute__ ((packed))
00039 #define packed_struct struct PACKED
00040
00041
00042
00043
00044 #define ITCM_CODE __attribute__((section(".itcm"), long_call))
00045
00046 #define DTCM_DATA __attribute__((section(".dtcm")))
00047 #define DTCM_BSS __attribute__((section(".sbss")))
00048 #define ALIGN(m) __attribute__((aligned (m)))
00049
00050 #define PACKED __attribute__ ((packed))
00051 #define packed_struct struct PACKED
00052
00053
00054
00055
00056 #define GETRAW(name) (name)
00057 #define GETRAWSIZE(name) ((int)name##_size)
00058 #define GETRAWEND(name) ((int)name##_end)
00059
00060 #ifndef TRUE
00061 #define TRUE 1
00062 #define FALSE 0
00063 #endif
00064
00065 #define BIT(n) (1 << (n))
00066
00067
00068 #include <stdint.h>
00069
00070 typedef uint8_t uint8;
00071 typedef uint16_t uint16;
00072 typedef uint32_t uint32;
00073 typedef uint64_t uint64;
00074
00075 typedef int8_t int8;
00076 typedef int16_t int16;
00077 typedef int32_t int32;
00078 typedef int64_t int64;
00079
00080 typedef float float32;
00081 typedef double float64;
00082
00083 typedef volatile uint8_t vuint8;
00084 typedef volatile uint16_t vuint16;
00085 typedef volatile uint32_t vuint32;
00086 typedef volatile uint64_t vuint64;
00087
00088 typedef volatile int8_t vint8;
00089 typedef volatile int16_t vint16;
00090 typedef volatile int32_t vint32;
00091 typedef volatile int64_t vint64;
00092
00093 typedef volatile float32 vfloat32;
00094 typedef volatile float64 vfloat64;
00095
00096 typedef uint8_t byte;
00097
00098 typedef uint8_t u8;
00099 typedef uint16_t u16;
00100 typedef uint32_t u32;
00101 typedef uint64_t u64;
00102
00103 typedef int8_t s8;
00104 typedef int16_t s16;
00105 typedef int32_t s32;
00106 typedef int64_t s64;
00107
00108 typedef volatile u8 vu8;
00109 typedef volatile u16 vu16;
00110 typedef volatile u32 vu32;
00111 typedef volatile u64 vu64;
00112
00113 typedef volatile s8 vs8;
00114 typedef volatile s16 vs16;
00115 typedef volatile s32 vs32;
00116 typedef volatile s64 vs64;
00117
00118
00119
00120
00121 #ifndef __cplusplus
00122
00125 typedef enum { false, true } bool;
00126 #endif
00127
00128
00129 typedef void ( * IntFn)(void);
00130 typedef void (* VoidFn)(void);
00131 typedef void (* fp)(void);
00132
00133
00134 #endif
00135
00136