From: Twinaphex Date: Wed, 5 Oct 2016 01:30:47 +0000 (+0200) Subject: Merge pull request #39 from lentillog/bug/sram-crash X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12ae851364c2c13b983f16149d692938132516c9;hp=6c991e7ced6e893064dafbe7bd64b98c978f6195;p=picodrive.git Merge pull request #39 from lentillog/bug/sram-crash Fixed crash on loading sram game after a game with no sram --- diff --git a/platform/libretro/libretro.c b/platform/libretro/libretro.c index 4636361..5f326da 100644 --- a/platform/libretro/libretro.c +++ b/platform/libretro/libretro.c @@ -877,6 +877,22 @@ static const char *find_bios(int *region, const char *cd_fname) return NULL; } +static void sram_reset() +{ + SRam.data = NULL; + SRam.start = 0; + SRam.end = 0; + SRam.flags = '\0'; + SRam.unused2 = '\0'; + SRam.changed = '\0' ; + SRam.eeprom_type = '\0'; + SRam.unused3 = '\0'; + SRam.eeprom_bit_cl = '\0'; + SRam.eeprom_bit_in = '\0'; + SRam.eeprom_bit_out = '\0'; + SRam.size = 0; +} + bool retro_load_game(const struct retro_game_info *info) { enum media_type_e media_type; @@ -933,6 +949,8 @@ bool retro_load_game(const struct retro_game_info *info) { 0 }, }; + sram_reset(); + enum retro_pixel_format fmt = RETRO_PIXEL_FORMAT_RGB565; if (!environ_cb(RETRO_ENVIRONMENT_SET_PIXEL_FORMAT, &fmt)) { if (log_cb)