From 487c54f0accad7f4bc8c16ad2e13928c3bfb2762 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Fri, 22 Jan 2016 20:25:28 -0800 Subject: [PATCH] SDL: GB saving working --- src/platform/sdl/main.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/platform/sdl/main.c b/src/platform/sdl/main.c index b4c8263d5..6b70ac34a 100644 --- a/src/platform/sdl/main.c +++ b/src/platform/sdl/main.c @@ -277,7 +277,18 @@ int mSDLRunGB(struct mSDLRenderer* renderer, struct GBAArguments* args) { GBVideoAssociateRenderer(&gb.video, &renderer->gb.d); struct VFile* vf = VFileOpen(args->fname, O_RDONLY); - GBLoadROM(&gb, vf, 0, args->fname); + struct VFile* savVf = 0; + + { + char savepath[PATH_MAX]; + char dirname[PATH_MAX]; + char basename[PATH_MAX]; + separatePath(args->fname, dirname, basename, 0); + snprintf(savepath, sizeof(savepath), "%s" PATH_SEP "%s.sav", dirname, basename); + savVf = VFileOpen(savepath, O_RDWR | O_CREAT); + } + + GBLoadROM(&gb, vf, savVf, args->fname); LR35902Reset(&cpu); renderer->runloop(renderer, &gb);