diff --git a/libretro/libretro.c b/libretro/libretro.c index 6f666ce..030ea62 100644 --- a/libretro/libretro.c +++ b/libretro/libretro.c @@ -539,19 +539,19 @@ static void config_default(void) static void bram_load(void) { - FILE *fp; + RFILE *fp; /* automatically load internal backup RAM */ switch (region_code) { case REGION_JAPAN_NTSC: - fp = fopen(CD_BRAM_JP, "rb"); + fp = filestream_open(CD_BRAM_JP, RFILE_MODE_READ, -1); break; case REGION_EUROPE: - fp = fopen(CD_BRAM_EU, "rb"); + fp = filestream_open(CD_BRAM_EU, RFILE_MODE_READ, -1); break; case REGION_USA: - fp = fopen(CD_BRAM_US, "rb"); + fp = filestream_open(CD_BRAM_US, RFILE_MODE_READ, -1); break; default: return; @@ -559,8 +559,8 @@ static void bram_load(void) if (fp != NULL) { - fread(scd.bram, 0x2000, 1, fp); - fclose(fp); + filestream_read(fp, scd.bram, 0x2000); + filestream_close(fp); /* update CRC */ brm_crc[0] = crc32(0, scd.bram, 0x2000); @@ -591,7 +591,7 @@ static void bram_load(void) /* automatically load cartridge backup RAM (if enabled) */ if (scd.cartridge.id) { - fp = fopen(CART_BRAM, "rb"); + fp = filestream_open(CART_BRAM, RFILE_MODE_READ, -1); if (fp != NULL) { int filesize = scd.cartridge.mask + 1; @@ -600,7 +600,7 @@ static void bram_load(void) /* Read into buffer (2k blocks) */ while (filesize > CHUNKSIZE) { - fread(scd.cartridge.area + done, CHUNKSIZE, 1, fp); + filestream_read(fp, scd.cartridge.area + done, CHUNKSIZE); done += CHUNKSIZE; filesize -= CHUNKSIZE; } @@ -608,11 +608,11 @@ static void bram_load(void) /* Read remaining bytes */ if (filesize) { - fread(scd.cartridge.area + done, filesize, 1, fp); + filestream_read(fp, scd.cartridge.area + done, filesize); } /* close file */ - fclose(fp); + filestream_close(fp); /* update CRC */ brm_crc[1] = crc32(0, scd.cartridge.area, scd.cartridge.mask + 1); @@ -636,7 +636,7 @@ static void bram_load(void) static void bram_save(void) { - FILE *fp; + RFILE *fp; /* verify that internal backup RAM has been modified */ if (crc32(0, scd.bram, 0x2000) != brm_crc[0]) @@ -647,13 +647,13 @@ static void bram_save(void) switch (region_code) { case REGION_JAPAN_NTSC: - fp = fopen(CD_BRAM_JP, "wb"); + fp = filestream_open(CD_BRAM_JP, RFILE_MODE_WRITE, -1); break; case REGION_EUROPE: - fp = fopen(CD_BRAM_EU, "wb"); + fp = filestream_open(CD_BRAM_EU, RFILE_MODE_WRITE, -1); break; case REGION_USA: - fp = fopen(CD_BRAM_US, "wb"); + fp = filestream_open(CD_BRAM_US, RFILE_MODE_WRITE, -1); break; default: return; @@ -661,8 +661,8 @@ static void bram_save(void) if (fp != NULL) { - fwrite(scd.bram, 0x2000, 1, fp); - fclose(fp); + filestream_write(fp, scd.bram, 0x2000); + filestream_close(fp); /* update CRC */ brm_crc[0] = crc32(0, scd.bram, 0x2000); @@ -676,7 +676,7 @@ static void bram_save(void) /* check if it is correctly formatted before saving */ if (!memcmp(scd.cartridge.area + scd.cartridge.mask + 1 - 0x20, brm_format + 0x20, 0x20)) { - fp = fopen(CART_BRAM, "wb"); + fp = filestream_open(CART_BRAM, RFILE_MODE_WRITE, -1); if (fp != NULL) { int filesize = scd.cartridge.mask + 1; @@ -685,7 +685,7 @@ static void bram_save(void) /* Write to file (2k blocks) */ while (filesize > CHUNKSIZE) { - fwrite(scd.cartridge.area + done, CHUNKSIZE, 1, fp); + filestream_write(fp, scd.cartridge.area + done, CHUNKSIZE); done += CHUNKSIZE; filesize -= CHUNKSIZE; } @@ -693,11 +693,11 @@ static void bram_save(void) /* Write remaining bytes */ if (filesize) { - fwrite(scd.cartridge.area + done, filesize, 1, fp); + filestream_write(fp, scd.cartridge.area + done, filesize); } /* Close file */ - fclose(fp); + filestream_close(fp); /* update CRC */ brm_crc[1] = crc32(0, scd.cartridge.area, scd.cartridge.mask + 1);