diff options
31 files changed, 82 insertions, 450 deletions
diff --git a/Cart_Reader/2600.ino b/Cart_Reader/2600.ino index d865730..dcf412e 100644 --- a/Cart_Reader/2600.ino +++ b/Cart_Reader/2600.ino @@ -296,14 +296,7 @@ boolean checkE7(uint16_t bank) { } void readROM_2600() { - strcpy(fileName, romName); - strcat(fileName, ".a26"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "ATARI/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("ATARI", "ROM", romName, "a26"); display_Clear(); print_Msg(F("Saving to ")); diff --git a/Cart_Reader/5200.ino b/Cart_Reader/5200.ino index d1c743d..2eee63d 100644 --- a/Cart_Reader/5200.ino +++ b/Cart_Reader/5200.ino @@ -216,14 +216,7 @@ void readSegment_5200(uint16_t startaddr, uint16_t endaddr) { //****************************************** void readROM_5200() { - strcpy(fileName, romName); - strcat(fileName, ".a52"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "5200/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("5200", "ROM", romName, "a52"); display_Clear(); print_STR(saving_to_STR, 0); diff --git a/Cart_Reader/7800.ino b/Cart_Reader/7800.ino index 24bd543..fafcbf5 100644 --- a/Cart_Reader/7800.ino +++ b/Cart_Reader/7800.ino @@ -342,14 +342,7 @@ void bankSwitch_7800(uint16_t addr) { //****************************************** void readROM_7800() { - strcpy(fileName, romName); - strcat(fileName, ".a78"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "7800/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("7800", "ROM", romName, "a78"); display_Clear(); print_STR(saving_to_STR, 0); diff --git a/Cart_Reader/ARC.ino b/Cart_Reader/ARC.ino index ed5a007..d049a4a 100644 --- a/Cart_Reader/ARC.ino +++ b/Cart_Reader/ARC.ino @@ -150,14 +150,7 @@ void readSegment_ARC(uint16_t startaddr, uint16_t endaddr) { } void readROM_ARC() { - strcpy(fileName, romName); - strcat(fileName, ".bin"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "ARC/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("ARC", "ROM", romName, "bin"); display_Clear(); print_Msg(F("Saving to ")); diff --git a/Cart_Reader/C64.ino b/Cart_Reader/C64.ino index 90b0907..b55f0da 100644 --- a/Cart_Reader/C64.ino +++ b/Cart_Reader/C64.ino @@ -364,14 +364,7 @@ void readPorts_C64() { // GAME HIGH/EXROM LOW: ROML = $8000 void readROM_C64() { - strcpy(fileName, romName); - strcat(fileName, ".bin"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "C64/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("C64", "ROM", romName, "bin"); display_Clear(); print_STR(saving_to_STR, 0); diff --git a/Cart_Reader/COLV.ino b/Cart_Reader/COLV.ino index 201e081..2673f99 100644 --- a/Cart_Reader/COLV.ino +++ b/Cart_Reader/COLV.ino @@ -162,15 +162,7 @@ void readSegment_COL(uint32_t startaddr, uint32_t endaddr) { } void readROM_COL() { - strcpy(fileName, romName); - strcat(fileName, ".col"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - // sprintf(folder, "COL/ROM/%s/%d", romName, foldern); - sprintf(folder, "COL/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("COL", "ROM", romName, "col"); display_Clear(); print_STR(saving_to_STR, 0); diff --git a/Cart_Reader/Cart_Reader.ino b/Cart_Reader/Cart_Reader.ino index a441156..1f49c7e 100644 --- a/Cart_Reader/Cart_Reader.ino +++ b/Cart_Reader/Cart_Reader.ino @@ -668,6 +668,16 @@ int int_pow(int base, int exp) { // Power for int }
#endif
+void createFolder(const char* system, const char* subfolder, const char* gameName, const char* fileSuffix) {
+ snprintf(fileName, FILENAME_LENGTH, "%s.%s", gameName, fileSuffix);
+
+ // create a new folder for the rom file
+ EEPROM_readAnything(0, foldern);
+ sprintf(folder, "%s/%s/%s/%d", system, subfolder, gameName, foldern);
+ sd.mkdir(folder, true);
+ sd.chdir(folder);
+}
+
// move file pointer to first game line with matching letter. If no match is found the last database entry is selected
void seek_first_letter_in_database(FsFile& database, byte myLetter) {
char gamename_str[3];
diff --git a/Cart_Reader/FAIRCHILD.ino b/Cart_Reader/FAIRCHILD.ino index d939bba..d7d8659 100644 --- a/Cart_Reader/FAIRCHILD.ino +++ b/Cart_Reader/FAIRCHILD.ino @@ -392,14 +392,7 @@ uint8_t readData_FAIRCHILD() { } void readROM_FAIRCHILD() { - strcpy(fileName, romName); - strcat(fileName, ".bin"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "FAIRCHILD/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("FAIRCHILD", "ROM", romName, "bin"); display_Clear(); print_Msg(F("Saving to ")); @@ -479,16 +472,8 @@ void readROM_FAIRCHILD() { wait(); } -void read16K_FAIRCHILD() // Read 16K Bytes -{ - strcpy(fileName, romName); - strcat(fileName, ".bin"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "FAIRCHILD/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); +void read16K_FAIRCHILD() { // Read 16K Bytes + createFolder("FAIRCHILD", "ROM", romName, "bin"); display_Clear(); print_Msg(F("Saving to ")); diff --git a/Cart_Reader/GB.ino b/Cart_Reader/GB.ino index 2e7d072..3922147 100644 --- a/Cart_Reader/GB.ino +++ b/Cart_Reader/GB.ino @@ -996,7 +996,7 @@ void getCartInfo_GB() { // ROM banks romBanks = 2; - if(romSize >= 0x01 && romSize <= 0x08) { + if (romSize >= 0x01 && romSize <= 0x08) { romBanks = int_pow(2, romSize + 1); } @@ -1107,14 +1107,7 @@ void getCartInfo_GB() { // Read ROM void readROM_GB() { // Get name, add extension and convert to char array for sd lib - strcpy(fileName, romName); - strcat(fileName, ".GB"); - - // create a new folder for the rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "GB/ROM/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("GB", "ROM", romName, "gb"); display_Clear(); print_STR(saving_to_STR, 0); @@ -1322,14 +1315,7 @@ void readSRAM_GB() { if (lastByte > 0) { // Get name, add extension and convert to char array for sd lib - strcpy(fileName, romName); - strcat(fileName, ".sav"); - - // create a new folder for the save file - EEPROM_readAnything(0, foldern); - sprintf(folder, "GB/SAVE/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("GB", "SAVE", romName, "sav"); // write new folder number back to eeprom foldern = foldern + 1; @@ -1476,14 +1462,7 @@ unsigned long verifySRAM_GB() { // Read SRAM + FLASH save data of MBC6 void readSRAMFLASH_MBC6_GB() { // Get name, add extension and convert to char array for sd lib - strcpy(fileName, romName); - strcat(fileName, ".sav"); - - // create a new folder for the save file - EEPROM_readAnything(0, foldern); - sprintf(folder, "GB/SAVE/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("GB", "SAVE", romName, "sav"); display_Clear(); print_STR(saving_to_STR, 0); @@ -1711,14 +1690,7 @@ void writeSRAMFLASH_MBC6_GB() { void readEEPROM_MBC7_GB() { // Get name, add extension and convert to char array for sd lib - strcpy(fileName, romName); - strcat(fileName, ".sav"); - - // create a new folder for the save file - EEPROM_readAnything(0, foldern); - sprintf(folder, "GB/SAVE/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("GB", "SAVE", romName, "sav"); // write new folder number back to eeprom foldern = foldern + 1; @@ -1932,7 +1904,7 @@ void writeFlash29F_GB(byte MBC, boolean flashErase) { // ROM banks romBanks = 2; - if(romSize >= 0x01 && romSize <= 0x07) { + if (romSize >= 0x01 && romSize <= 0x07) { romBanks = int_pow(2, romSize + 1); } @@ -2354,7 +2326,7 @@ bool writeCFI_GB() { // ROM banks romBanks = 2; - if(romSize >= 0x01 && romSize <= 0x07) { + if (romSize >= 0x01 && romSize <= 0x07) { romBanks = int_pow(2, romSize + 1); } @@ -2568,14 +2540,7 @@ bool writeCFI_GB() { // Read Pelican GBC Device - All Brainboys, MonsterBrains, Codebreakers void readPelican_GB() { // Get name, add extension and convert to char array for sd lib - strcpy(fileName, "Pelican"); - strcat(fileName, ".GB"); - - // create a new folder for the rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "GB/ROM/Pelican/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("GB", "ROM", "Pelican", "GB"); display_Clear(); print_STR(saving_to_STR, 0); @@ -3027,14 +2992,7 @@ bool isToggle(byte byte1, byte byte2) { // Read Mega Memory Card Rom and Save Backup Data void readMegaMem_GB() { // Dump the Rom - strcpy(fileName, "Rom"); - strcat(fileName, ".GB"); - - // create a new folder for the rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "GB/ROM/MegaMem/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("GB", "ROM", "MegaMem", "GB"); display_Clear(); print_STR(saving_to_STR, 0); @@ -3349,10 +3307,6 @@ void writeMegaMem_GB() { ***************************************************/ // Read Datel GBC Gameshark Device void readGameshark_GB() { - // Get name, add extension and convert to char array for sd lib - strcpy(fileName, "Gameshark"); - strcat(fileName, ".GB"); - word finalAddress = 0x5FFF; word startAddress = 0x4000; word bankAddress = 0x7FE1; @@ -3401,11 +3355,8 @@ void readGameshark_GB() { mainMenu(); } - // create a new folder for the rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "GB/ROM/Gameshark/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + // Get name, add extension and convert to char array for sd lib + createFolder("GB", "ROM", "Gameshark", "GB"); print_STR(saving_to_STR, 0); print_Msg(folder); diff --git a/Cart_Reader/GBA.ino b/Cart_Reader/GBA.ino index 8745175..cca63a7 100644 --- a/Cart_Reader/GBA.ino +++ b/Cart_Reader/GBA.ino @@ -821,14 +821,7 @@ void getCartInfo_GBA() { // Dump ROM
void readROM_GBA() {
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".gba");
-
- // create a new folder for the rom file
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "GBA/ROM/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("GBA", "ROM", romName, "gba");
//clear the screen
display_Clear();
@@ -935,14 +928,7 @@ boolean compare_checksum_GBA() { void readSRAM_GBA(boolean browseFile, uint32_t sramSize, uint32_t pos) {
if (browseFile) {
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".srm");
-
- // create a new folder for the save file
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "GBA/SAVE/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("GBA", "SAVE", romName, "srm");
// Save location
print_STR(saving_to_STR, 0);
@@ -1076,14 +1062,7 @@ void readFRAM_GBA(unsigned long framSize) { PORTH &= ~((1 << 0) | (1 << 6));
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".srm");
-
- // create a new folder for the save file
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "GBA/SAVE/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("GBA", "SAVE", romName, "srm");
// Save location
print_STR(saving_to_STR, 0);
@@ -1480,15 +1459,7 @@ void readFLASH_GBA(boolean browseFile, uint32_t flashSize, uint32_t pos) { if (browseFile) {
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".fla");
-
- // create a new folder for the save file
- EEPROM_readAnything(0, foldern);
-
- sprintf(folder, "GBA/SAVE/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("GBA", "SAVE", romName, "fla");
// Save location
print_STR(saving_to_STR, 0);
@@ -1724,15 +1695,7 @@ void writeEeprom_GBA(word eepSize) { // Read eeprom to file
void readEeprom_GBA(word eepSize) {
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".eep");
-
- // create a new folder for the save file
- EEPROM_readAnything(0, foldern);
-
- sprintf(folder, "GBA/SAVE/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("GBA", "SAVE", romName, "eep");
// Save location
print_STR(saving_to_STR, 0);
diff --git a/Cart_Reader/GPC.ino b/Cart_Reader/GPC.ino index 561345a..612ee34 100644 --- a/Cart_Reader/GPC.ino +++ b/Cart_Reader/GPC.ino @@ -268,13 +268,7 @@ void readRAM_GPC() { controlIn_SNES(); // Get name, add extension and convert to char array for sd lib - strcpy(fileName, "GPC4M.sfc"); - - // create a new folder for the save file - EEPROM_readAnything(0, foldern); - sprintf(folder, "SNES/ROM/%s/%d", "GPC4M", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("SNES", "ROM", "GPC4M", "sfc"); //clear the screen display_Clear(); diff --git a/Cart_Reader/INTV.ino b/Cart_Reader/INTV.ino index 383f272..047ae3b 100644 --- a/Cart_Reader/INTV.ino +++ b/Cart_Reader/INTV.ino @@ -303,14 +303,7 @@ void readSegment_INTV(uint32_t startaddr, uint32_t endaddr) { // MODIFIED READ ROUTINE FOR ALL 10 MAPPERS void readROM_INTV() { - strcpy(fileName, romName); - strcat(fileName, ".int"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "INTV/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("INTV", "ROM", romName, "int"); display_Clear(); print_STR(saving_to_STR, 0); diff --git a/Cart_Reader/LOOPY.ino b/Cart_Reader/LOOPY.ino index 20c056c..a33d323 100644 --- a/Cart_Reader/LOOPY.ino +++ b/Cart_Reader/LOOPY.ino @@ -522,12 +522,7 @@ void getCartInfo_LOOPY() { void readROM_LOOPY() { dataIn_LOOPY(); - sprintf(fileName, "%s.bin", romName); - - EEPROM_readAnything(0, foldern); - sprintf(folder, "LOOPY/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("LOOPY", "ROM", romName, "bin"); display_Clear(); print_STR(saving_to_STR, 0); @@ -657,12 +652,7 @@ void formatSRAM_LOOPY() { void readSRAM_LOOPY() { dataIn_LOOPY(); - sprintf(fileName, "%s.sav", romName); - - EEPROM_readAnything(0, foldern); - sprintf(folder, "LOOPY/SAVE/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("LOOPY", "SAVE", romName, "sav"); foldern = foldern + 1; EEPROM_writeAnything(0, foldern); diff --git a/Cart_Reader/MD.ino b/Cart_Reader/MD.ino index ef74cb1..2ee271b 100644 --- a/Cart_Reader/MD.ino +++ b/Cart_Reader/MD.ino @@ -1424,14 +1424,7 @@ void readROM_MD() { dataIn_MD();
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".BIN");
-
- // create a new folder
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "MD/ROM/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("MD", "ROM", romName, "BIN");
display_Clear();
print_STR(saving_to_STR, 0);
@@ -1853,14 +1846,7 @@ void readSram_MD() { dataIn_MD();
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".srm");
-
- // create a new folder for the save file
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "MD/SAVE/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("MD", "SAVE", romName, "srm");
// write new folder number back to eeprom
foldern = foldern + 1;
@@ -2714,15 +2700,7 @@ void readEEP_MD() { dataIn_MD();
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".eep");
-
- // create a new folder for the save file
- EEPROM_readAnything(0, foldern);
- sd.chdir();
- sprintf(folder, "MD/SAVE/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("MD", "SAVE", romName, "eep");
// write new folder number back to eeprom
foldern = foldern + 1;
@@ -2814,14 +2792,7 @@ void readBram_MD() { dataIn_MD();
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, "Cart.brm");
-
- // create a new folder for the save file
- EEPROM_readAnything(0, foldern);
- sd.chdir();
- sprintf(folder, "MD/RAM/%d", foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("MD", "RAM", "Cart", "brm");
// write new folder number back to eeprom
foldern = foldern + 1;
@@ -2909,14 +2880,7 @@ void readRealtec_MD() { dataIn_MD();
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".MD");
-
- // create a new folder
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "MD/ROM/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("MD", "ROM", romName, "MD");
display_Clear();
print_STR(saving_to_STR, 0);
diff --git a/Cart_Reader/MSX.ino b/Cart_Reader/MSX.ino index b9647f4..0b65464 100644 --- a/Cart_Reader/MSX.ino +++ b/Cart_Reader/MSX.ino @@ -343,14 +343,7 @@ void readROM_MSX() { println_Msg(F("ROM SIZE 0K")); display_Update(); } else { - strcpy(fileName, romName); - strcat(fileName, ".bin"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "MSX/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("MSX", "ROM", romName, "bin"); display_Clear(); print_STR(saving_to_STR, 0); diff --git a/Cart_Reader/N64.ino b/Cart_Reader/N64.ino index d9380f7..280f788 100644 --- a/Cart_Reader/N64.ino +++ b/Cart_Reader/N64.ino @@ -2412,21 +2412,16 @@ void readSram(unsigned long sramSize, byte flashramType) { }
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
+ const char* suffix;
if (saveType == 4) {
- strcat(fileName, ".fla");
+ suffix = "fla";
} else if (saveType == 1) {
- strcat(fileName, ".sra");
+ suffix = "sra";
} else {
print_FatalError(F("Savetype Error"));
}
-
- // create a new folder for the save file
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "N64/SAVE/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("N64", "SAVE", romName, suffix);
// write new folder number back to eeprom
foldern = foldern + 1;
@@ -2821,14 +2816,7 @@ void getFramType() { // dumping rom slow
void readRom_N64() {
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".Z64");
-
- // create a new folder
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "N64/ROM/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("N64", "ROM", romName, "Z64");
// clear the screen
// display_Clear();
@@ -2876,14 +2864,7 @@ void readRom_N64() { // dumping rom fast
uint32_t readRom_N64() {
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".Z64");
-
- // create a new folder
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "N64/ROM/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("N64", "ROM", romName, "Z64");
// clear the screen
// display_Clear();
diff --git a/Cart_Reader/NES.ino b/Cart_Reader/NES.ino index e88c460..cffbbfe 100644 --- a/Cart_Reader/NES.ino +++ b/Cart_Reader/NES.ino @@ -709,15 +709,8 @@ bool selectMapping(FsFile& database) { } void read_NES(const char* fileSuffix, const byte* header, const uint8_t headersize, const boolean renamerom) { - // Get name, add extension and convert to char array for sd lib - strcpy(fileName, romName); - strcat(fileName, fileSuffix); - - // create a new folder - EEPROM_readAnything(0, foldern); - sprintf(folder, "NES/ROM/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + // Get name, add extension and convert to char array for sd lib + createFolder("NES", "ROM", romName, fileSuffix); display_Clear(); print_STR(saving_to_STR, 0); @@ -770,11 +763,11 @@ void read_NES(const char* fileSuffix, const byte* header, const uint8_t headersi } void readRom_NES() { - read_NES(".nes", iNES_HEADER, 16, true); + read_NES("nes", iNES_HEADER, 16, true); } void readRaw_NES() { - read_NES(".bin", NULL, 0, false); + read_NES("bin", NULL, 0, false); } /****************************************** diff --git a/Cart_Reader/NGP.ino b/Cart_Reader/NGP.ino index 0a9c323..ecbbbb6 100644 --- a/Cart_Reader/NGP.ino +++ b/Cart_Reader/NGP.ino @@ -208,13 +208,7 @@ void readROM_NGP(char* outPathBuf, size_t bufferSize) { changeSize_NGP(); // generate fullname of rom file - snprintf(fileName, FILENAME_LENGTH, "%s.ngp", romName); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - snprintf(folder, sizeof(folder), "NGP/ROM/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("NGP", "ROM", romName, "ngp"); // filling output file path to buffer if (outPathBuf != NULL && bufferSize > 0) @@ -263,13 +257,7 @@ void scanChip_NGP() { display_Clear(); // generate name of report file - snprintf(fileName, FILENAME_LENGTH, "%s.txt", romName); - - // create a new folder to save report file - EEPROM_readAnything(0, foldern); - snprintf(folder, sizeof(folder), "NGP/ROM/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("NGP", "ROM", romName, "txt"); print_Msg(F("Saving chip report to ")); print_Msg(folder); diff --git a/Cart_Reader/ODY2.ino b/Cart_Reader/ODY2.ino index aaf7fcf..ee6c1b3 100644 --- a/Cart_Reader/ODY2.ino +++ b/Cart_Reader/ODY2.ino @@ -212,14 +212,7 @@ void bankSwitch_ODY2(uint16_t addr, uint8_t data) { } void readROM_ODY2() { - strcpy(fileName, romName); - strcat(fileName, ".bin"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "ODY2/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("ODY2", "ROM", romName, "bin"); display_Clear(); print_Msg(F("Saving to ")); diff --git a/Cart_Reader/PCE.ino b/Cart_Reader/PCE.ino index a795c1d..b4e6ba5 100644 --- a/Cart_Reader/PCE.ino +++ b/Cart_Reader/PCE.ino @@ -751,15 +751,7 @@ void read_rom_PCE(void) { println_Msg(F("KB")); // Get name, add extension and convert to char array for sd lib - strcpy(fileName, "PCEROM"); - strcat(fileName, ".pce"); - - // create a new folder for the save file - EEPROM_readAnything(0, foldern); - sd.chdir("/"); - sprintf(folder, "PCE/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("PCE", "ROM", "PCEROM", "pce"); print_Msg(F("Saving ROM to ")); print_Msg(folder); diff --git a/Cart_Reader/PCW.ino b/Cart_Reader/PCW.ino index 4eb25cc..0d330fe 100644 --- a/Cart_Reader/PCW.ino +++ b/Cart_Reader/PCW.ino @@ -425,12 +425,7 @@ void readSingleROM_PCW() { println_Msg(FS(FSTRING_EMPTY)); // Create file - strcpy(fileName, romName); - strcat(fileName, ".pcw"); - EEPROM_readAnything(0, foldern); - sprintf(folder, "PCW/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("PCW", "ROM", romName, "pcw"); print_STR(saving_to_STR, 0); print_Msg(folder); @@ -564,12 +559,7 @@ void readMultiROM_PCW() { println_Msg(FS(FSTRING_EMPTY)); // Create file - strcpy(fileName, romName); - strcat(fileName, ".pcw"); - EEPROM_readAnything(0, foldern); - sprintf(folder, "PCW/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("PCW", "ROM", romName, "pcw"); print_STR(saving_to_STR, 0); print_Msg(folder); @@ -633,13 +623,7 @@ void readMultiROM_PCW() { //****************************************** void readSRAM_PCW() { // readSRAM_1A() - strcpy(fileName, romName); - strcat(fileName, ".srm"); - - EEPROM_readAnything(0, foldern); - sprintf(folder, "PCW/SAVE/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("PCW", "SAVE", romName, "srm"); foldern = foldern + 1; EEPROM_writeAnything(0, foldern); diff --git a/Cart_Reader/POKEMINI.ino b/Cart_Reader/POKEMINI.ino index 2f95943..bf301c5 100644 --- a/Cart_Reader/POKEMINI.ino +++ b/Cart_Reader/POKEMINI.ino @@ -239,14 +239,7 @@ void writeData_POKE(uint32_t addr, uint8_t data) { //****************************************** void readROM_POKE() { - strcpy(fileName, romName); - strcat(fileName, ".min"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "POKE/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("POKE", "ROM", romName, "min"); display_Clear(); print_STR(saving_to_STR, 0); diff --git a/Cart_Reader/SFM.ino b/Cart_Reader/SFM.ino index 15cf6bc..47005b7 100644 --- a/Cart_Reader/SFM.ino +++ b/Cart_Reader/SFM.ino @@ -882,14 +882,7 @@ void readROM_SFM() { controlIn_SFM(); // Get name, add extension and convert to char array for sd lib - strcpy(fileName, romName); - strcat(fileName, ".sfc"); - - // create a new folder for the save file - EEPROM_readAnything(0, foldern); - sprintf(folder, "NP/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("NP", "ROM", romName, "sfc"); //clear the screen display_Clear(); diff --git a/Cart_Reader/SMS.ino b/Cart_Reader/SMS.ino index 86d1f16..f326e7e 100644 --- a/Cart_Reader/SMS.ino +++ b/Cart_Reader/SMS.ino @@ -550,24 +550,14 @@ void getCartInfo_SMS() { //******************************************
void readROM_SMS() {
// Get name, add extension depending on the system and convert to char array for sd lib
- EEPROM_readAnything(0, foldern);
- strcpy(fileName, romName);
if (system_sms) {
- strcat(fileName, ".sms");
- sprintf(folder, "SMS/ROM/%s/%d", romName, foldern);
+ createFolder("SMS", "ROM", romName, "sms");
} else if (system_gg) {
- strcat(fileName, ".gg");
- sprintf(folder, "GG/ROM/%s/%d", romName, foldern);
+ createFolder("GG", "ROM", romName, "gg");
} else {
- strcat(fileName, ".sg");
- sprintf(folder, "SG1000/ROM/%s/%d", romName, foldern);
+ createFolder("SG1000", "ROM", romName, "sg");
}
- // Create a new folder
- sd.chdir("/");
- sd.mkdir(folder, true);
- sd.chdir(folder);
-
display_Clear();
print_STR(saving_to_STR, 0);
print_Msg(folder);
@@ -658,20 +648,14 @@ void readROM_SMS() { ///*****************************************
void readSRAM_SMS() {
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, romName);
- strcat(fileName, ".sav");
+ const char* system;
- EEPROM_readAnything(0, foldern);
if (system_gg) {
- sprintf(folder, "GG/SAVE/%s/%d", romName, foldern);
+ system = "GG";
} else {
- sprintf(folder, "SMS/SAVE/%s/%d", romName, foldern);
+ system = "SMS";
}
-
- // Create a new folder
- sd.chdir("/");
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder(system, "SAVE", romName, "sav");
display_Clear();
print_STR(saving_to_STR, 0);
diff --git a/Cart_Reader/SNES.ino b/Cart_Reader/SNES.ino index a7c1b36..b15dfb9 100644 --- a/Cart_Reader/SNES.ino +++ b/Cart_Reader/SNES.ino @@ -1291,14 +1291,7 @@ void readROM_SNES() { controlIn_SNES(); // Get name, add extension and convert to char array for sd lib - strcpy(fileName, romName); - strcat(fileName, ".sfc"); - - // create a new folder for the save file - EEPROM_readAnything(0, foldern); - sprintf(folder, "SNES/ROM/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("SNES", "ROM", romName, "sfc"); //clear the screen display_Clear(); @@ -1657,14 +1650,7 @@ void readSRAM() { controlIn_SNES(); // Get name, add extension and convert to char array for sd lib - strcpy(fileName, romName); - strcat(fileName, ".srm"); - - // create a new folder for the save file - EEPROM_readAnything(0, foldern); - sprintf(folder, "SNES/SAVE/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("SNES", "SAVE", romName, "srm"); // write new folder number back to eeprom foldern = foldern + 1; diff --git a/Cart_Reader/ST.ino b/Cart_Reader/ST.ino index 931eb89..9285b8d 100644 --- a/Cart_Reader/ST.ino +++ b/Cart_Reader/ST.ino @@ -167,11 +167,7 @@ void readSlot(bool cartSlot) { // Read ST rom to SD card
void readRom_ST(unsigned int bankStart, unsigned int bankEnd) {
// create a new folder to save rom file
- EEPROM_readAnything(0, foldern);
- strcpy(fileName, "SUFAMI_TURBO.st");
- sprintf(folder, "ST/%s/%d", romName, foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("ST", "ROM", "SUFAMI_TURBO", "st");
display_Clear();
print_STR(saving_to_STR, 0);
diff --git a/Cart_Reader/SV.ino b/Cart_Reader/SV.ino index 95c6824..c140aaa 100644 --- a/Cart_Reader/SV.ino +++ b/Cart_Reader/SV.ino @@ -288,13 +288,7 @@ void readSRAM_SV() { controlIn_SNES();
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, "BSX.srm");
-
- // create a new folder for the save file
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "SNES/SAVE/BSX/%d", foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("SNES", "SAVE", "BSX", "srm");
// write new folder number back to eeprom
foldern = foldern + 1;
@@ -419,13 +413,7 @@ void readROM_SV() { controlIn_SNES();
// Get name, add extension and convert to char array for sd lib
- strcpy(fileName, "MEMPACK.bs");
-
- // create a new folder for the save file
- EEPROM_readAnything(0, foldern);
- sprintf(folder, "SNES/ROM/%s/%d", "MEMPACK", foldern);
- sd.mkdir(folder, true);
- sd.chdir(folder);
+ createFolder("SNES", "ROM", "MEMPACK", "bs");
//clear the screen
display_Clear();
diff --git a/Cart_Reader/VBOY.ino b/Cart_Reader/VBOY.ino index c463be9..294e216 100644 --- a/Cart_Reader/VBOY.ino +++ b/Cart_Reader/VBOY.ino @@ -410,13 +410,7 @@ void getCartInfo_VB() { void readROM_VB() { dataIn_VB(); - strcpy(fileName, romName); - strcat(fileName, ".vb"); - - EEPROM_readAnything(0, foldern); - sprintf(folder, "VBOY/ROM/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("VBOY", "ROM", romName, "vb"); display_Clear(); print_STR(saving_to_STR, 0); @@ -513,13 +507,7 @@ void writeSRAM_VB() { void readSRAM_VB() { dataIn_VB(); - strcpy(fileName, romName); - strcat(fileName, ".srm"); - - EEPROM_readAnything(0, foldern); - sprintf(folder, "VBOY/SAVE/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("VBOY", "SAVE", romName, "srm"); foldern = foldern + 1; EEPROM_writeAnything(0, foldern); diff --git a/Cart_Reader/VECTREX.ino b/Cart_Reader/VECTREX.ino index 4df8110..049592d 100644 --- a/Cart_Reader/VECTREX.ino +++ b/Cart_Reader/VECTREX.ino @@ -196,14 +196,7 @@ void readSegment_VECTREX(uint16_t startaddr, uint16_t endaddr) { //****************************************** void readROM_VECTREX() { - strcpy(fileName, romName); - strcat(fileName, ".vec"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - sprintf(folder, "VECTREX/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("VECTREX", "ROM", romName, "vec"); display_Clear(); print_STR(saving_to_STR, 0); diff --git a/Cart_Reader/WS.ino b/Cart_Reader/WS.ino index 8509e8b..921c340 100644 --- a/Cart_Reader/WS.ino +++ b/Cart_Reader/WS.ino @@ -561,13 +561,7 @@ static uint16_t readROM_WS(char *outPathBuf, size_t bufferSize) { static void readSRAM_WS() { // generate fullname of rom file - snprintf(fileName, FILENAME_LENGTH, "%s.sav", romName); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - snprintf(folder, sizeof(folder), "WS/SAVE/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("WS", "SAVE", romName, "save"); display_Clear(); print_Msg(F("Saving ")); @@ -706,13 +700,7 @@ static void writeSRAM_WS() { static void readEEPROM_WS() { // generate fullname of eep file - snprintf(fileName, FILENAME_LENGTH, "%s.eep", romName); - - // create a new folder for storing eep file - EEPROM_readAnything(0, foldern); - snprintf(folder, sizeof(folder), "WS/SAVE/%s/%d", romName, foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("WS", "SAVE", romName, "eep"); display_Clear(); print_Msg(F("Saving ")); diff --git a/Cart_Reader/WSV.ino b/Cart_Reader/WSV.ino index e4e997a..ebe3c7b 100644 --- a/Cart_Reader/WSV.ino +++ b/Cart_Reader/WSV.ino @@ -185,15 +185,7 @@ uint8_t readByte_WSV(uint32_t addr) { //****************************************** void readROM_WSV() { - strcpy(fileName, romName); - strcat(fileName, ".sv"); - - // create a new folder for storing rom file - EEPROM_readAnything(0, foldern); - //sprintf(folder, "WSV/ROM/%s/%d", romName, foldern); - sprintf(folder, "WSV/ROM/%d", foldern); - sd.mkdir(folder, true); - sd.chdir(folder); + createFolder("WSV", "ROM", romName, "sv"); display_Clear(); print_STR(saving_to_STR, 0); |