mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
md, reworked cart protection handling, added some unlicensed
This commit is contained in:
parent
27b26d0478
commit
e1e8ca17be
6 changed files with 625 additions and 195 deletions
276
pico/carthw.cfg
276
pico/carthw.cfg
|
@ -1,8 +1,7 @@
|
|||
# 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.
|
||||
# prot - simple copy protection devices in unlicensed cartridges (see prot. below)
|
||||
#
|
||||
# cartridge properties (prop = ...):
|
||||
# no_sram - don't emulate sram/EEPROM even if ROM headers tell it's there
|
||||
|
@ -17,6 +16,8 @@
|
|||
# radica_mapper - similar to x_in_1_mapper
|
||||
# piersolar_mapper - used in Pier Solar
|
||||
# sf00x_mapper - versions x=1,2,4 used by superfighter team
|
||||
# lk3_mapper - mapper for Lion King 3 / Super King Kong 99 and some more
|
||||
# smw64_mapper - mapper for Super Mario World 64
|
||||
#
|
||||
# save storage memory range (inclusive, overrides ROM header):
|
||||
# sram_range = <start, end>
|
||||
|
@ -237,72 +238,204 @@ eeprom_lines = 6,7,7
|
|||
|
||||
# Unlicensed games with simple protections
|
||||
# some of these come from Haze, some from myself (notaz).
|
||||
# more added by irixxxx from Mame and G+GX
|
||||
# check_crc32 calculation for 1st 64 KB only to allow for overdumps
|
||||
|
||||
# lk3, mapper + bitswapping hardware
|
||||
[Lion King 3 (Unl)]
|
||||
check_str = 0x104, " are Registered Trademarks"
|
||||
check_crc32 = 0xc9706e25
|
||||
hw = lk3_mapper
|
||||
|
||||
[Super King Kong 99 (Unl)]
|
||||
check_str = 0x104, " are Registered Trademarks"
|
||||
check_crc32 = 0x4c98cc30
|
||||
hw = lk3_mapper
|
||||
|
||||
[Pocket Monsters II (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0x0d097f5c
|
||||
hw = lk3_mapper
|
||||
|
||||
[Pokemon Stadium (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0xbf7219df
|
||||
hw = lk3_mapper
|
||||
|
||||
[Mulan (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0xb5b7606e
|
||||
hw = lk3_mapper
|
||||
|
||||
[Final Samurai V (Unl)] # aka Soul Edge
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0xab3ae5e9
|
||||
hw = lk3_mapper
|
||||
|
||||
[Top Fighter 2000 (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0x802f53f9
|
||||
hw = lk3_mapper
|
||||
|
||||
# smw64 mapper + prot
|
||||
[Super Mario World 64 (Unl)]
|
||||
check_csum = 0
|
||||
check_crc32 = 0xf63b7bdc
|
||||
hw = smw64_mapper
|
||||
|
||||
# cart I/O area
|
||||
[Bug's Life, A (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0x10458e09
|
||||
check_crc32 = 0x50aa5a9b
|
||||
hw = prot
|
||||
prot_ro_value16 = 0xa13000,0xffff00,0x28
|
||||
|
||||
[Elf Wor (Unl)]
|
||||
check_str = 0x172, "GAME : ELF WOR"
|
||||
[Rockman X3 (Unl)]
|
||||
check_csum = 0
|
||||
check_crc32 = 0xee20be2c
|
||||
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
|
||||
prot_ro_value16 = 0xa13000,-2,0x0c
|
||||
|
||||
[King of Fighters '98, The (Unl)]
|
||||
[Super Mario World (Unl)]
|
||||
check_str = 0x104, "SEGASEGASEGA"
|
||||
check_crc32 = 0xc3616596
|
||||
hw = prot
|
||||
prot_ro_value16 = 0xa13000,-2,0x1c
|
||||
|
||||
[Super Mario Bros. 2 (Unl)] # aka Super Mario 2 1998
|
||||
check_str = 0x104, " are Registered Trademarks"
|
||||
check_crc32 = 0x7861fb28
|
||||
hw = prot
|
||||
prot_ro_value16 = 0xa13000,-2,0x0a
|
||||
|
||||
[Pocket Monsters (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0xcbc38eea
|
||||
check_crc32 = 0xf4cb9b37
|
||||
hw = prot
|
||||
prot_ro_value16 = 0xa13000,-2,0x00
|
||||
prot_ro_value16 = 0xa13002,-2,0x01
|
||||
prot_ro_value16 = 0xa1303e,-2,0x1f
|
||||
|
||||
[King of Fighters '99, The (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0x7bdfb390
|
||||
hw = prot
|
||||
prot_ro_value16 = 0xa13000,-2,0x00
|
||||
prot_ro_value16 = 0xa13002,-2,0x01
|
||||
prot_ro_value16 = 0xa1303e,-2,0x1f
|
||||
|
||||
# cart upper 4MB
|
||||
[King of Fighters '98+2000, The (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0x8fb8b29e
|
||||
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
|
||||
[Mahjong Lover (Unl), Super Majon Club (Unl), Insane Paradise (Unl)]
|
||||
# Majiang qingren, Chaoji majiang Club, Fengkuang taohuayuan (Crazy Utopia)
|
||||
check_str = 0x104, " MEGA DRIVE (C)"
|
||||
check_str = 0x118, "CREATON."
|
||||
check_str = 0x180, "MDGM-000"
|
||||
hw = prot
|
||||
prot_ro_value16 = 0x400000,-2,0x9000
|
||||
prot_ro_value16 = 0x401000,-2,0xd300
|
||||
|
||||
[Pocket Monsters (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0xf68f6367
|
||||
[Rook Mann (Unl)] # aka Rock Heaven
|
||||
check_csum = 0x6cca
|
||||
check_crc32 = 0xab5d5d9e
|
||||
hw = prot
|
||||
prot_ro_value16 = 0xa13002,-2,0x01
|
||||
prot_ro_value16 = 0xa1303e,-2,0x1f
|
||||
prot_ro_value16 = 0x500008,-2,0x5000
|
||||
|
||||
[Pocket Monsters (Unl) [a1]]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0xfb176667
|
||||
[Rock World (Unl)]
|
||||
check_str = 0x113, "KANKO 91-92"
|
||||
check_crc32 = 0x79423515
|
||||
hw = prot
|
||||
prot_ro_value16 = 0xa13000,-2,0x14
|
||||
prot_ro_value16 = 0xa13002,-2,0x01
|
||||
prot_ro_value16 = 0xa1303e,-2,0x1f
|
||||
prot_ro_value16 = 0x500008,-2,0x5000
|
||||
prot_ro_value16 = 0x500208,-2,0xa000
|
||||
|
||||
[Rockman X3 (Unl)]
|
||||
[Lion King II, The (Unl)]
|
||||
check_str = 0x104, " are Registered Trademarks"
|
||||
check_crc32 = 0x7009cac3
|
||||
hw = prot
|
||||
prot_rw_value16 = 0x400000,0xc00004,0
|
||||
prot_rw_value16 = 0x400004,0xc00004,0
|
||||
|
||||
[Squirrel King (Unl)]
|
||||
check_str = 0x104, " are Registered Trademarks"
|
||||
check_crc32 = 0x1c602dd4
|
||||
hw = prot
|
||||
prot_rw_value16 = 0x400000,0xc00000,0
|
||||
prot_rw_value16 = 0x400004,0xc00004,0
|
||||
|
||||
[Tiny Toon Adventures 3 (Unl)]
|
||||
check_str = 0x104, " are Registered Trademarks"
|
||||
check_crc32 = 0xc31cfcca
|
||||
hw = prot
|
||||
prot_rw_value16 = 0x400000,0xc00000,0
|
||||
prot_rw_value16 = 0x400004,0xc00004,0
|
||||
|
||||
[Barver Battle Saga (Unl)] # Taikong zhanshi
|
||||
check_csum = 0x30b9
|
||||
check_crc32 = 0x35e0ff17
|
||||
hw = prot
|
||||
prot_rw_value16 = 0x400000,0xc00000,0
|
||||
prot_rw_value16 = 0x400004,0xc00004,0
|
||||
|
||||
[Water Margin (Unl)] # Shuihu Zhuan
|
||||
check_csum = 0x6001
|
||||
check_crc32 = 0xfa80956a
|
||||
hw = prot
|
||||
prot_rw_value16 = 0x400000,0xc00000,0
|
||||
prot_rw_value16 = 0x400004,0xc00004,0
|
||||
|
||||
[Legend of Fengshen Yingjie, The (Unl)] # Fengshen yingjie chuan (Canon)
|
||||
check_csum = 0xffff
|
||||
check_crc32 = 0x91865ea4
|
||||
hw = prot
|
||||
prot_rw_value16 = 0x400000,0xc00000,0
|
||||
prot_rw_value16 = 0x400004,0xc00004,0
|
||||
|
||||
[Legend of Arthur, The (Unl)] # Ya se chuanshuo
|
||||
check_csum = 0xffff
|
||||
check_crc32 = 0x8e83dbfa
|
||||
hw = prot
|
||||
prot_ro_value16 = 0x400000,-2,0x6300
|
||||
prot_ro_value16 = 0x400002,-2,0x9800
|
||||
prot_ro_value16 = 0x400004,-2,0xc900
|
||||
prot_ro_value16 = 0x400006,-2,0x1800
|
||||
|
||||
[Wucom Legend (Unl)] # Wukong waizhuan
|
||||
check_str = 0x104, " are Registered Trademarks"
|
||||
check_crc32 = 0xf838aa3b
|
||||
hw = prot
|
||||
prot_ro_value16 = 0x400000,-2,0x6300
|
||||
prot_ro_value16 = 0x400002,-2,0x9800
|
||||
prot_ro_value16 = 0x400004,-2,0xc900
|
||||
prot_ro_value16 = 0x400006,-2,0x1800
|
||||
|
||||
[Super Magician (Unl)] # Ling huan daoshi
|
||||
check_str = 0x172, "GAME : ELF WOR"
|
||||
hw = prot
|
||||
prot_ro_value16 = 0x400000,-2,0x5500
|
||||
prot_ro_value16 = 0x400002,-2,0x0f00 # check is done if the above one fails
|
||||
prot_ro_value16 = 0x400004,-2,0xc900
|
||||
prot_ro_value16 = 0x400006,-2,0x1800 # similar to above
|
||||
|
||||
[Mighty Morphin Power Rangers (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0x5fdeb37b
|
||||
hw = prot
|
||||
prot_ro_value16 = 0x400000,-2,0x5500
|
||||
prot_ro_value16 = 0x400002,-2,0x0f00
|
||||
prot_ro_value16 = 0x400004,-2,0xc900
|
||||
prot_ro_value16 = 0x400006,-2,0x1800
|
||||
|
||||
[Smart Mouse (Unl)] # Huanle taoqi shu
|
||||
check_csum = 0
|
||||
check_crc32 = 0x3ee639f0
|
||||
hw = prot
|
||||
prot_ro_value16 = 0xa13000,-2,0x0c
|
||||
|
||||
[Smart Mouse (Unl)]
|
||||
check_csum = 0
|
||||
check_crc32 = 0xdecdf740
|
||||
check_crc32 = 0xc9539fce
|
||||
hw = prot
|
||||
prot_ro_value16 = 0x400000,-2,0x5500
|
||||
prot_ro_value16 = 0x400002,-2,0x0f00
|
||||
|
@ -311,38 +444,57 @@ prot_ro_value16 = 0x400006,-2,0xf000
|
|||
|
||||
[Soul Blade (Unl)]
|
||||
check_str = 0x104, " "
|
||||
check_crc32 = 0xf26f88d1
|
||||
check_crc32 = 0x6a95f766
|
||||
hw = prot
|
||||
prot_ro_value16 = 0x400000,-2,0x6300
|
||||
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
|
||||
check_crc32 = 0xf93f3d0b
|
||||
hw = prot
|
||||
prot_ro_value16 = 0x400000,-2,0x5500
|
||||
prot_ro_value16 = 0x400002,-2,0x0f00
|
||||
|
||||
[Super King Kong 99 (Unl)]
|
||||
[Battle of Red Cliffs, The (Unl)] # Sanguo yanyi (Romance of the 3 Kingdoms)
|
||||
check_str = 0x104, " are Registered Trademarks"
|
||||
check_crc32 = 0x413dfee2
|
||||
hw = prot_lk3
|
||||
|
||||
[Super Mario Bros. (Unl)]
|
||||
check_str = 0x140, "SUPER MARIO BROS "
|
||||
check_crc32 = 0x66165305
|
||||
hw = prot
|
||||
prot_ro_value16 = 0xa13000,-2,0x0c
|
||||
prot_ro_value16 = 0x400000,-2,0x5500
|
||||
prot_ro_value16 = 0x400002,-2,0x0f00
|
||||
prot_ro_value16 = 0x400004,-2,0xaa00
|
||||
prot_ro_value16 = 0x400006,-2,0xf000
|
||||
|
||||
[Super Mario 2 1998 (Unl)]
|
||||
check_str = 0x104, " are Registered Trademarks"
|
||||
check_crc32 = 0xf7e1b3e1
|
||||
[Tunderbolt II (Unl)] # Leidian
|
||||
check_str = 0xfe, "WISEGAME"
|
||||
check_crc32 = 0x6f01bd65
|
||||
hw = prot
|
||||
prot_ro_value16 = 0xa13000,-2,0x0a
|
||||
prot_ro_value16 = 0x400000,-2,0x5500
|
||||
prot_ro_value16 = 0x400002,-2,0x0f00
|
||||
prot_ro_value16 = 0x400004,-2,0xaa00
|
||||
prot_ro_value16 = 0x400006,-2,0xf000
|
||||
|
||||
[Squirrel King (R)]
|
||||
check_str = 0x104, " are Registered Trademarks"
|
||||
check_crc32 = 0xb8261ff5
|
||||
[16 Tiles Mahjong 1+2 (Unl)] # Zhang majiang
|
||||
check_str = 0xfe, "WISEGAME IS TRADE MARKER"
|
||||
hw = prot
|
||||
prot_rw_value16 = 0x400000,0xc00000,0
|
||||
prot_ro_value16 = 0x400002,-2,0xaa00
|
||||
prot_ro_value16 = 0x400004,-2,0xc900
|
||||
prot_ro_value16 = 0x400006,-2,0xf000
|
||||
|
||||
[Super Poker (Unl)] # Chaoji puke
|
||||
check_csum = 0xffff
|
||||
check_crc32 = 0xdd02797c
|
||||
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
|
||||
|
||||
[777 Casino (Unl)] # Menghuan shuiguo pan
|
||||
check_csum = 0
|
||||
check_crc32 = 0xee9fc429
|
||||
hw = prot
|
||||
prot_ro_value16 = 0x400000,-2,0x6300
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue