platform ps2, handle audio similar to psp
[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)
e1e8ca17 4# prot - simple copy protection devices in unlicensed cartridges (see prot. below)
45f2f245 5#
6# cartridge properties (prop = ...):
a67db32a 7# no_sram - don't emulate sram/EEPROM even if ROM headers tell it's there
8# no_eeprom - save storage is not EEPROM, even if ROM headers tell it is
9# filled_sram - save storage needs to be initialized with FFh instead of 00h
10# force_6btn - game only supports 6 button pad (32X X-men proto)
11# no_z80_bus_lock - don't emulate z80 bus getting closed to the 68k when bus is released
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
b7697ca3 19# sf00x_mapper - versions x=1,2,4 used by superfighter team
e1e8ca17 20# lk3_mapper - mapper for Lion King 3 / Super King Kong 99 and some more
21# smw64_mapper - mapper for Super Mario World 64
45f2f245 22#
23# save storage memory range (inclusive, overrides ROM header):
24# sram_range = <start, end>
25#
26# EEPROM:
27# eeprom_type = <1|2|3> - enable EEPROM, use type X (7bit, 2 addr words, 3 addr words).
28# See EkeEke's gen_eeprom.pdf "mode" descriptions for 24Cxx EEPROMs.
29# eeprom_lines = <SCL,SDA_IN,SDA_OUT>
30# - select data bus pins that are connected to EEPROM
31# SCL, SDA_IN and SDA_OUT pins (0-15 for D0-D15).
000f5335 32# hw = prot:
33# prot_ro_value16 = <addr, mask, val> - return constant <val> on reads at location
34# (<addr> & <mask>), ignore writes.
35# prot_rw_value16 = <addr, mask, val> - same as above, but writeable
45f2f245 36
37[Virtua Racing - SVP]
38check_str = 0x150, "Virtua Racing"
8b78786e 39check_str = 0x810, "OHMP"
45f2f245 40hw = svp
41
42[Virtua Racing - SVP]
43check_str = 0x150, "VIRTUA RACING"
8b78786e 44check_str = 0x810, "OHMP"
45f2f245 45hw = svp
46
4fc85c80 47[Soreike! Anpanman no Game de Asobou Anpanman - Pico]
48check_str = 0x100, "SEGA IAC "
45f2f245 49hw = pico
50
4fc85c80 51# Unou Kaihatsu Series: IMA IKUNO[U]JYUKU
52[Unou Kaihatsu Series - Pico]
53check_str = 0x100, "IMA IKUNO"
45f2f245 54hw = pico
55
fe8f2d96 56# X-Men proto
57[X-Men (prototype) - 32X]
58check_str = 0x120, "32X SAMPLE PROGRAM"
59check_str = 0x32b74c, "Bishop Level"
60prop = force_6btn
61
62# WWF Raw
63[WWF Raw - 32X]
64check_str = 0x100, "SEGA 32X"
65check_str = 0x150, "WWF RAW"
66prop = wwfraw_hack # reads back data written to high ROM adresses from cache
67
68# Blackthorne
69[Blackthorne - 32X]
70check_str = 0x100, "SEGA 32X"
71check_str = 0x120, "BLACKTHORNE"
72prop = blackthorne_hack # reads back data overwritten by 2nd CPU from cache
73
74# Mars check program
75[Mars Check - 32X]
76check_str = 0x100, "SEGA"
77check_str = 0x150, "MARS CHECK PROGRAM"
78prop = marscheck_hack # reads back data overwritten by DMA from cache
79
45f2f245 80# sram emulation triggers some protection for this one
81[Puggsy]
82check_str = 0x120, "PUGGSY"
83prop = no_sram
84
85# game has problems if it's save RAM is not initialized with FFh:
86[Dino Dini's Soccer]
87check_str = 0x150, "DINO DINI'S SOCCER"
88prop = filled_sram
89
90[Micro Machines 2 - Turbo Tournament]
91check_str = 0x150, "MICRO MACHINES II"
92prop = filled_sram
93
6e05b76b 94# bad headers
95[HardBall III]
96check_str = 0x150, " HardBall III"
97sram_range = 0x200000,0x20ffff
98
000f5335 99# The SSF2 mapper
40d22a8e 100[Mega Everdrive]
101check_str = 0x100, "SEGA SSF"
102hw = ssf2_mapper
103
000f5335 104[Super Street Fighter II - The New Challengers (U)]
105check_str = 0x150, "SUPER STREET FIGHTER2 The New Challengers"
106hw = ssf2_mapper
107prop = no_sram
108
30f0fdd4 109# The Pier Solar mapper, custom eeprom location
110[Pier Solar and the Great Architects]
a76fad41 111check_str = 0x150, "PIER"
112check_str = 0x610, "Respect"
30f0fdd4 113hw = piersolar_mapper
30f0fdd4 114
60392bf4 115# Beggar Prince, unusual SRAM location
116[Beggar Prince]
117check_str = 0x150, "BEGGAR PRINCE"
118hw = sf001_mapper
119sram_range = 0x400000,0x40ffff
120prop = filled_sram
121
122[Legend of Wukong]
123check_str = 0x150, "LEGEND OF WUKONG"
124hw = sf002_mapper
125
b7697ca3 126# Star Odyssey, r/w in SRAM mirror (double SRAM as a kludge)
127[Star Odyssey]
128check_str = 0x150, "STAR ODYSSEY"
129hw = sf004_mapper
130sram_range = 0x200000,0x207fff
131
45f2f245 132# detect *_in_1 based on first game and if it's larger than it should be,
133# as some dumps look like to be incomplete.
134# This will also pick overdumps, but those should still work with the mapper applied.
135[12-in-1 (Unl)]
136check_str = 0x120, "FLICKY"
137check_size_gt = 0x020000
138hw = x_in_1_mapper
139
140[4-in-1]
141check_str = 0x150, "ROBOCOP 3"
142check_size_gt = 0x080000
143hw = x_in_1_mapper
144
145[4-in-1 a1]
146check_str = 0x150, "ALIEN 3"
147check_size_gt = 0x080000
148hw = x_in_1_mapper
149
0a9bec02 150[5-in-1 Megadrive Portable]
151check_str = 0x150, "TINY TOON ADVENTURES"
152check_size_gt = 0x080000
153hw = x_in_1_mapper
154
155[40-games-in-1]
156check_str = 0x160, "FS MOONWALKER"
157check_size_gt = 0x080000
158hw = x_in_1_mapper
159
45f2f245 160[Super 15-in-1]
161check_str = 0x150, " SHOVE IT!"
162check_size_gt = 0x020000
163hw = x_in_1_mapper
164
165[Super 19-in-1]
166check_str = 0x150, "MS PACMAN"
167check_size_gt = 0x020000
168hw = x_in_1_mapper
169
170# radica
75a6b6a9 171[Arcade Legends Sega]
45f2f245 172check_str = 0x150, "KID CHAMELEON"
173check_size_gt = 0x100000
174hw = radica_mapper
175
75a6b6a9 176[Arcade Legends Capcom]
177check_str = 0x150, "STREET FIGHTER"
178check_size_gt = 0x300000
179hw = radica_mapper
180
45f2f245 181# realtec
182[Earth Defend, The (Unl)]
183check_str = 0x94, "THE EARTH DEFEND"
184hw = realtec_mapper
185
186[Funny World & Balloon Boy (Unl)]
187check_str = 0xfe, "WISEGAME 11-03-1993"
188hw = realtec_mapper
189
190[Whac-A-Critter (Unl)]
191check_str = 0x95, "MALLET LEGEND"
192hw = realtec_mapper
193
194# EEPROM games - thanks to EkeEke for most of this info
195[College Slam]
196check_str = 0x150, "COLLEGE SLAM"
197eeprom_type = 3
198eeprom_lines = 8,0,0
199
200[Frank Thomas Big Hurt Baseball]
201check_str = 0x150, "FRANK THOMAS BIGHURT BASEBAL"
202eeprom_type = 3
203eeprom_lines = 8,0,0
204
75a6b6a9 205[Greatest Heavyweights]
206check_str = 0x150, "GREATEST HEAVYWEIGHTS"
207sram_range = 0x200000,0x200001
208eeprom_type = 1
209eeprom_lines = 1,0,0
210
45f2f245 211[MICRO MACHINES II]
212check_str = 0x150, "MICRO MACHINES II"
213sram_range = 0x300000,0x380001
214eeprom_type = 2
215eeprom_lines = 9,8,7
216
217[Micro Machines - Turbo Tournament '96]
218check_str = 0x150, " "
219check_csum = 0x165e
220sram_range = 0x300000,0x380001
221eeprom_type = 2
222eeprom_lines = 9,8,7
223
224[Micro Machines - Turbo Tournament '96]
225check_str = 0x150, " "
226check_csum = 0x2c41
227sram_range = 0x300000,0x380001
228eeprom_type = 2
229eeprom_lines = 9,8,7
230
231[Micro Machines Military]
232check_str = 0x150, " "
233check_csum = 0x168b
234sram_range = 0x300000,0x380001
235eeprom_type = 2
236eeprom_lines = 9,8,7
237
238[Micro Machines Military]
239check_str = 0x150, " "
240check_csum = 0xcee0
241sram_range = 0x300000,0x380001
242eeprom_type = 2
243eeprom_lines = 9,8,7
244
245[NBA Jam]
246check_str = 0x150, "NBA JAM "
247eeprom_type = 2
248eeprom_lines = 1,0,1
249
250[NBA Jam Tournament Edition]
251check_str = 0x150, "NBA JAM TOURNAMENT EDITION"
252sram_range = 0x200000,0x200001
253eeprom_type = 2
254eeprom_lines = 8,0,0
255
256[NFL Quarterback Club]
257check_str = 0x150, "NFL QUARTERBACK CLUB"
258eeprom_type = 2
259eeprom_lines = 8,0,0
260
261[NHLPA Hockey '93]
262check_str = 0x150, "NHLPA Hockey '93"
263sram_range = 0x200000,0x200001
264eeprom_type = 1
265eeprom_lines = 6,7,7
266
267[NHLPA Hockey '93]
268check_str = 0x150, "NHLPA HOCKEY '93"
269sram_range = 0x200000,0x200001
270eeprom_type = 1
271eeprom_lines = 6,7,7
272
273[Rings of Power]
274check_str = 0x150, "RINGS OF POWER"
275sram_range = 0x200000,0x200001
276eeprom_type = 1
277eeprom_lines = 6,7,7
278
75a6b6a9 279[Sports Talk Baseball]
280check_str = 0x150, "MLBPA SPORTS TALK BASEBALL"
281sram_range = 0x200000,0x200001
282eeprom_type = 1
283eeprom_lines = 1,0,0
284
000f5335 285# Unlicensed games with simple protections
286# some of these come from Haze, some from myself (notaz).
e1e8ca17 287# more added by irixxxx from Mame and G+GX
288# check_crc32 calculation for 1st 64 KB only to allow for overdumps
289
290# lk3, mapper + bitswapping hardware
291[Lion King 3 (Unl)]
292check_str = 0x104, " are Registered Trademarks"
293check_crc32 = 0xc9706e25
294hw = lk3_mapper
295
296[Super King Kong 99 (Unl)]
297check_str = 0x104, " are Registered Trademarks"
298check_crc32 = 0x4c98cc30
299hw = lk3_mapper
300
75a6b6a9 301[Gunfight 3-in-1 (Unl)]
302check_str = 0x104, " are Registered Trademarks"
303check_crc32 = 0x6ec032cb
304hw = lk3_mapper
305
e1e8ca17 306[Pocket Monsters II (Unl)]
307check_str = 0x104, " "
308check_crc32 = 0x0d097f5c
309hw = lk3_mapper
310
311[Pokemon Stadium (Unl)]
312check_str = 0x104, " "
313check_crc32 = 0xbf7219df
314hw = lk3_mapper
315
316[Mulan (Unl)]
317check_str = 0x104, " "
318check_crc32 = 0xb5b7606e
319hw = lk3_mapper
320
321[Final Samurai V (Unl)] # aka Soul Edge
322check_str = 0x104, " "
323check_crc32 = 0xab3ae5e9
324hw = lk3_mapper
325
326[Top Fighter 2000 (Unl)]
327check_str = 0x104, " "
328check_crc32 = 0x802f53f9
329hw = lk3_mapper
330
331# smw64 mapper + prot
332[Super Mario World 64 (Unl)]
333check_csum = 0
334check_crc32 = 0xf63b7bdc
335hw = smw64_mapper
336
337# cart I/O area
000f5335 338[Bug's Life, A (Unl)]
339check_str = 0x104, " "
e1e8ca17 340check_crc32 = 0x50aa5a9b
000f5335 341hw = prot
342prot_ro_value16 = 0xa13000,0xffff00,0x28
343
e1e8ca17 344[Rockman X3 (Unl)]
345check_csum = 0
346check_crc32 = 0xee20be2c
000f5335 347hw = prot
e1e8ca17 348prot_ro_value16 = 0xa13000,-2,0x0c
349
350[Super Mario World (Unl)]
351check_str = 0x104, "SEGASEGASEGA"
352check_crc32 = 0xc3616596
353hw = prot
354prot_ro_value16 = 0xa13000,-2,0x1c
355
356[Super Mario Bros. 2 (Unl)] # aka Super Mario 2 1998
357check_str = 0x104, " are Registered Trademarks"
358check_crc32 = 0x7861fb28
359hw = prot
360prot_ro_value16 = 0xa13000,-2,0x0a
361
362[Pocket Monsters (Unl)]
363check_str = 0x104, " "
364check_crc32 = 0xf4cb9b37
365hw = prot
366prot_ro_value16 = 0xa13000,-2,0x00
367prot_ro_value16 = 0xa13002,-2,0x01
368prot_ro_value16 = 0xa1303e,-2,0x1f
000f5335 369
e1e8ca17 370[King of Fighters '99, The (Unl)]
000f5335 371check_str = 0x104, " "
e1e8ca17 372check_crc32 = 0x7bdfb390
373hw = prot
374prot_ro_value16 = 0xa13000,-2,0x00
375prot_ro_value16 = 0xa13002,-2,0x01
376prot_ro_value16 = 0xa1303e,-2,0x1f
377
378# cart upper 4MB
379[King of Fighters '98+2000, The (Unl)]
380check_str = 0x104, " "
381check_crc32 = 0x8fb8b29e
000f5335 382hw = prot
383prot_ro_value16 = 0x480000,0xff0000,0xaa00
384prot_ro_value16 = 0x4a0000,0xff0000,0x0a00
385prot_ro_value16 = 0x4c0000,0xff0000,0xf000
386prot_ro_value16 = 0x400000,0xc00000,0x0000 # default for 400000-7f0000
387
e1e8ca17 388[Mahjong Lover (Unl), Super Majon Club (Unl), Insane Paradise (Unl)]
389# Majiang qingren, Chaoji majiang Club, Fengkuang taohuayuan (Crazy Utopia)
390check_str = 0x104, " MEGA DRIVE (C)"
391check_str = 0x118, "CREATON."
392check_str = 0x180, "MDGM-000"
393hw = prot
394prot_ro_value16 = 0x400000,-2,0x9000
395prot_ro_value16 = 0x401000,-2,0xd300
396
397[Rook Mann (Unl)] # aka Rock Heaven
398check_csum = 0x6cca
399check_crc32 = 0xab5d5d9e
400hw = prot
401prot_ro_value16 = 0x500008,-2,0x5000
402
403[Rock World (Unl)]
404check_str = 0x113, "KANKO 91-92"
405check_crc32 = 0x79423515
406hw = prot
407prot_ro_value16 = 0x500008,-2,0x5000
408prot_ro_value16 = 0x500208,-2,0xa000
000f5335 409
410[Lion King II, The (Unl)]
411check_str = 0x104, " are Registered Trademarks"
e1e8ca17 412check_crc32 = 0x7009cac3
000f5335 413hw = prot
414prot_rw_value16 = 0x400000,0xc00004,0
415prot_rw_value16 = 0x400004,0xc00004,0
416
e1e8ca17 417[Squirrel King (Unl)]
418check_str = 0x104, " are Registered Trademarks"
419check_crc32 = 0x1c602dd4
000f5335 420hw = prot
e1e8ca17 421prot_rw_value16 = 0x400000,0xc00000,0
422prot_rw_value16 = 0x400004,0xc00004,0
000f5335 423
e1e8ca17 424[Tiny Toon Adventures 3 (Unl)]
425check_str = 0x104, " are Registered Trademarks"
426check_crc32 = 0xc31cfcca
000f5335 427hw = prot
e1e8ca17 428prot_rw_value16 = 0x400000,0xc00000,0
429prot_rw_value16 = 0x400004,0xc00004,0
000f5335 430
e1e8ca17 431[Barver Battle Saga (Unl)] # Taikong zhanshi
432check_csum = 0x30b9
433check_crc32 = 0x35e0ff17
000f5335 434hw = prot
e1e8ca17 435prot_rw_value16 = 0x400000,0xc00000,0
436prot_rw_value16 = 0x400004,0xc00004,0
000f5335 437
75a6b6a9 438[Final Fantasy (Unl)] # Taikong zhanshi (russian bootleg)
439check_csum = 0x5ff9
440check_crc32 = 0x4b2b163a
441hw = prot
442prot_rw_value16 = 0x400000,0xc00000,0
443prot_rw_value16 = 0x400004,0xc00004,0
444
e1e8ca17 445[Water Margin (Unl)] # Shuihu Zhuan
446check_csum = 0x6001
447check_crc32 = 0xfa80956a
000f5335 448hw = prot
e1e8ca17 449prot_rw_value16 = 0x400000,0xc00000,0
450prot_rw_value16 = 0x400004,0xc00004,0
451
452[Legend of Fengshen Yingjie, The (Unl)] # Fengshen yingjie chuan (Canon)
453check_csum = 0xffff
454check_crc32 = 0x91865ea4
455hw = prot
456prot_rw_value16 = 0x400000,0xc00000,0
457prot_rw_value16 = 0x400004,0xc00004,0
458
459[Legend of Arthur, The (Unl)] # Ya se chuanshuo
460check_csum = 0xffff
461check_crc32 = 0x8e83dbfa
462hw = prot
463prot_ro_value16 = 0x400000,-2,0x6300
464prot_ro_value16 = 0x400002,-2,0x9800
465prot_ro_value16 = 0x400004,-2,0xc900
466prot_ro_value16 = 0x400006,-2,0x1800
467
468[Wucom Legend (Unl)] # Wukong waizhuan
469check_str = 0x104, " are Registered Trademarks"
470check_crc32 = 0xf838aa3b
471hw = prot
472prot_ro_value16 = 0x400000,-2,0x6300
473prot_ro_value16 = 0x400002,-2,0x9800
474prot_ro_value16 = 0x400004,-2,0xc900
475prot_ro_value16 = 0x400006,-2,0x1800
476
477[Super Magician (Unl)] # Ling huan daoshi
478check_str = 0x172, "GAME : ELF WOR"
479hw = prot
480prot_ro_value16 = 0x400000,-2,0x5500
481prot_ro_value16 = 0x400002,-2,0x0f00 # check is done if the above one fails
482prot_ro_value16 = 0x400004,-2,0xc900
483prot_ro_value16 = 0x400006,-2,0x1800 # similar to above
484
485[Mighty Morphin Power Rangers (Unl)]
486check_str = 0x104, " "
487check_crc32 = 0x5fdeb37b
488hw = prot
489prot_ro_value16 = 0x400000,-2,0x5500
490prot_ro_value16 = 0x400002,-2,0x0f00
491prot_ro_value16 = 0x400004,-2,0xc900
492prot_ro_value16 = 0x400006,-2,0x1800
000f5335 493
e1e8ca17 494[Smart Mouse (Unl)] # Huanle taoqi shu
000f5335 495check_csum = 0
e1e8ca17 496check_crc32 = 0xc9539fce
000f5335 497hw = prot
498prot_ro_value16 = 0x400000,-2,0x5500
499prot_ro_value16 = 0x400002,-2,0x0f00
500prot_ro_value16 = 0x400004,-2,0xaa00
501prot_ro_value16 = 0x400006,-2,0xf000
502
503[Soul Blade (Unl)]
504check_str = 0x104, " "
e1e8ca17 505check_crc32 = 0x6a95f766
000f5335 506hw = prot
e1e8ca17 507prot_ro_value16 = 0x400000,-2,0x6300
000f5335 508prot_ro_value16 = 0x400002,-2,0x9800
509prot_ro_value16 = 0x400004,-2,0xaa00 # or 0xc900
510prot_ro_value16 = 0x400006,-2,0xf000
511
512[Super Bubble Bobble (Unl)]
513check_str = 0x104, " are Registered Trademarks"
e1e8ca17 514check_crc32 = 0xf93f3d0b
000f5335 515hw = prot
516prot_ro_value16 = 0x400000,-2,0x5500
517prot_ro_value16 = 0x400002,-2,0x0f00
518
e1e8ca17 519[Battle of Red Cliffs, The (Unl)] # Sanguo yanyi (Romance of the 3 Kingdoms)
000f5335 520check_str = 0x104, " are Registered Trademarks"
e1e8ca17 521check_crc32 = 0x66165305
522hw = prot
523prot_ro_value16 = 0x400000,-2,0x5500
524prot_ro_value16 = 0x400002,-2,0x0f00
525prot_ro_value16 = 0x400004,-2,0xaa00
526prot_ro_value16 = 0x400006,-2,0xf000
000f5335 527
e1e8ca17 528[Tunderbolt II (Unl)] # Leidian
529check_str = 0xfe, "WISEGAME"
530check_crc32 = 0x6f01bd65
000f5335 531hw = prot
e1e8ca17 532prot_ro_value16 = 0x400000,-2,0x5500
533prot_ro_value16 = 0x400002,-2,0x0f00
534prot_ro_value16 = 0x400004,-2,0xaa00
535prot_ro_value16 = 0x400006,-2,0xf000
000f5335 536
e1e8ca17 537[16 Tiles Mahjong 1+2 (Unl)] # Zhang majiang
538check_str = 0xfe, "WISEGAME IS TRADE MARKER"
000f5335 539hw = prot
e1e8ca17 540prot_ro_value16 = 0x400002,-2,0xaa00
541prot_ro_value16 = 0x400004,-2,0xc900
542prot_ro_value16 = 0x400006,-2,0xf000
000f5335 543
e1e8ca17 544[Super Poker (Unl)] # Chaoji puke
545check_csum = 0xffff
546check_crc32 = 0xdd02797c
000f5335 547hw = prot
e1e8ca17 548prot_ro_value16 = 0x400000,-2,0x5500
549prot_ro_value16 = 0x400002,-2,0x0f00
550prot_ro_value16 = 0x400004,-2,0xaa00
551prot_ro_value16 = 0x400006,-2,0xf000
552
553[777 Casino (Unl)] # Menghuan shuiguo pan
554check_csum = 0
555check_crc32 = 0xee9fc429
556hw = prot
557prot_ro_value16 = 0x400000,-2,0x6300
000f5335 558
a67db32a 559# Unlicensed homebrew games made by V.M.V.
560# to prevent bus conflicts between the audio drivers in 68k and Z80
561
562[Ben 10 (Unl)]
563check_str = 0x180, "GM 00000000-00"
564check_crc32 = 0x6732aab4
565prop = no_z80_bus_lock
566
567[Mario 3: Vokrug Sveta (Unl)]
568check_str = 0x180, "GM 00000000-00"
569check_crc32 = 0xe302585a
570prop = no_z80_bus_lock
571
572[Mario 4: Kosmicheskaya Odisseya (Unl)]
573check_csum = 8224
574check_crc32 = 0x20ed0de8
575prop = no_z80_bus_lock