Skip to content

Commit 6d89a27

Browse files
authored
Update MD.ino
Thanks to psychofox : - Fix Madden NFL 98 (USA) - More aftermarket games added
1 parent 4de1c52 commit 6d89a27

File tree

1 file changed

+73
-41
lines changed

1 file changed

+73
-41
lines changed

Cart_Reader/MD.ino

+73-41
Original file line numberDiff line numberDiff line change
@@ -752,7 +752,7 @@ void getCartInfo_MD() {
752752
id[c + 1] = loByte;
753753
}
754754

755-
//Identify games using SVP chip
755+
// Identify games using SVP chip
756756
if (!strncmp("GM MK-1229 ", id, 11) || !strncmp("GM G-7001 ", id, 11)) // Virtua Racing (E/U/J)
757757
isSVP = 1;
758758
else
@@ -777,104 +777,108 @@ void getCartInfo_MD() {
777777
}
778778
if (cartSize == 0x300000) {
779779
switch (chksum) {
780-
case 0xBC5F: //Batman Forever (World)
781-
case 0x3CDD: //Donald in Maui Mallard (Brazil) (En)
782-
case 0x44AD: //Donald in Maui Mallard (Europe) (Rev A)
783-
case 0x2D9A: //Foreman for Real (World)
784-
case 0x5648: //Justice League Task Force (World)
785-
case 0x0A29: //Mega 6 Vol. 3 (Europe)
786-
case 0x7651: //NFL Quarterback Club (World)
787-
case 0x74CA: //WWF RAW (World)
780+
case 0xBC5F: // Batman Forever (World)
781+
case 0x3CDD: // Donald in Maui Mallard (Brazil) (En)
782+
case 0x44AD: // Donald in Maui Mallard (Europe) (Rev A)
783+
case 0x2D9A: // Foreman for Real (World)
784+
case 0x5648: // Justice League Task Force (World)
785+
case 0x0A29: // Mega 6 Vol. 3 (Europe)
786+
case 0x7651: // NFL Quarterback Club (World)
787+
case 0x74CA: // WWF RAW (World)
788788
cartSize = 0x400000;
789789
break;
790790
}
791791
}
792792
if (cartSize == 0x200000) {
793793
switch (chksum) {
794-
case 0x2078: //Dynamite Headdy (USA, Europe)
794+
case 0x2078: // Dynamite Headdy (USA, Europe)
795795
chksum = 0x9877;
796796
break;
797-
case 0xAE95: //Winter Olympic Games (USA)
797+
case 0xAE95: // Winter Olympic Games (USA)
798798
chksum = 0x56A0;
799799
break;
800800
}
801801
}
802802
if (cartSize == 0x180000) {
803803
switch (chksum) {
804-
case 0xFFE2: //Cannon Fodder (Europe)
805-
case 0xF418: //Chaos Engine, The (Europe)
806-
case 0xF71D: //Fatal Fury (Europe, Korea) (En)
807-
case 0xA884: //Flashback (Europe) (En,Fr)
808-
case 0x7D68: //Flashback - The Quest for Identity (USA) (En,Fr)
809-
case 0x030D: //Shining Force (Europe)
810-
case 0xE975: //Shining Force (USA)
804+
case 0xFFE2: // Cannon Fodder (Europe)
805+
case 0xF418: // Chaos Engine, The (Europe)
806+
case 0xF71D: // Fatal Fury (Europe, Korea) (En)
807+
case 0xA884: // Flashback (Europe) (En,Fr)
808+
case 0x7D68: // Flashback - The Quest for Identity (USA) (En,Fr)
809+
case 0x030D: // Shining Force (Europe)
810+
case 0xE975: // Shining Force (USA)
811811
cartSize = 0x200000;
812812
break;
813813
}
814814
}
815815
if (cartSize == 0x100000) {
816816
switch (chksum) {
817-
case 0xCDF5: //Life on Mars (Aftermarket)
817+
case 0xCDF5: // Life on Mars (Aftermarket)
818818
cartSize = 0x400000;
819819
chksum = 0x603A;
820820
break;
821-
case 0xF85F: //Metal Dragon (Aftermarket)
821+
case 0xF85F: // Metal Dragon (Aftermarket)
822822
cartSize = 0x200000;
823823
chksum = 0x6965;
824824
break;
825825
}
826826
}
827827
if (cartSize == 0xC0000) {
828828
switch (chksum) {
829-
case 0x9D79: //Wonder Boy in Monster World (USA, Europe)
829+
case 0x9D79: // Wonder Boy in Monster World (USA, Europe)
830830
cartSize = 0x100000;
831831
break;
832832
}
833833
}
834834
if (cartSize == 0x80000) {
835835
switch (chksum) {
836-
case 0x5B3A: //NHL 98 (USA)
836+
case 0x06C1: // Madden NFL 98 (USA)
837+
cartSize = 0x200000;
838+
chksum = 0x8473;
839+
break;
840+
case 0x5B3A: // NHL 98 (USA)
837841
cartSize = 0x200000;
838842
chksum = 0x5613;
839843
break;
840-
case 0xD07D: //Zero Wing (Japan)
844+
case 0xD07D: // Zero Wing (Japan)
841845
cartSize = 0x100000;
842846
chksum = 0xF204;
843847
break;
844-
case 0x95C9: //Zero Wing (Europe)
845-
case 0x9144: //Zoop (Europe)
846-
case 0xB8D4: //Zoop (USA)
848+
case 0x95C9: // Zero Wing (Europe)
849+
case 0x9144: // Zoop (Europe)
850+
case 0xB8D4: // Zoop (USA)
847851
cartSize = 0x100000;
848852
break;
849-
case 0xC422: //Jeopardy! (USA)
853+
case 0xC422: // Jeopardy! (USA)
850854
chksum = 0xC751;
851855
break;
852-
case 0x0C6A: //Monopoly (USA)
856+
case 0x0C6A: // Monopoly (USA)
853857
chksum = 0xE1AA;
854858
break;
855-
case 0xA760: //Gain Ground (USA)
859+
case 0xA760: // Gain Ground (USA)
856860
chksum = 0x97CD;
857861
break;
858-
case 0x1404: //Wonder Boy III - Monster Lair (Japan, Europe) (En)
862+
case 0x1404: // Wonder Boy III - Monster Lair (Japan, Europe) (En)
859863
chksum = 0x53B9;
860864
break;
861865
}
862866
}
863867
if (cartSize == 0x40000) {
864868
switch (chksum) {
865-
case 0x8BC6: //Pac-Attack (USA)
866-
case 0xB344: //Pac-Panic (Europe)
869+
case 0x8BC6: // Pac-Attack (USA)
870+
case 0xB344: // Pac-Panic (Europe)
867871
cartSize = 0x100000;
868872
break;
869873
}
870874
}
871875
if (cartSize == 0x20000) {
872876
switch (chksum) {
873-
case 0x7E50: //Micro Machines 2 - Turbo Tournament (Europe)
877+
case 0x7E50: // Micro Machines 2 - Turbo Tournament (Europe)
874878
cartSize = 0x100000;
875879
chksum = 0xD074;
876880
break;
877-
case 0x168B: //Micro Machines - Military (Europe)
881+
case 0x168B: // Micro Machines - Military (Europe)
878882
cartSize = 0x100000;
879883
chksum = 0xCEE0;
880884
break;
@@ -897,42 +901,42 @@ void getCartInfo_MD() {
897901
chksum = 0x45C6;
898902
}
899903

900-
//YM2612 Instrument Editor (Aftermarket)
904+
// YM2612 Instrument Editor (Aftermarket)
901905
if (!strncmp("GM 10101010", id, 11) && (chksum == 0xC439)) {
902906
chksum = 0x21B0;
903907
cartSize = 0x100000;
904908
}
905909

906-
//Technoptimistic (Aftermarket)
910+
// Technoptimistic (Aftermarket)
907911
if (!strncmp("MU REMUTE01", id, 11) && (chksum == 0x0000)) {
908912
chksum = 0xB55C;
909913
cartSize = 0x400000;
910914
}
911915

912-
//Decoder (Aftermarket)
916+
// Decoder (Aftermarket)
913917
if (!strncmp("GM REMUTE02", id, 11) && (chksum == 0x0000)) {
914918
chksum = 0x5426;
915919
cartSize = 0x400000;
916920
}
917921

918-
//Handy Harvy (Aftermarket)
922+
// Handy Harvy (Aftermarket)
919923
if (!strncmp("GM HHARVYSG", id, 11) && (chksum == 0x0000)) {
920924
chksum = 0xD9D2;
921925
cartSize = 0x100000;
922926
}
923927

924-
//Jim Power - The Lost Dimension in 3D (Aftermarket)
928+
// Jim Power - The Lost Dimension in 3D (Aftermarket)
925929
if (!strncmp("GM T-107036", id, 11) && (chksum == 0x0000)) {
926930
chksum = 0xAA28;
927931
}
928932

929-
//mikeyeldey95 (Aftermarket)
933+
// mikeyeldey95 (Aftermarket)
930934
if (!strncmp("GM 00000000-43", id, 14) && (chksum == 0x0000)) {
931935
chksum = 0x921B;
932936
cartSize = 0x400000;
933937
}
934938

935-
//Enryuu Seiken Xiao-Mei (Aftermarket)
939+
// Enryuu Seiken Xiao-Mei (Aftermarket)
936940
if (!strncmp("GM 00000000-00", id, 14) && (chksum == 0x1E0C)) {
937941
chksum = 0xE7E5;
938942
cartSize = 0x400000;
@@ -956,6 +960,34 @@ void getCartInfo_MD() {
956960
cartSize = 0x400000;
957961
}
958962

963+
// Sasha Darko's Sacred Line (Watermelon Release) (Aftermarket)
964+
if (!strncmp("GM T-574323-00", id, 14) && (chksum == 0xAEDD)) {
965+
cartSize = 0x400000;
966+
}
967+
968+
// Kromasphere (Aftermarket)
969+
if (!strncmp("GM MK-0000 -00", id, 14) && (chksum == 0xC536)) {
970+
chksum = 0xFAB1;
971+
cartSize = 0x200000;
972+
}
973+
974+
// YM2017 (Aftermarket)
975+
if (!strncmp("GM CSET0001-02", id, 14) && (chksum == 0x0000)) {
976+
chksum = 0xE3A9;
977+
}
978+
979+
// The Curse of Illmore Bay (Aftermarket)
980+
if (!strncmp("1774 ", id, 14) && (chksum == 0x0000)) {
981+
chksum = 0x6E34;
982+
cartSize = 0x400000;
983+
}
984+
985+
// Coffee Crisis (Aftermarket)
986+
if (!strncmp("JN-20160131-03", id, 14) && (chksum == 0x0000)) {
987+
chksum = 0x8040;
988+
cartSize = 0x400000;
989+
}
990+
959991
// Sonic & Knuckles Check
960992
SnKmode = 0;
961993
if (chksum == 0xDFB3) {

0 commit comments

Comments
 (0)