diff --git a/Cart_Reader/Cart_Reader.ino b/Cart_Reader/Cart_Reader.ino index 61820a9..6e42ec0 100644 --- a/Cart_Reader/Cart_Reader.ino +++ b/Cart_Reader/Cart_Reader.ino @@ -40,7 +40,7 @@ And a special Thank You to all coders and contributors on Github and the Arduino forum: jiyunomegami, splash5, Kreeblah, ramapcsx2, PsyK0p4T, Dakkaron, majorpbx, Pickle, sdhizumi, Uzlopak, sakman55, Tombo89, scrap-a, borti4938, vogelfreiheit, CaitSith2, Modman, - philenotfound, karimhadjsalem, nsx0r, ducky92, niklasweber, lesserkuma + philenotfound, karimhadjsalem, nsx0r, ducky92, niklasweber, Lesserkuma And to nocash for figuring out the secrets of the SFC Nintendo Power cartridge. diff --git a/Cart_Reader/GB.ino b/Cart_Reader/GB.ino index 072346f..3033bd4 100644 --- a/Cart_Reader/GB.ino +++ b/Cart_Reader/GB.ino @@ -463,6 +463,10 @@ void showCartInfo_GB() { case 7: print_Msg(F("4MB")); break; + + case 8: + print_Msg(F("8MB")); + break; } println_Msg(F("")); @@ -751,6 +755,9 @@ void getCartInfo_GB() { case 0x07: romBanks = 256; break; + case 0x08: + romBanks = 512; + break; default: romBanks = 2; } @@ -919,7 +926,10 @@ void readROM_GB() { } } else { - writeByte_GB(0x2100, currBank); + if ((romType >= 0x19 && romType <= 0x1E) && (currBank == 0 || currBank == 256)) { + writeByte_GB(0x3000, (currBank >> 8) & 0xFF); + } + writeByte_GB(0x2100, currBank & 0xFF); } } // Set ROM bank for MBC1