Permalink
Browse files

GBA Savedata: Fix save mtime updating when r/o

  • Loading branch information...
endrift committed May 8, 2018
1 parent cb180fe commit a4e105737c43742d3a0e52ba8582730456569488
Showing with 9 additions and 6 deletions.
  1. +1 −0 CHANGES
  2. +8 −6 src/gba/savedata.c
View
@@ -31,6 +31,7 @@ Bugfixes:
- GB Audio: Clock frame events on DIV
- GBA Timer: Fix timers sometimes being late (fixes mgba.io/i/1012)
- GBA Hardware: Fix RTC overriding light sensor (fixes mgba.io/i/1069)
+ - GBA Savedata: Fix savedata modified time updating when read-only
Misc:
- GBA Timer: Use global cycles for timers
- GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722)
View
@@ -516,12 +516,14 @@ void GBASavedataClean(struct GBASavedata* savedata, uint32_t frameCount) {
if (savedata->maskWriteback) {
GBASavedataUnmask(savedata);
}
- size_t size = GBASavedataSize(savedata);
- savedata->dirty = 0;
- if (savedata->data && savedata->vf->sync(savedata->vf, savedata->data, size)) {
- mLOG(GBA_SAVE, INFO, "Savedata synced");
- } else {
- mLOG(GBA_SAVE, INFO, "Savedata failed to sync!");
+ if (savedata->mapMode & MAP_WRITE) {
+ size_t size = GBASavedataSize(savedata);
+ savedata->dirty = 0;
+ if (savedata->data && savedata->vf->sync(savedata->vf, savedata->data, size)) {
+ mLOG(GBA_SAVE, INFO, "Savedata synced");
+ } else {
+ mLOG(GBA_SAVE, INFO, "Savedata failed to sync!");
+ }
}
}
}

0 comments on commit a4e1057

Please sign in to comment.