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.32; author jandujar; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2005.11.02.08.30.32; author jandujar; state Exp; branches ; next ; desc @@ 1.1 log @Initial revision @ text @ PA_lib: Fichier source de PA_Save.h

PA_Save.h

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 

Généré le Fri Oct 28 23:18:13 2005 pour PA_lib par  doxygen 1.3.9.1
@ 1.1.1.1 log @Initial import of PalibDoc, begin on PAlib0.64b @ text @@