recognize the MED ssf2 header
[picodrive.git] / pico / carthw.cfg
CommitLineData
45f2f245 1# hardware (hw = ...):
000f5335 2# svp - Sega Virtua Processor
3# pico - Sega Pico (not really cart hw, but convenient to support here)
4# prot - siple copy protection devices in unlicensed cartridges (see prot. below)
5# prot_lk3 - Lion King 3 / Super King Kong 99 protection.
45f2f245 6#
7# cartridge properties (prop = ...):
8# no_sram - don't emulate sram/EEPROM even if ROM headers tell it's there
9# no_eeprom - save storage is not EEPROM, even if ROM headers tell it is
10# filled_sram - save storage needs to be initialized with FFh instead of 00h
a76fad41 11# force_6btn - game only supports 6 button pad (32X X-men proto)
45f2f245 12#
13# mappers (hw = ...):
30f0fdd4 14# ssf2_mapper - used in Super Street Fighter2
15# x_in_1_mapper - used in many *-in-1 pirate carts
45f2f245 16# realtec_mapper
30f0fdd4 17# radica_mapper - similar to x_in_1_mapper
18# piersolar_mapper - used in Pier Solar
45f2f245 19#
20# save storage memory range (inclusive, overrides ROM header):
21# sram_range = <start, end>
22#
23# EEPROM:
24# eeprom_type = <1|2|3> - enable EEPROM, use type X (7bit, 2 addr words, 3 addr words).
25# See EkeEke's gen_eeprom.pdf "mode" descriptions for 24Cxx EEPROMs.
26# eeprom_lines = <SCL,SDA_IN,SDA_OUT>
27# - select data bus pins that are connected to EEPROM
28# SCL, SDA_IN and SDA_OUT pins (0-15 for D0-D15).
000f5335 29# hw = prot:
30# prot_ro_value16 = <addr, mask, val> - return constant <val> on reads at location
31# (<addr> & <mask>), ignore writes.
32# prot_rw_value16 = <addr, mask, val> - same as above, but writeable
45f2f245 33
34[Virtua Racing - SVP]
35check_str = 0x150, "Virtua Racing"
8b78786e 36check_str = 0x810, "OHMP"
45f2f245 37hw = svp
38
39[Virtua Racing - SVP]
40check_str = 0x150, "VIRTUA RACING"
8b78786e 41check_str = 0x810, "OHMP"
45f2f245 42hw = svp
43
44[Pico]
45check_str = 0x100, "SEGA PICO"
46hw = pico
47
48[Pico]
49check_str = 0x100, "IMA IKUNOUJYUKU"
50hw = pico
51
52# sram emulation triggers some protection for this one
53[Puggsy]
54check_str = 0x120, "PUGGSY"
55prop = no_sram
56
57# game has problems if it's save RAM is not initialized with FFh:
58[Dino Dini's Soccer]
59check_str = 0x150, "DINO DINI'S SOCCER"
60prop = filled_sram
61
62[Micro Machines 2 - Turbo Tournament]
63check_str = 0x150, "MICRO MACHINES II"
64prop = filled_sram
65
a76fad41 66# X-Men proto
67[X-Men (prototype)]
68check_str = 0x150, "32X SAMPLE PROGRAM"
69check_str = 0x32b74c, "Bishop Level"
70prop = force_6btn
71
000f5335 72# The SSF2 mapper
40d22a8e 73[Mega Everdrive]
74check_str = 0x100, "SEGA SSF"
75hw = ssf2_mapper
76
000f5335 77[Super Street Fighter II - The New Challengers (U)]
78check_str = 0x150, "SUPER STREET FIGHTER2 The New Challengers"
79hw = ssf2_mapper
80prop = no_sram
81
30f0fdd4 82# The Pier Solar mapper, custom eeprom location
83[Pier Solar and the Great Architects]
a76fad41 84check_str = 0x150, "PIER"
85check_str = 0x610, "Respect"
30f0fdd4 86hw = piersolar_mapper
30f0fdd4 87
45f2f245 88# detect *_in_1 based on first game and if it's larger than it should be,
89# as some dumps look like to be incomplete.
90# This will also pick overdumps, but those should still work with the mapper applied.
91[12-in-1 (Unl)]
92check_str = 0x120, "FLICKY"
93check_size_gt = 0x020000
94hw = x_in_1_mapper
95
96[4-in-1]
97check_str = 0x150, "ROBOCOP 3"
98check_size_gt = 0x080000
99hw = x_in_1_mapper
100
101[4-in-1 a1]
102check_str = 0x150, "ALIEN 3"
103check_size_gt = 0x080000
104hw = x_in_1_mapper
105
106[Super 15-in-1]
107check_str = 0x150, " SHOVE IT!"
108check_size_gt = 0x020000
109hw = x_in_1_mapper
110
111[Super 19-in-1]
112check_str = 0x150, "MS PACMAN"
113check_size_gt = 0x020000
114hw = x_in_1_mapper
115
116# radica
117[radica_v1]
118check_str = 0x150, "KID CHAMELEON"
119check_size_gt = 0x100000
120hw = radica_mapper
121
122# realtec
123[Earth Defend, The (Unl)]
124check_str = 0x94, "THE EARTH DEFEND"
125hw = realtec_mapper
126
127[Funny World & Balloon Boy (Unl)]
128check_str = 0xfe, "WISEGAME 11-03-1993"
129hw = realtec_mapper
130
131[Whac-A-Critter (Unl)]
132check_str = 0x95, "MALLET LEGEND"
133hw = realtec_mapper
134
135# EEPROM games - thanks to EkeEke for most of this info
136[College Slam]
137check_str = 0x150, "COLLEGE SLAM"
138eeprom_type = 3
139eeprom_lines = 8,0,0
140
141[Frank Thomas Big Hurt Baseball]
142check_str = 0x150, "FRANK THOMAS BIGHURT BASEBAL"
143eeprom_type = 3
144eeprom_lines = 8,0,0
145
146[MICRO MACHINES II]
147check_str = 0x150, "MICRO MACHINES II"
148sram_range = 0x300000,0x380001
149eeprom_type = 2
150eeprom_lines = 9,8,7
151
152[Micro Machines - Turbo Tournament '96]
153check_str = 0x150, " "
154check_csum = 0x165e
155sram_range = 0x300000,0x380001
156eeprom_type = 2
157eeprom_lines = 9,8,7
158
159[Micro Machines - Turbo Tournament '96]
160check_str = 0x150, " "
161check_csum = 0x2c41
162sram_range = 0x300000,0x380001
163eeprom_type = 2
164eeprom_lines = 9,8,7
165
166[Micro Machines Military]
167check_str = 0x150, " "
168check_csum = 0x168b
169sram_range = 0x300000,0x380001
170eeprom_type = 2
171eeprom_lines = 9,8,7
172
173[Micro Machines Military]
174check_str = 0x150, " "
175check_csum = 0xcee0
176sram_range = 0x300000,0x380001
177eeprom_type = 2
178eeprom_lines = 9,8,7
179
180[NBA Jam]
181check_str = 0x150, "NBA JAM "
182eeprom_type = 2
183eeprom_lines = 1,0,1
184
185[NBA Jam Tournament Edition]
186check_str = 0x150, "NBA JAM TOURNAMENT EDITION"
187sram_range = 0x200000,0x200001
188eeprom_type = 2
189eeprom_lines = 8,0,0
190
191[NFL Quarterback Club]
192check_str = 0x150, "NFL QUARTERBACK CLUB"
193eeprom_type = 2
194eeprom_lines = 8,0,0
195
196[NHLPA Hockey '93]
197check_str = 0x150, "NHLPA Hockey '93"
198sram_range = 0x200000,0x200001
199eeprom_type = 1
200eeprom_lines = 6,7,7
201
202[NHLPA Hockey '93]
203check_str = 0x150, "NHLPA HOCKEY '93"
204sram_range = 0x200000,0x200001
205eeprom_type = 1
206eeprom_lines = 6,7,7
207
208[Rings of Power]
209check_str = 0x150, "RINGS OF POWER"
210sram_range = 0x200000,0x200001
211eeprom_type = 1
212eeprom_lines = 6,7,7
213
000f5335 214# Unlicensed games with simple protections
215# some of these come from Haze, some from myself (notaz).
216[Bug's Life, A (Unl)]
217check_str = 0x104, " "
218check_crc32 = 0x10458e09
219hw = prot
220prot_ro_value16 = 0xa13000,0xffff00,0x28
221
222[Elf Wor (Unl)]
223check_str = 0x172, "GAME : ELF WOR"
224hw = prot
225prot_ro_value16 = 0x400000,-2,0x5500
226prot_ro_value16 = 0x400002,-2,0xc900 # check is done if the above one fails
227prot_ro_value16 = 0x400004,-2,0x0f00
228prot_ro_value16 = 0x400006,-2,0x1800 # similar to above
229
230[King of Fighters '98, The (Unl)]
231check_str = 0x104, " "
232check_crc32 = 0xcbc38eea
233hw = prot
234prot_ro_value16 = 0x480000,0xff0000,0xaa00
235prot_ro_value16 = 0x4a0000,0xff0000,0x0a00
236prot_ro_value16 = 0x4c0000,0xff0000,0xf000
237prot_ro_value16 = 0x400000,0xc00000,0x0000 # default for 400000-7f0000
238
239[Lion King 3 (Unl)]
240check_str = 0x104, " are Registered Trademarks"
241check_crc32 = 0xc004219d
242hw = prot_lk3
243
244[Lion King II, The (Unl)]
245check_str = 0x104, " are Registered Trademarks"
246check_crc32 = 0xaff46765
247hw = prot
248prot_rw_value16 = 0x400000,0xc00004,0
249prot_rw_value16 = 0x400004,0xc00004,0
250
251[Mahjong Lover (Unl)]
252check_str = 0x118, "CREATON. "
253check_crc32 = 0xddd02ba4
254hw = prot
255prot_ro_value16 = 0x400000,-2,0x9000
256prot_ro_value16 = 0x401000,-2,0xd300
257
258[Pocket Monsters (Unl)]
259check_str = 0x104, " "
260check_crc32 = 0xf68f6367
261hw = prot
262prot_ro_value16 = 0xa13002,-2,0x01
263prot_ro_value16 = 0xa1303e,-2,0x1f
264
265[Pocket Monsters (Unl) [a1]]
266check_str = 0x104, " "
267check_crc32 = 0xfb176667
268hw = prot
269prot_ro_value16 = 0xa13000,-2,0x14
270prot_ro_value16 = 0xa13002,-2,0x01
271prot_ro_value16 = 0xa1303e,-2,0x1f
272
273[Rockman X3 (Unl)]
274check_csum = 0
275check_crc32 = 0x3ee639f0
276hw = prot
277prot_ro_value16 = 0xa13000,-2,0x0c
278
279[Smart Mouse (Unl)]
280check_csum = 0
281check_crc32 = 0xdecdf740
282hw = prot
283prot_ro_value16 = 0x400000,-2,0x5500
284prot_ro_value16 = 0x400002,-2,0x0f00
285prot_ro_value16 = 0x400004,-2,0xaa00
286prot_ro_value16 = 0x400006,-2,0xf000
287
288[Soul Blade (Unl)]
289check_str = 0x104, " "
290check_crc32 = 0xf26f88d1
291hw = prot
292prot_ro_value16 = 0x400002,-2,0x9800
293prot_ro_value16 = 0x400004,-2,0xaa00 # or 0xc900
294prot_ro_value16 = 0x400006,-2,0xf000
295
296[Super Bubble Bobble (Unl)]
297check_str = 0x104, " are Registered Trademarks"
298check_crc32 = 0x4820a161
299hw = prot
300prot_ro_value16 = 0x400000,-2,0x5500
301prot_ro_value16 = 0x400002,-2,0x0f00
302
303[Super King Kong 99 (Unl)]
304check_str = 0x104, " are Registered Trademarks"
305check_crc32 = 0x413dfee2
306hw = prot_lk3
307
308[Super Mario Bros. (Unl)]
309check_str = 0x140, "SUPER MARIO BROS "
310hw = prot
311prot_ro_value16 = 0xa13000,-2,0x0c
312
313[Super Mario 2 1998 (Unl)]
314check_str = 0x104, " are Registered Trademarks"
315check_crc32 = 0xf7e1b3e1
316hw = prot
317prot_ro_value16 = 0xa13000,-2,0x0a
318
319[Squirrel King (R)]
320check_str = 0x104, " are Registered Trademarks"
321check_crc32 = 0xb8261ff5
322hw = prot
323prot_rw_value16 = 0x400000,0xc00000,0
324