From 383acdaf0118f54a8a1f2d54b2a0ba4e1d620ae4 Mon Sep 17 00:00:00 2001 From: dborth Date: Sat, 13 Jun 2009 01:57:54 +0000 Subject: [PATCH] fix mem card write verify bug --- source/ngc/memcardop.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/ngc/memcardop.cpp b/source/ngc/memcardop.cpp index 030d340..4421a67 100644 --- a/source/ngc/memcardop.cpp +++ b/source/ngc/memcardop.cpp @@ -28,6 +28,7 @@ static u8 * SysArea = NULL; static char savecomments[2][32]; +static u8 * verifybuffer = NULL; /**************************************************************************** * MountMC @@ -153,14 +154,14 @@ static int VerifyMCFile (char *buf, int slot, char *filename, int datasize) { card_file CardFile; - unsigned char verifybuffer[65536] ATTRIBUTE_ALIGN (32); int CardError; unsigned int blocks; unsigned int SectorSize; int bytesleft = 0; int bytesread = 0; - memset (verifybuffer, 0, 65536); + verifybuffer = (u8 *)memalign(32, 262144); + memset (verifybuffer, 0, 262144); // Get Sector Size CARD_GetSectorSize (slot, &SectorSize); @@ -204,6 +205,7 @@ VerifyMCFile (char *buf, int slot, char *filename, int datasize) CARD_Close (&CardFile); CancelAction(); } + free(verifybuffer); return bytesread; }