123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- # hardware (hw = ...):
- # 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 = ...):
- # 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
- # piersolar_mapper - used in Pier Solar
- #
- # save storage memory range (inclusive, overrides ROM header):
- # sram_range = <start, end>
- #
- # EEPROM:
- # eeprom_type = <1|2|3> - enable EEPROM, use type X (7bit, 2 addr words, 3 addr words).
- # See EkeEke's gen_eeprom.pdf "mode" descriptions for 24Cxx EEPROMs.
- # eeprom_lines = <SCL,SDA_IN,SDA_OUT>
- # - 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 = <addr, mask, val> - return constant <val> on reads at location
- # (<addr> & <mask>), ignore writes.
- # prot_rw_value16 = <addr, mask, val> - 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]
- check_str = 0x100, "SEGA PICO"
- hw = pico
- [Pico]
- check_str = 0x100, "IMA IKUNOUJYUKU"
- hw = pico
- # sram emulation triggers some protection for this one
- [Puggsy]
- check_str = 0x120, "PUGGSY"
- prop = no_sram
- # game has problems if it's save RAM is not initialized with FFh:
- [Dino Dini's Soccer]
- check_str = 0x150, "DINO DINI'S SOCCER"
- prop = filled_sram
- [Micro Machines 2 - Turbo Tournament]
- check_str = 0x150, "MICRO MACHINES II"
- prop = filled_sram
- # bad headers
- [HardBall III]
- check_str = 0x150, " HardBall III"
- sram_range = 0x200000,0x20ffff
- # 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.
- [12-in-1 (Unl)]
- check_str = 0x120, "FLICKY"
- check_size_gt = 0x020000
- hw = x_in_1_mapper
- [4-in-1]
- check_str = 0x150, "ROBOCOP 3"
- check_size_gt = 0x080000
- hw = x_in_1_mapper
- [4-in-1 a1]
- check_str = 0x150, "ALIEN 3"
- check_size_gt = 0x080000
- hw = x_in_1_mapper
- [Super 15-in-1]
- check_str = 0x150, " SHOVE IT!"
- check_size_gt = 0x020000
- hw = x_in_1_mapper
- [Super 19-in-1]
- check_str = 0x150, "MS PACMAN"
- check_size_gt = 0x020000
- hw = x_in_1_mapper
- # radica
- [radica_v1]
- check_str = 0x150, "KID CHAMELEON"
- check_size_gt = 0x100000
- hw = radica_mapper
- # realtec
- [Earth Defend, The (Unl)]
- check_str = 0x94, "THE EARTH DEFEND"
- hw = realtec_mapper
- [Funny World & Balloon Boy (Unl)]
- check_str = 0xfe, "WISEGAME 11-03-1993"
- hw = realtec_mapper
- [Whac-A-Critter (Unl)]
- check_str = 0x95, "MALLET LEGEND"
- hw = realtec_mapper
- # EEPROM games - thanks to EkeEke for most of this info
- [College Slam]
- check_str = 0x150, "COLLEGE SLAM"
- eeprom_type = 3
- eeprom_lines = 8,0,0
- [Frank Thomas Big Hurt Baseball]
- check_str = 0x150, "FRANK THOMAS BIGHURT BASEBAL"
- eeprom_type = 3
- eeprom_lines = 8,0,0
- [MICRO MACHINES II]
- check_str = 0x150, "MICRO MACHINES II"
- sram_range = 0x300000,0x380001
- eeprom_type = 2
- eeprom_lines = 9,8,7
- [Micro Machines - Turbo Tournament '96]
- check_str = 0x150, " "
- check_csum = 0x165e
- sram_range = 0x300000,0x380001
- eeprom_type = 2
- eeprom_lines = 9,8,7
- [Micro Machines - Turbo Tournament '96]
- check_str = 0x150, " "
- check_csum = 0x2c41
- sram_range = 0x300000,0x380001
- eeprom_type = 2
- eeprom_lines = 9,8,7
- [Micro Machines Military]
- check_str = 0x150, " "
- check_csum = 0x168b
- sram_range = 0x300000,0x380001
- eeprom_type = 2
- eeprom_lines = 9,8,7
- [Micro Machines Military]
- check_str = 0x150, " "
- check_csum = 0xcee0
- sram_range = 0x300000,0x380001
- eeprom_type = 2
- eeprom_lines = 9,8,7
- [NBA Jam]
- check_str = 0x150, "NBA JAM "
- eeprom_type = 2
- eeprom_lines = 1,0,1
- [NBA Jam Tournament Edition]
- check_str = 0x150, "NBA JAM TOURNAMENT EDITION"
- sram_range = 0x200000,0x200001
- eeprom_type = 2
- eeprom_lines = 8,0,0
- [NFL Quarterback Club]
- check_str = 0x150, "NFL QUARTERBACK CLUB"
- eeprom_type = 2
- eeprom_lines = 8,0,0
- [NHLPA Hockey '93]
- check_str = 0x150, "NHLPA Hockey '93"
- sram_range = 0x200000,0x200001
- eeprom_type = 1
- eeprom_lines = 6,7,7
- [NHLPA Hockey '93]
- check_str = 0x150, "NHLPA HOCKEY '93"
- sram_range = 0x200000,0x200001
- eeprom_type = 1
- eeprom_lines = 6,7,7
- [Rings of Power]
- check_str = 0x150, "RINGS OF POWER"
- 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
|