@@ -752,7 +752,7 @@ void getCartInfo_MD() {
752
752
id[c + 1 ] = loByte;
753
753
}
754
754
755
- // Identify games using SVP chip
755
+ // Identify games using SVP chip
756
756
if (!strncmp (" GM MK-1229 " , id, 11 ) || !strncmp (" GM G-7001 " , id, 11 )) // Virtua Racing (E/U/J)
757
757
isSVP = 1 ;
758
758
else
@@ -777,104 +777,108 @@ void getCartInfo_MD() {
777
777
}
778
778
if (cartSize == 0x300000 ) {
779
779
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)
788
788
cartSize = 0x400000 ;
789
789
break ;
790
790
}
791
791
}
792
792
if (cartSize == 0x200000 ) {
793
793
switch (chksum) {
794
- case 0x2078 : // Dynamite Headdy (USA, Europe)
794
+ case 0x2078 : // Dynamite Headdy (USA, Europe)
795
795
chksum = 0x9877 ;
796
796
break ;
797
- case 0xAE95 : // Winter Olympic Games (USA)
797
+ case 0xAE95 : // Winter Olympic Games (USA)
798
798
chksum = 0x56A0 ;
799
799
break ;
800
800
}
801
801
}
802
802
if (cartSize == 0x180000 ) {
803
803
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)
811
811
cartSize = 0x200000 ;
812
812
break ;
813
813
}
814
814
}
815
815
if (cartSize == 0x100000 ) {
816
816
switch (chksum) {
817
- case 0xCDF5 : // Life on Mars (Aftermarket)
817
+ case 0xCDF5 : // Life on Mars (Aftermarket)
818
818
cartSize = 0x400000 ;
819
819
chksum = 0x603A ;
820
820
break ;
821
- case 0xF85F : // Metal Dragon (Aftermarket)
821
+ case 0xF85F : // Metal Dragon (Aftermarket)
822
822
cartSize = 0x200000 ;
823
823
chksum = 0x6965 ;
824
824
break ;
825
825
}
826
826
}
827
827
if (cartSize == 0xC0000 ) {
828
828
switch (chksum) {
829
- case 0x9D79 : // Wonder Boy in Monster World (USA, Europe)
829
+ case 0x9D79 : // Wonder Boy in Monster World (USA, Europe)
830
830
cartSize = 0x100000 ;
831
831
break ;
832
832
}
833
833
}
834
834
if (cartSize == 0x80000 ) {
835
835
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)
837
841
cartSize = 0x200000 ;
838
842
chksum = 0x5613 ;
839
843
break ;
840
- case 0xD07D : // Zero Wing (Japan)
844
+ case 0xD07D : // Zero Wing (Japan)
841
845
cartSize = 0x100000 ;
842
846
chksum = 0xF204 ;
843
847
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)
847
851
cartSize = 0x100000 ;
848
852
break ;
849
- case 0xC422 : // Jeopardy! (USA)
853
+ case 0xC422 : // Jeopardy! (USA)
850
854
chksum = 0xC751 ;
851
855
break ;
852
- case 0x0C6A : // Monopoly (USA)
856
+ case 0x0C6A : // Monopoly (USA)
853
857
chksum = 0xE1AA ;
854
858
break ;
855
- case 0xA760 : // Gain Ground (USA)
859
+ case 0xA760 : // Gain Ground (USA)
856
860
chksum = 0x97CD ;
857
861
break ;
858
- case 0x1404 : // Wonder Boy III - Monster Lair (Japan, Europe) (En)
862
+ case 0x1404 : // Wonder Boy III - Monster Lair (Japan, Europe) (En)
859
863
chksum = 0x53B9 ;
860
864
break ;
861
865
}
862
866
}
863
867
if (cartSize == 0x40000 ) {
864
868
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)
867
871
cartSize = 0x100000 ;
868
872
break ;
869
873
}
870
874
}
871
875
if (cartSize == 0x20000 ) {
872
876
switch (chksum) {
873
- case 0x7E50 : // Micro Machines 2 - Turbo Tournament (Europe)
877
+ case 0x7E50 : // Micro Machines 2 - Turbo Tournament (Europe)
874
878
cartSize = 0x100000 ;
875
879
chksum = 0xD074 ;
876
880
break ;
877
- case 0x168B : // Micro Machines - Military (Europe)
881
+ case 0x168B : // Micro Machines - Military (Europe)
878
882
cartSize = 0x100000 ;
879
883
chksum = 0xCEE0 ;
880
884
break ;
@@ -897,42 +901,42 @@ void getCartInfo_MD() {
897
901
chksum = 0x45C6 ;
898
902
}
899
903
900
- // YM2612 Instrument Editor (Aftermarket)
904
+ // YM2612 Instrument Editor (Aftermarket)
901
905
if (!strncmp (" GM 10101010" , id, 11 ) && (chksum == 0xC439 )) {
902
906
chksum = 0x21B0 ;
903
907
cartSize = 0x100000 ;
904
908
}
905
909
906
- // Technoptimistic (Aftermarket)
910
+ // Technoptimistic (Aftermarket)
907
911
if (!strncmp (" MU REMUTE01" , id, 11 ) && (chksum == 0x0000 )) {
908
912
chksum = 0xB55C ;
909
913
cartSize = 0x400000 ;
910
914
}
911
915
912
- // Decoder (Aftermarket)
916
+ // Decoder (Aftermarket)
913
917
if (!strncmp (" GM REMUTE02" , id, 11 ) && (chksum == 0x0000 )) {
914
918
chksum = 0x5426 ;
915
919
cartSize = 0x400000 ;
916
920
}
917
921
918
- // Handy Harvy (Aftermarket)
922
+ // Handy Harvy (Aftermarket)
919
923
if (!strncmp (" GM HHARVYSG" , id, 11 ) && (chksum == 0x0000 )) {
920
924
chksum = 0xD9D2 ;
921
925
cartSize = 0x100000 ;
922
926
}
923
927
924
- // Jim Power - The Lost Dimension in 3D (Aftermarket)
928
+ // Jim Power - The Lost Dimension in 3D (Aftermarket)
925
929
if (!strncmp (" GM T-107036" , id, 11 ) && (chksum == 0x0000 )) {
926
930
chksum = 0xAA28 ;
927
931
}
928
932
929
- // mikeyeldey95 (Aftermarket)
933
+ // mikeyeldey95 (Aftermarket)
930
934
if (!strncmp (" GM 00000000-43" , id, 14 ) && (chksum == 0x0000 )) {
931
935
chksum = 0x921B ;
932
936
cartSize = 0x400000 ;
933
937
}
934
938
935
- // Enryuu Seiken Xiao-Mei (Aftermarket)
939
+ // Enryuu Seiken Xiao-Mei (Aftermarket)
936
940
if (!strncmp (" GM 00000000-00" , id, 14 ) && (chksum == 0x1E0C )) {
937
941
chksum = 0xE7E5 ;
938
942
cartSize = 0x400000 ;
@@ -956,6 +960,34 @@ void getCartInfo_MD() {
956
960
cartSize = 0x400000 ;
957
961
}
958
962
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
+
959
991
// Sonic & Knuckles Check
960
992
SnKmode = 0 ;
961
993
if (chksum == 0xDFB3 ) {
0 commit comments