Finish migrating to new mem handling. Make carthw db external.
[picodrive.git] / pico / carthw.cfg
diff --git a/pico/carthw.cfg b/pico/carthw.cfg
new file mode 100644 (file)
index 0000000..140cb0a
--- /dev/null
@@ -0,0 +1,180 @@
+# hardware (hw = ...):
+#  svp  - Sega Virtua Processor
+#  pico - Sega Pico (not really cart hw, but convenient to support here)
+#
+# cartridge properties (prop = ...):
+#  no_sram     - don't emulate sram/EEPROM even if ROM headers tell it's there
+#  no_eeprom   - save storage is not EEPROM, even if ROM headers tell it is
+#  filled_sram - save storage needs to be initialized with FFh instead of 00h
+#  
+# mappers (hw = ...):
+#  x_in_1_mapper  - used in many *-in-1 pirate carts
+#  realtec_mapper
+#  radica_mapper  - similar to x_in_1_mapper
+#
+# save storage memory range (inclusive, overrides ROM header):
+#  sram_range = <start, end>
+#
+# EEPROM:
+#  eeprom_type = <1|2|3> - enable EEPROM, use type X (7bit, 2 addr words, 3 addr words).
+#                          See EkeEke's gen_eeprom.pdf "mode" descriptions for 24Cxx EEPROMs.
+#  eeprom_lines = <SCL,SDA_IN,SDA_OUT>
+#                        - select data bus pins that are connected to EEPROM
+#                          SCL, SDA_IN and SDA_OUT pins (0-15 for D0-D15).
+
+[Virtua Racing - SVP]
+check_str = 0x150, "Virtua Racing"
+hw = svp
+
+[Virtua Racing - SVP]
+check_str = 0x150, "VIRTUA RACING"
+hw = svp
+
+[Pico]
+check_str = 0x100, "SEGA PICO"
+hw = pico
+
+[Pico]
+check_str = 0x100, "IMA IKUNOUJYUKU"
+hw = pico
+
+# sram emulation triggers some protection for this one
+[Puggsy]
+check_str = 0x120, "PUGGSY"
+prop = no_sram
+
+# game has problems if it's save RAM is not initialized with FFh:
+[Dino Dini's Soccer]
+check_str = 0x150, "DINO DINI'S SOCCER"
+prop = filled_sram
+
+[Micro Machines 2 - Turbo Tournament]
+check_str = 0x150, "MICRO MACHINES II"
+prop = filled_sram
+
+# detect *_in_1 based on first game and if it's larger than it should be,
+# as some dumps look like to be incomplete.
+# This will also pick overdumps, but those should still work with the mapper applied.
+[12-in-1 (Unl)]
+check_str = 0x120, "FLICKY"
+check_size_gt = 0x020000
+hw = x_in_1_mapper
+
+[4-in-1]
+check_str = 0x150, "ROBOCOP 3"
+check_size_gt = 0x080000
+hw = x_in_1_mapper
+
+[4-in-1 a1]
+check_str = 0x150, "ALIEN 3"
+check_size_gt = 0x080000
+hw = x_in_1_mapper
+
+[Super 15-in-1]
+check_str = 0x150, " SHOVE IT!"
+check_size_gt = 0x020000
+hw = x_in_1_mapper
+
+[Super 19-in-1]
+check_str = 0x150, "MS PACMAN"
+check_size_gt = 0x020000
+hw = x_in_1_mapper
+
+# radica
+[radica_v1]
+check_str = 0x150, "KID CHAMELEON"
+check_size_gt = 0x100000
+hw = radica_mapper
+
+# realtec
+[Earth Defend, The (Unl)]
+check_str = 0x94, "THE EARTH DEFEND"
+hw = realtec_mapper
+
+[Funny World & Balloon Boy (Unl)]
+check_str = 0xfe, "WISEGAME 11-03-1993"
+hw = realtec_mapper
+
+[Whac-A-Critter (Unl)]
+check_str = 0x95, "MALLET LEGEND"
+hw = realtec_mapper
+
+# EEPROM games - thanks to EkeEke for most of this info
+[College Slam]
+check_str = 0x150, "COLLEGE SLAM"
+eeprom_type = 3
+eeprom_lines = 8,0,0
+
+[Frank Thomas Big Hurt Baseball]
+check_str = 0x150, "FRANK THOMAS BIGHURT BASEBAL"
+eeprom_type = 3
+eeprom_lines = 8,0,0
+
+[MICRO MACHINES II]
+check_str = 0x150, "MICRO MACHINES II"
+sram_range = 0x300000,0x380001
+eeprom_type = 2
+eeprom_lines = 9,8,7
+
+[Micro Machines - Turbo Tournament '96]
+check_str = 0x150, "                "
+check_csum = 0x165e
+sram_range = 0x300000,0x380001
+eeprom_type = 2
+eeprom_lines = 9,8,7
+
+[Micro Machines - Turbo Tournament '96]
+check_str = 0x150, "                "
+check_csum = 0x2c41
+sram_range = 0x300000,0x380001
+eeprom_type = 2
+eeprom_lines = 9,8,7
+
+[Micro Machines Military]
+check_str = 0x150, "                "
+check_csum = 0x168b
+sram_range = 0x300000,0x380001
+eeprom_type = 2
+eeprom_lines = 9,8,7
+
+[Micro Machines Military]
+check_str = 0x150, "                "
+check_csum = 0xcee0
+sram_range = 0x300000,0x380001
+eeprom_type = 2
+eeprom_lines = 9,8,7
+
+[NBA Jam]
+check_str = 0x150, "NBA JAM         "
+eeprom_type = 2
+eeprom_lines = 1,0,1
+
+[NBA Jam Tournament Edition]
+check_str = 0x150, "NBA JAM TOURNAMENT EDITION"
+sram_range = 0x200000,0x200001
+eeprom_type = 2
+eeprom_lines = 8,0,0
+
+[NFL Quarterback Club]
+check_str = 0x150, "NFL QUARTERBACK CLUB"
+eeprom_type = 2
+eeprom_lines = 8,0,0
+
+[NHLPA Hockey '93]
+check_str = 0x150, "NHLPA Hockey '93"
+sram_range = 0x200000,0x200001
+eeprom_type = 1
+eeprom_lines = 6,7,7
+
+[NHLPA Hockey '93]
+check_str = 0x150, "NHLPA HOCKEY '93"
+sram_range = 0x200000,0x200001
+eeprom_type = 1
+eeprom_lines = 6,7,7
+
+[Rings of Power]
+check_str = 0x150, "RINGS OF POWER"
+sram_range = 0x200000,0x200001
+eeprom_type = 1
+eeprom_lines = 6,7,7
+