New Mameox 0.79 Par Yoshihiro


Yoshihiro
 Share

Messages recommandés

a docky c le Virtual Memory Manager mais ça sert a rien tout le mon je panche dessus c pas ça quil faut re toucher c le FileIO j'ai trouver des truc intérressent dans surreal64 qui vons aidé a le retoucher docky regarde t'é mail :rolleyes:

Exemple Mameox memoire Cache:// The file will be cached to the utility drive

CStdString strCacheFilePath;

strCacheFilePath.Format("Z:\\%s", filename);

lecture et Ecriture de la memoire de la rom Mameox :

/*************************************************************

mame_fread

**************************************************************/

UINT32 mame_fread(mame_file *file, void *buffer, UINT32 length)

{

/* switch off the file type */

switch (file->type)

{

case PLAIN_FILE:

return osd_fread(file->file, buffer, length);

case ZIPPED_FILE:

case RAM_FILE:

if (file->data)

{

if (file->offset + length > file->length)

{

length = file->length - file->offset;

file->eof = 1;

}

memcpy(buffer, file->data + file->offset, length);

file->offset += length;

return length;

}

break;

}

return 0;

}

/****************************************************************

mame_fwrite

*****************************************************************/

UINT32 mame_fwrite(mame_file *file, const void *buffer, UINT32 length)

{

/* switch off the file type */

switch (file->type)

{

case PLAIN_FILE:

return osd_fwrite(file->file, buffer, length);

}

return 0;

}

Exemple ecriture et lecture de la memoire vituel de l emule N64 :

*

=================================================

*/

void FileIO_WriteFLASHRAM(int FileOffset, int MemOffset, int len)

{

/*~~~~~~~~~~~~~~*/

char temp[256];

/*~~~~~~~~~~~~~~*/

if ((currentromoptions.Save_Type == ANYUSED_SAVETYPE) ||

(currentromoptions.Save_Type == SRAM_SAVETYPE))

GetFileName(temp, "sra");

else

GetFileName(temp, "fla");

if( hFlashRam == NULL )

hFlashRam = CreateFile(temp,GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ,NULL,OPEN_ALWAYS,

FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS, NULL);

TRACE1("Save Flashram to file: %s", temp);

if ((currentromoptions.Save_Type == ANYUSED_SAVETYPE) ||

(currentromoptions.Save_Type == SRAM_SAVETYPE))

{

DWORD dwWritten;

SetFilePointer(hFlashRam,FileOffset&(SRAM_SIZE-1),NULL,FILE_BEGIN);

WriteFile(hFlashRam, gMS_RDRAM+(MemOffset&0x007FFFFF), len, &dwWritten, 0);

}

else

{

DWORD dwWritten;

SetFilePointer(hFlashRam,0,NULL,FILE_BEGIN);

WriteFile(hFlashRam, pLOAD_UBYTE_PARAM_2(0xA8000000), 1024 * 128, &dwWritten, 0);

}

}

/*

====================================================

void FileIO_ReadFLASHRAM(int FileOffset, int MemOffset, int len)

{

/*~~~~~~~~~~~~~~*/

char temp[256];

/*~~~~~~~~~~~~~~*/

if ((currentromoptions.Save_Type == ANYUSED_SAVETYPE) ||

(currentromoptions.Save_Type == SRAM_SAVETYPE))

{

GetFileName(temp, "sra");

}

else

{

GetFileName(temp, "fla");

}

if(hFlashRam == NULL)

{

hFlashRam = CreateFile(temp,GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ,NULL,OPEN_ALWAYS,

FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS, NULL);

}

TRACE1("Load Flashram from file: %s", temp);

if ((currentromoptions.Save_Type == ANYUSED_SAVETYPE) ||

(currentromoptions.Save_Type == SRAM_SAVETYPE))

{

DWORD dwWritten;

SetFilePointer(hFlashRam,FileOffset&(SRAM_SIZE-1),NULL,FILE_BEGIN);

ReadFile(hFlashRam, gMS_RDRAM+(MemOffset&0x007FFFFF), len, &dwWritten, 0);

}

else

{

DWORD dwWritten;

SetFilePointer(hFlashRam,0,NULL,FILE_BEGIN);

ReadFile(hFlashRam, pLOAD_UBYTE_PARAM_2(0xA8000000), 1024 * 128, &dwWritten, 0);

}

}

extern int StateFileNumber;

/*

=====================================================

*/

Amicalement Yoshihiro

Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share