diff --git a/Cart_Reader/FLASH.ino b/Cart_Reader/FLASH.ino index 36ae767..4e05aa6 100644 --- a/Cart_Reader/FLASH.ino +++ b/Cart_Reader/FLASH.ino @@ -2969,36 +2969,41 @@ void writeCFI_Flash(byte currChip, byte totalChips, boolean reversed) { adjustFileSize(currChip, totalChips, reversed); print_Msg(F("Writing flash")); - print_Msg(FS(FSTRING_SPACE)); - print_Msg(currChip); - print_Msg(F("/")); - print_Msg(totalChips); - print_Msg(FS(FSTRING_SPACE)); - print_Msg(FS(FSTRING_SPACE)); - print_Msg(FS(FSTRING_SPACE)); - print_Msg(FS(FSTRING_SPACE)); - switch (myFile.curPosition() / 1024 / 1024UL) { - case 0: - println_Msg(F("[A]BCD")); - break; + // For file offset indicator SNES repros with multiple chips + if ((totalChips > 1) || reversed) { + print_Msg(FS(FSTRING_SPACE)); + print_Msg(currChip); + print_Msg(F("/")); + print_Msg(totalChips); + print_Msg(FS(FSTRING_SPACE)); + print_Msg(FS(FSTRING_SPACE)); + print_Msg(FS(FSTRING_SPACE)); + print_Msg(FS(FSTRING_SPACE)); - case 2: - println_Msg(F("A[B]CD")); - break; + switch (myFile.curPosition() / 1024 / 1024UL) { + case 0: + println_Msg(F("[A]BCD")); + break; - case 4: - println_Msg(F("AB[C]D")); - break; + case 2: + println_Msg(F("A[B]CD")); + break; - case 6: - println_Msg(F("ABC[D]")); - break; + case 4: + println_Msg(F("AB[C]D")); + break; - default: - println_Msg(FS(FSTRING_SPACE)); - break; - } + case 6: + println_Msg(F("ABC[D]")); + break; + + default: + println_Msg(FS(FSTRING_SPACE)); + break; + } + } else + print_Msg(F("...")); display_Update(); //Initialize progress bar