aboutsummaryrefslogtreecommitdiff
path: root/core.c
diff options
context:
space:
mode:
authorHairo2025-05-13 22:26:28 -0400
committerneonloop2025-05-14 15:08:41 +0000
commit16290853978c5c2c174e4dae7e8d341b05716fd1 (patch)
treed1b47ae7b18054f1f76ddb63de65d6d2bb367df2 /core.c
parent37b61b250508f5afbae4195649841b33a5cd8a3e (diff)
downloadpicoarch-main.tar.gz
picoarch-main.tar.bz2
picoarch-main.zip
Option to use .srm or .sav for SRAM file.HEADmain
Diffstat (limited to 'core.c')
-rw-r--r--core.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/core.c b/core.c
index 2521b9a..2a1cf5b 100644
--- a/core.c
+++ b/core.c
@@ -68,8 +68,12 @@ void sram_write(void) {
if (!sram_size) {
return;
}
-
- content_based_name(content, filename, MAX_PATH, save_dir, NULL, ".sav");
+
+ if (use_srm == 1) {
+ content_based_name(content, filename, MAX_PATH, save_dir, NULL, ".srm");
+ } else {
+ content_based_name(content, filename, MAX_PATH, save_dir, NULL, ".sav");
+ }
sram_file = fopen(filename, "w");
if (!sram_file) {
@@ -98,7 +102,23 @@ void sram_read(void) {
return;
}
- content_based_name(content, filename, MAX_PATH, save_dir, NULL, ".sav");
+ if (use_srm == 1) {
+ content_based_name(content, filename, MAX_PATH, save_dir, NULL, ".srm");
+
+ sram_file = fopen(filename, "r");
+ if (!sram_file) {
+ memset(filename, 0, sizeof(filename));
+ content_based_name(content, filename, MAX_PATH, save_dir, NULL, ".sav");
+ }
+ } else {
+ content_based_name(content, filename, MAX_PATH, save_dir, NULL, ".sav");
+
+ sram_file = fopen(filename, "r");
+ if (!sram_file) {
+ memset(filename, 0, sizeof(filename));
+ content_based_name(content, filename, MAX_PATH, save_dir, NULL, ".srm");
+ }
+ }
sram_file = fopen(filename, "r");
if (!sram_file) {