carthw.cfg 8.2 KB

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