diff --git a/Cart_Reader/Cart_Reader.ino b/Cart_Reader/Cart_Reader.ino index 733fb2a..cf00a62 100644 --- a/Cart_Reader/Cart_Reader.ino +++ b/Cart_Reader/Cart_Reader.ino @@ -2,8 +2,8 @@ Cartridge Reader for Arduino Mega2560 Author: sanni - Date: 2017-10-01 - Version: V28H + Date: 2017-10-07 + Version: V28I SD lib: https://github.com/greiman/SdFat LCD lib: https://github.com/adafruit/Adafruit_SSD1306 @@ -34,7 +34,7 @@ YamaArashi - GBA flashrom bank switch command **********************************************************************************/ -char ver[5] = "V28H"; +char ver[5] = "V28I"; /****************************************** Define Output diff --git a/Cart_Reader/GB.ino b/Cart_Reader/GB.ino index 91fabf5..f7dd132 100644 --- a/Cart_Reader/GB.ino +++ b/Cart_Reader/GB.ino @@ -737,6 +737,13 @@ void writeFlash_GB() { println_Msg(F("/128")); display_Update(); } + else if (strcmp(flashid, "01D5") == 0) { + println_Msg(F("AM29F080B")); + print_Msg(F("Banks: ")); + print_Msg(romBanks); + println_Msg(F("/64")); + display_Update(); + } else { print_Msg(F("Flash ID: ")); println_Msg(flashid); diff --git a/Cart_Reader/GBA.ino b/Cart_Reader/GBA.ino index b8e38aa..a5ec3a6 100644 --- a/Cart_Reader/GBA.ino +++ b/Cart_Reader/GBA.ino @@ -2050,7 +2050,7 @@ void idFlashrom_GBA() { // MX29GL128E or MSP55LV128 if (strcmp(flashid, "227E") == 0) { - // MX is 0xC2 and MSP is 0x4 + // MX is 0xC2 and MSP is 0x4 or 0x1 romType = (readWord_GAB(0x0) & 0xFF); cartSize = 0x1000000; resetMX29GL128E_GBA(); @@ -2472,14 +2472,14 @@ void flashRepro_GBA() { print_Msg(F(" Size: ")); print_Msg(cartSize / 0x100000); println_Msg(F("MB")); - // MX29GL128E or MSP55LV128 + // MX29GL128E or MSP55LV128(N) if (strcmp(flashid, "227E") == 0) { - // MX is 0xC2 and MSP is 0x4 + // MX is 0xC2 and MSP55LV128 is 0x4 and MSP55LV128N 0x1 if (romType == 0xC2) { println_Msg(F("Macronix MX29GL128E")); } - else if (romType == 0x4) { - println_Msg(F("Fujitsu MSP55LV128")); + else if ((romType == 0x1) || (romType == 0x4)) { + println_Msg(F("Fujitsu MSP55LV128N")); } else { println_Msg(romType); @@ -2543,9 +2543,11 @@ void flashRepro_GBA() { println_Msg(F("Erasing...")); display_Update(); if (romType == 0xC2) { + //MX29GL128E sectorEraseMX29GL128E_GBA(); } - else if (romType == 0x4) { + else if ((romType == 0x1) || (romType == 0x4)) { + //MSP55LV128(N) sectorEraseMSP55LV128_GBA(); } //} @@ -2566,9 +2568,11 @@ void flashRepro_GBA() { } else if (strcmp(flashid, "227E") == 0) { if (romType == 0xC2) { + //MX29GL128E writeMX29GL128E_GBA(); } - else if (romType == 0x4) { + else if ((romType == 0x1) || (romType == 0x4)) { + //MSP55LV128(N) writeMSP55LV128_GBA(); } }