head 1.1; branch 1.1.1; access ; symbols start:1.1.1.1 PAlibDoc:1.1.1; locks ; strict; comment @# @; 1.1 date 2005.11.02.08.30.22; author jandujar; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2005.11.02.08.30.22; author jandujar; state Exp; branches ; next ; desc @@ 1.1 log @Initial revision @ text @
00001 #ifndef _PA_Save 00002 #define _PA_Save 00003 00004 00005 00006 00007 #define REG_SRAM 0x0A000000 00008 00026 #define PA_Save8bit(offset, value) SRAM[offset] = value 00027 00040 #define PA_Save16bit(offset, value) {PA_Save8bit(offset, value&255); PA_Save8bit(offset + 1, value >> 8)} 00041 00054 #define PA_Save32bit(offset, value) {PA_Save8bit(offset, value&255); PA_Save8bit(offset + 1, value >> 8); PA_Save8bit(offset + 2, value >> 16); PA_Save8bit(offset + 3, value >> 24);} 00055 00056 00069 extern inline s16 PA_SaveString(s32 offset, char *string) { 00070 u16 i = 0; 00071 00072 while(string[i]) { 00073 SRAM[i + offset] = string[i]; 00074 i++; 00075 } 00076 SRAM[i + offset] = string[i]; 00077 return (i); 00078 } 00079 00080 00095 extern inline void PA_SaveData(s32 offset, void* Data, u16 NBytes) { 00096 u16 i = 0; 00097 u8 *adress = (u8*)Data; 00098 for (i = 0; i < NBytes; i++) SRAM[i + offset] = adress[i]; 00099 } 00100 00101 00102 00112 #define PA_Load8bit(offset) SRAM[offset] 00113 00122 #define PA_Load16bit(offset) (SRAM[offset] + (SRAM[offset+1] << 8)) 00123 00132 #define PA_Load32bit(offset) (PA_Load8bit(offset) + (PA_Load8bit(offset + 1) << 8) + (PA_Load8bit(offset + 2) << 16) + (PA_Load8bit(offset + 3) << 24)) 00133 00134 00146 extern inline s16 PA_LoadString(s32 offset, char *string) { 00147 s16 i = -1; 00148 00149 do { 00150 i++; 00151 string[i] = SRAM[i + offset]; 00152 } 00153 while(string[i]); 00154 return i; 00155 } 00156 00157 00172 extern inline void PA_LoadData(s32 offset, void* Data, u16 NBytes) { 00173 u16 i = 0; 00174 u8 *adress = (u8*)Data; 00175 for (i = 0; i < NBytes; i++) adress[i] = SRAM[i + offset]; 00176 } 00177 // end of Saves 00179 00180 00181 00182 00183 00184 00185 00186 00187 00188 00189 #endif 00190 00191