Finish migrating to new mem handling. Make carthw db external.
[picodrive.git] / pico / carthw.cfg
1 # hardware (hw = ...):
2 #  svp  - Sega Virtua Processor
3 #  pico - Sega Pico (not really cart hw, but convenient to support here)
4 #
5 # cartridge properties (prop = ...):
6 #  no_sram     - don't emulate sram/EEPROM even if ROM headers tell it's there
7 #  no_eeprom   - save storage is not EEPROM, even if ROM headers tell it is
8 #  filled_sram - save storage needs to be initialized with FFh instead of 00h
9 #  
10 # mappers (hw = ...):
11 #  x_in_1_mapper  - used in many *-in-1 pirate carts
12 #  realtec_mapper
13 #  radica_mapper  - similar to x_in_1_mapper
14 #
15 # save storage memory range (inclusive, overrides ROM header):
16 #  sram_range = <start, end>
17 #
18 # EEPROM:
19 #  eeprom_type = <1|2|3> - enable EEPROM, use type X (7bit, 2 addr words, 3 addr words).
20 #                          See EkeEke's gen_eeprom.pdf "mode" descriptions for 24Cxx EEPROMs.
21 #  eeprom_lines = <SCL,SDA_IN,SDA_OUT>
22 #                        - select data bus pins that are connected to EEPROM
23 #                          SCL, SDA_IN and SDA_OUT pins (0-15 for D0-D15).
24
25 [Virtua Racing - SVP]
26 check_str = 0x150, "Virtua Racing"
27 hw = svp
28
29 [Virtua Racing - SVP]
30 check_str = 0x150, "VIRTUA RACING"
31 hw = svp
32
33 [Pico]
34 check_str = 0x100, "SEGA PICO"
35 hw = pico
36
37 [Pico]
38 check_str = 0x100, "IMA IKUNOUJYUKU"
39 hw = pico
40
41 # sram emulation triggers some protection for this one
42 [Puggsy]
43 check_str = 0x120, "PUGGSY"
44 prop = no_sram
45
46 # game has problems if it's save RAM is not initialized with FFh:
47 [Dino Dini's Soccer]
48 check_str = 0x150, "DINO DINI'S SOCCER"
49 prop = filled_sram
50
51 [Micro Machines 2 - Turbo Tournament]
52 check_str = 0x150, "MICRO MACHINES II"
53 prop = filled_sram
54
55 # detect *_in_1 based on first game and if it's larger than it should be,
56 # as some dumps look like to be incomplete.
57 # This will also pick overdumps, but those should still work with the mapper applied.
58 [12-in-1 (Unl)]
59 check_str = 0x120, "FLICKY"
60 check_size_gt = 0x020000
61 hw = x_in_1_mapper
62
63 [4-in-1]
64 check_str = 0x150, "ROBOCOP 3"
65 check_size_gt = 0x080000
66 hw = x_in_1_mapper
67
68 [4-in-1 a1]
69 check_str = 0x150, "ALIEN 3"
70 check_size_gt = 0x080000
71 hw = x_in_1_mapper
72
73 [Super 15-in-1]
74 check_str = 0x150, " SHOVE IT!"
75 check_size_gt = 0x020000
76 hw = x_in_1_mapper
77
78 [Super 19-in-1]
79 check_str = 0x150, "MS PACMAN"
80 check_size_gt = 0x020000
81 hw = x_in_1_mapper
82
83 # radica
84 [radica_v1]
85 check_str = 0x150, "KID CHAMELEON"
86 check_size_gt = 0x100000
87 hw = radica_mapper
88
89 # realtec
90 [Earth Defend, The (Unl)]
91 check_str = 0x94, "THE EARTH DEFEND"
92 hw = realtec_mapper
93
94 [Funny World & Balloon Boy (Unl)]
95 check_str = 0xfe, "WISEGAME 11-03-1993"
96 hw = realtec_mapper
97
98 [Whac-A-Critter (Unl)]
99 check_str = 0x95, "MALLET LEGEND"
100 hw = realtec_mapper
101
102 # EEPROM games - thanks to EkeEke for most of this info
103 [College Slam]
104 check_str = 0x150, "COLLEGE SLAM"
105 eeprom_type = 3
106 eeprom_lines = 8,0,0
107
108 [Frank Thomas Big Hurt Baseball]
109 check_str = 0x150, "FRANK THOMAS BIGHURT BASEBAL"
110 eeprom_type = 3
111 eeprom_lines = 8,0,0
112
113 [MICRO MACHINES II]
114 check_str = 0x150, "MICRO MACHINES II"
115 sram_range = 0x300000,0x380001
116 eeprom_type = 2
117 eeprom_lines = 9,8,7
118
119 [Micro Machines - Turbo Tournament '96]
120 check_str = 0x150, "                "
121 check_csum = 0x165e
122 sram_range = 0x300000,0x380001
123 eeprom_type = 2
124 eeprom_lines = 9,8,7
125
126 [Micro Machines - Turbo Tournament '96]
127 check_str = 0x150, "                "
128 check_csum = 0x2c41
129 sram_range = 0x300000,0x380001
130 eeprom_type = 2
131 eeprom_lines = 9,8,7
132
133 [Micro Machines Military]
134 check_str = 0x150, "                "
135 check_csum = 0x168b
136 sram_range = 0x300000,0x380001
137 eeprom_type = 2
138 eeprom_lines = 9,8,7
139
140 [Micro Machines Military]
141 check_str = 0x150, "                "
142 check_csum = 0xcee0
143 sram_range = 0x300000,0x380001
144 eeprom_type = 2
145 eeprom_lines = 9,8,7
146
147 [NBA Jam]
148 check_str = 0x150, "NBA JAM         "
149 eeprom_type = 2
150 eeprom_lines = 1,0,1
151
152 [NBA Jam Tournament Edition]
153 check_str = 0x150, "NBA JAM TOURNAMENT EDITION"
154 sram_range = 0x200000,0x200001
155 eeprom_type = 2
156 eeprom_lines = 8,0,0
157
158 [NFL Quarterback Club]
159 check_str = 0x150, "NFL QUARTERBACK CLUB"
160 eeprom_type = 2
161 eeprom_lines = 8,0,0
162
163 [NHLPA Hockey '93]
164 check_str = 0x150, "NHLPA Hockey '93"
165 sram_range = 0x200000,0x200001
166 eeprom_type = 1
167 eeprom_lines = 6,7,7
168
169 [NHLPA Hockey '93]
170 check_str = 0x150, "NHLPA HOCKEY '93"
171 sram_range = 0x200000,0x200001
172 eeprom_type = 1
173 eeprom_lines = 6,7,7
174
175 [Rings of Power]
176 check_str = 0x150, "RINGS OF POWER"
177 sram_range = 0x200000,0x200001
178 eeprom_type = 1
179 eeprom_lines = 6,7,7
180