The SGADE Documentation

the SGADE The Socrates Gameboy Advance Development Engine

The SGADE is a development library for the Nintendo Gameboy Advance. It's free for all uses and is distributed without guarantees. For more information visit the SGADE page.


Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

SoSystem.h

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------------
00013 // ----------------------------------------------------------------------------
00014 
00015 #ifndef SO_SYSTEM_H
00016 #define SO_SYSTEM_H
00017 
00018 #ifdef __cplusplus
00019     extern "C" {
00020 #endif
00021 
00022 
00023 // ---------------------------------------------------------------------------- //! @{
00034 // ----------------------------------------------------------------------------
00035 
00036 // ----------------------------------------------------------------------------
00037 // Typedefs
00038 // ----------------------------------------------------------------------------
00039 
00040 typedef unsigned char   u8;         
00041 typedef unsigned short  u16;        
00042 typedef unsigned long   u32;        
00043 
00044 typedef signed char     s8;         
00045 typedef signed short    s16;        
00046 typedef signed long     s32;        
00047 
00048 typedef signed long     sofixedpoint; 
00049 
00050 // Only define this if we are not using C++
00051 #ifndef __cplusplus
00052     typedef u8              bool;   
00053 #endif
00054 
00055 // ----------------------------------------------------------------------------
00056 // Includes
00057 // ----------------------------------------------------------------------------
00058 #include "SoDebug.h"
00059 
00060 // ----------------------------------------------------------------------------
00061 // Functions;
00062 // ----------------------------------------------------------------------------
00063 
00064 // ----------------------------------------------------------------------------
00065 // Defines
00066 // ----------------------------------------------------------------------------
00067 
00068 // Only if not defined yet;
00069 #ifndef NULL
00070     #define NULL                        (0)         
00071 #endif
00072 
00073 // Only define this if we are not using C++
00074 #ifndef __cplusplus
00075     #define true                        (1)         
00076     #define false                       (0)         
00077 #endif
00078 
00079 // Define some hardware specifics;
00080 #define SO_GBA_CLOCKCYCLES_PER_SECOND   (16*1024*1024)  
00081 
00082 
00083 // ---------------------------------------//@{   
00098 // ---------------------------------------
00099 #define SO_BIT_0                    (1)             
00100 #define SO_BIT_1                    (1<<1)          
00101 #define SO_BIT_2                    (1<<2)          
00102 #define SO_BIT_3                    (1<<3)          
00103 #define SO_BIT_4                    (1<<4)          
00104 #define SO_BIT_5                    (1<<5)          
00105 #define SO_BIT_6                    (1<<6)          
00106 #define SO_BIT_7                    (1<<7)          
00107 #define SO_BIT_8                    (1<<8)          
00108 #define SO_BIT_9                    (1<<9)          
00109 #define SO_BIT_10                   (1<<10)         
00110 #define SO_BIT_11                   (1<<11)         
00111 #define SO_BIT_12                   (1<<12)         
00112 #define SO_BIT_13                   (1<<13)         
00113 #define SO_BIT_14                   (1<<14)         
00114 #define SO_BIT_15                   (1<<15)         
00115 #define SO_BIT_16                   (1<<16)         
00116 #define SO_BIT_17                   (1<<17)         
00117 #define SO_BIT_18                   (1<<18)         
00118 #define SO_BIT_19                   (1<<19)         
00119 #define SO_BIT_20                   (1<<20)         
00120 #define SO_BIT_21                   (1<<21)         
00121 #define SO_BIT_22                   (1<<22)         
00122 #define SO_BIT_23                   (1<<23)         
00123 #define SO_BIT_24                   (1<<24)         
00124 #define SO_BIT_25                   (1<<25)         
00125 #define SO_BIT_26                   (1<<26)         
00126 #define SO_BIT_27                   (1<<27)         
00127 #define SO_BIT_28                   (1<<28)         
00128 #define SO_BIT_29                   (1<<29)         
00129 #define SO_BIT_30                   (1<<30)         
00130 #define SO_BIT_31                   (1<<31)         
00131 
00132 // ---------------------------------------
00133 
00134 // ---------------------------------------//@{   
00147 // ---------------------------------------
00148 #define SO_2_BITS                   (SO_BIT_2 - 1)          
00149 #define SO_3_BITS                   (SO_BIT_3 - 1)              
00150 #define SO_4_BITS                   (SO_BIT_4 - 1)              
00151 #define SO_5_BITS                   (SO_BIT_5 - 1)              
00152 #define SO_6_BITS                   (SO_BIT_6 - 1)              
00153 #define SO_7_BITS                   (SO_BIT_7 - 1)              
00154 #define SO_8_BITS                   (SO_BIT_8 - 1)              
00155 #define SO_9_BITS                   (SO_BIT_9 - 1)              
00156 #define SO_10_BITS                  (SO_BIT_10 - 1)             
00157 #define SO_11_BITS                  (SO_BIT_11 - 1)             
00158 #define SO_12_BITS                  (SO_BIT_12 - 1)             
00159 #define SO_13_BITS                  (SO_BIT_13 - 1)             
00160 #define SO_14_BITS                  (SO_BIT_14 - 1)             
00161 #define SO_15_BITS                  (SO_BIT_15 - 1)             
00162 #define SO_16_BITS                  (SO_BIT_16 - 1)             
00163 #define SO_17_BITS                  (SO_BIT_17 - 1)             
00164 #define SO_18_BITS                  (SO_BIT_18 - 1)             
00165 #define SO_19_BITS                  (SO_BIT_19 - 1)             
00166 #define SO_20_BITS                  (SO_BIT_20 - 1)             
00167 #define SO_21_BITS                  (SO_BIT_21 - 1)             
00168 #define SO_22_BITS                  (SO_BIT_22 - 1)             
00169 #define SO_23_BITS                  (SO_BIT_23 - 1)             
00170 #define SO_24_BITS                  (SO_BIT_24 - 1)             
00171 #define SO_25_BITS                  (SO_BIT_25 - 1)             
00172 #define SO_26_BITS                  (SO_BIT_26 - 1)             
00173 #define SO_27_BITS                  (SO_BIT_27 - 1)             
00174 #define SO_28_BITS                  (SO_BIT_28 - 1)             
00175 #define SO_29_BITS                  (SO_BIT_29 - 1)             
00176 #define SO_30_BITS                  (SO_BIT_30 - 1)             
00177 #define SO_31_BITS                  (SO_BIT_31 - 1)             
00178 #define SO_32_BITS                  (SO_31_BITS | SO_BIT_31)    
00179 
00180 // ---------------------------------------
00181 
00182 
00183 // ----------------------------------------------------------------------------
00184 // EOF
00185 // ----------------------------------------------------------------------------
00186 
00187 
00189 
00190 #ifdef __cplusplus
00191 } // extern "C"
00192 #endif
00193 
00194 #endif

Copyright 2002 by the SGADE authors. See SoLicense.h or Visit the SGADE page for more information.