diff --git a/source/ngc/fceuram.c b/source/ngc/fceuram.c index a05b74c..59fdd7a 100644 --- a/source/ngc/fceuram.c +++ b/source/ngc/fceuram.c @@ -71,6 +71,13 @@ int NGCFCEU_GameSave(CartInfo *LocalHWInfo, int operation) bool SaveRAM (int method, bool silent) { + if(nesGameType == 4) + { + if(!silent) + WaitPrompt((char *)"Saving is not available for FDS games!"); + return false; + } + ShowAction ((char*) "Saving..."); if(method == METHOD_AUTO) @@ -129,6 +136,13 @@ bool SaveRAM (int method, bool silent) bool LoadRAM (int method, bool silent) { + if(nesGameType == 4) + { + if(!silent) + WaitPrompt((char *)"Saving is not available for FDS games!"); + return false; + } + ShowAction ((char*) "Loading..."); if(method == METHOD_AUTO) diff --git a/source/ngc/fceustate.c b/source/ngc/fceustate.c index f692ef2..9a50892 100644 --- a/source/ngc/fceustate.c +++ b/source/ngc/fceustate.c @@ -270,6 +270,13 @@ int GCFCEUSS_Save() bool SaveState (int method, bool silent) { + if(nesGameType == 4) + { + if(!silent) + WaitPrompt((char *)"Saving is not available for FDS games!"); + return false; + } + ShowAction ((char*) "Saving..."); if(method == METHOD_AUTO) @@ -319,6 +326,13 @@ bool SaveState (int method, bool silent) bool LoadState (int method, bool silent) { + if(nesGameType == 4) + { + if(!silent) + WaitPrompt((char *)"Saving is not available for FDS games!"); + return false; + } + ShowAction ((char*) "Loading..."); if(method == METHOD_AUTO) diff --git a/source/ngc/preferences.c b/source/ngc/preferences.c index 72b231a..7292944 100644 --- a/source/ngc/preferences.c +++ b/source/ngc/preferences.c @@ -304,7 +304,9 @@ decodePrefsData (int method) bool SavePrefs (int method, bool silent) { - if(method == METHOD_AUTO) + // there's no point in saving SMB settings TO SMB, because then we'll have no way to load them the next time! + // so instead we'll save using whatever other method is available (eg: SD) + if(method == METHOD_AUTO || method == METHOD_SMB) method = autoSaveMethod(); char filepath[1024];