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