X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fcarthw.cfg;h=20742e0e697b4b5296cd0aac718780f55f93c0c2;hb=40d22a8e7610b2fdde5cfe6178605262ef0d61d7;hp=140cb0a362b5e6d66fb783f0bbd6f8c02e853425;hpb=45f2f245f51ef0c0d37df3c998595c132bfcaffa;p=picodrive.git diff --git a/pico/carthw.cfg b/pico/carthw.cfg index 140cb0a..20742e0 100644 --- a/pico/carthw.cfg +++ b/pico/carthw.cfg @@ -1,16 +1,21 @@ # hardware (hw = ...): -# svp - Sega Virtua Processor -# pico - Sega Pico (not really cart hw, but convenient to support here) +# svp - Sega Virtua Processor +# pico - Sega Pico (not really cart hw, but convenient to support here) +# prot - siple copy protection devices in unlicensed cartridges (see prot. below) +# prot_lk3 - Lion King 3 / Super King Kong 99 protection. # # cartridge properties (prop = ...): # no_sram - don't emulate sram/EEPROM even if ROM headers tell it's there # no_eeprom - save storage is not EEPROM, even if ROM headers tell it is # filled_sram - save storage needs to be initialized with FFh instead of 00h +# force_6btn - game only supports 6 button pad (32X X-men proto) # # mappers (hw = ...): -# x_in_1_mapper - used in many *-in-1 pirate carts +# ssf2_mapper - used in Super Street Fighter2 +# x_in_1_mapper - used in many *-in-1 pirate carts # realtec_mapper -# radica_mapper - similar to x_in_1_mapper +# radica_mapper - similar to x_in_1_mapper +# piersolar_mapper - used in Pier Solar # # save storage memory range (inclusive, overrides ROM header): # sram_range = @@ -21,13 +26,19 @@ # eeprom_lines = # - select data bus pins that are connected to EEPROM # SCL, SDA_IN and SDA_OUT pins (0-15 for D0-D15). +# hw = prot: +# prot_ro_value16 = - return constant on reads at location +# ( & ), ignore writes. +# prot_rw_value16 = - same as above, but writeable [Virtua Racing - SVP] check_str = 0x150, "Virtua Racing" +check_str = 0x810, "OHMP" hw = svp [Virtua Racing - SVP] check_str = 0x150, "VIRTUA RACING" +check_str = 0x810, "OHMP" hw = svp [Pico] @@ -52,6 +63,28 @@ prop = filled_sram check_str = 0x150, "MICRO MACHINES II" prop = filled_sram +# X-Men proto +[X-Men (prototype)] +check_str = 0x150, "32X SAMPLE PROGRAM" +check_str = 0x32b74c, "Bishop Level" +prop = force_6btn + +# The SSF2 mapper +[Mega Everdrive] +check_str = 0x100, "SEGA SSF" +hw = ssf2_mapper + +[Super Street Fighter II - The New Challengers (U)] +check_str = 0x150, "SUPER STREET FIGHTER2 The New Challengers" +hw = ssf2_mapper +prop = no_sram + +# The Pier Solar mapper, custom eeprom location +[Pier Solar and the Great Architects] +check_str = 0x150, "PIER" +check_str = 0x610, "Respect" +hw = piersolar_mapper + # detect *_in_1 based on first game and if it's larger than it should be, # as some dumps look like to be incomplete. # This will also pick overdumps, but those should still work with the mapper applied. @@ -178,3 +211,114 @@ sram_range = 0x200000,0x200001 eeprom_type = 1 eeprom_lines = 6,7,7 +# Unlicensed games with simple protections +# some of these come from Haze, some from myself (notaz). +[Bug's Life, A (Unl)] +check_str = 0x104, " " +check_crc32 = 0x10458e09 +hw = prot +prot_ro_value16 = 0xa13000,0xffff00,0x28 + +[Elf Wor (Unl)] +check_str = 0x172, "GAME : ELF WOR" +hw = prot +prot_ro_value16 = 0x400000,-2,0x5500 +prot_ro_value16 = 0x400002,-2,0xc900 # check is done if the above one fails +prot_ro_value16 = 0x400004,-2,0x0f00 +prot_ro_value16 = 0x400006,-2,0x1800 # similar to above + +[King of Fighters '98, The (Unl)] +check_str = 0x104, " " +check_crc32 = 0xcbc38eea +hw = prot +prot_ro_value16 = 0x480000,0xff0000,0xaa00 +prot_ro_value16 = 0x4a0000,0xff0000,0x0a00 +prot_ro_value16 = 0x4c0000,0xff0000,0xf000 +prot_ro_value16 = 0x400000,0xc00000,0x0000 # default for 400000-7f0000 + +[Lion King 3 (Unl)] +check_str = 0x104, " are Registered Trademarks" +check_crc32 = 0xc004219d +hw = prot_lk3 + +[Lion King II, The (Unl)] +check_str = 0x104, " are Registered Trademarks" +check_crc32 = 0xaff46765 +hw = prot +prot_rw_value16 = 0x400000,0xc00004,0 +prot_rw_value16 = 0x400004,0xc00004,0 + +[Mahjong Lover (Unl)] +check_str = 0x118, "CREATON. " +check_crc32 = 0xddd02ba4 +hw = prot +prot_ro_value16 = 0x400000,-2,0x9000 +prot_ro_value16 = 0x401000,-2,0xd300 + +[Pocket Monsters (Unl)] +check_str = 0x104, " " +check_crc32 = 0xf68f6367 +hw = prot +prot_ro_value16 = 0xa13002,-2,0x01 +prot_ro_value16 = 0xa1303e,-2,0x1f + +[Pocket Monsters (Unl) [a1]] +check_str = 0x104, " " +check_crc32 = 0xfb176667 +hw = prot +prot_ro_value16 = 0xa13000,-2,0x14 +prot_ro_value16 = 0xa13002,-2,0x01 +prot_ro_value16 = 0xa1303e,-2,0x1f + +[Rockman X3 (Unl)] +check_csum = 0 +check_crc32 = 0x3ee639f0 +hw = prot +prot_ro_value16 = 0xa13000,-2,0x0c + +[Smart Mouse (Unl)] +check_csum = 0 +check_crc32 = 0xdecdf740 +hw = prot +prot_ro_value16 = 0x400000,-2,0x5500 +prot_ro_value16 = 0x400002,-2,0x0f00 +prot_ro_value16 = 0x400004,-2,0xaa00 +prot_ro_value16 = 0x400006,-2,0xf000 + +[Soul Blade (Unl)] +check_str = 0x104, " " +check_crc32 = 0xf26f88d1 +hw = prot +prot_ro_value16 = 0x400002,-2,0x9800 +prot_ro_value16 = 0x400004,-2,0xaa00 # or 0xc900 +prot_ro_value16 = 0x400006,-2,0xf000 + +[Super Bubble Bobble (Unl)] +check_str = 0x104, " are Registered Trademarks" +check_crc32 = 0x4820a161 +hw = prot +prot_ro_value16 = 0x400000,-2,0x5500 +prot_ro_value16 = 0x400002,-2,0x0f00 + +[Super King Kong 99 (Unl)] +check_str = 0x104, " are Registered Trademarks" +check_crc32 = 0x413dfee2 +hw = prot_lk3 + +[Super Mario Bros. (Unl)] +check_str = 0x140, "SUPER MARIO BROS " +hw = prot +prot_ro_value16 = 0xa13000,-2,0x0c + +[Super Mario 2 1998 (Unl)] +check_str = 0x104, " are Registered Trademarks" +check_crc32 = 0xf7e1b3e1 +hw = prot +prot_ro_value16 = 0xa13000,-2,0x0a + +[Squirrel King (R)] +check_str = 0x104, " are Registered Trademarks" +check_crc32 = 0xb8261ff5 +hw = prot +prot_rw_value16 = 0x400000,0xc00000,0 +