mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
Merge pull request #89 from upstream/irixxxx_xin1
* upstream/irixxxx_xin1: carthw: more x-in-1 carts carthw: more accurate x-in-1 pirate handling
This commit is contained in:
commit
3615ff7283
3 changed files with 48 additions and 7 deletions
|
@ -146,6 +146,16 @@ check_str = 0x150, "ALIEN 3"
|
|||
check_size_gt = 0x080000
|
||||
hw = x_in_1_mapper
|
||||
|
||||
[5-in-1 Megadrive Portable]
|
||||
check_str = 0x150, "TINY TOON ADVENTURES"
|
||||
check_size_gt = 0x080000
|
||||
hw = x_in_1_mapper
|
||||
|
||||
[40-games-in-1]
|
||||
check_str = 0x160, "FS MOONWALKER"
|
||||
check_size_gt = 0x080000
|
||||
hw = x_in_1_mapper
|
||||
|
||||
[Super 15-in-1]
|
||||
check_str = 0x150, " SHOVE IT!"
|
||||
check_size_gt = 0x020000
|
||||
|
|
|
@ -133,7 +133,7 @@ static carthw_state_chunk carthw_Xin1_state[] =
|
|||
{ 0, 0, NULL }
|
||||
};
|
||||
|
||||
// TODO: test a0, reads, w16
|
||||
// TODO: reads should also work, but then we need to handle open bus
|
||||
static void carthw_Xin1_write8(u32 a, u32 d)
|
||||
{
|
||||
if ((a & 0xffff00) != 0xa13000) {
|
||||
|
@ -141,12 +141,23 @@ static void carthw_Xin1_write8(u32 a, u32 d)
|
|||
return;
|
||||
}
|
||||
|
||||
carthw_Xin1_do(a, 0x3f, 16);
|
||||
carthw_Xin1_do(a, 0x3e, 16);
|
||||
}
|
||||
|
||||
static void carthw_Xin1_write16(u32 a, u32 d)
|
||||
{
|
||||
if ((a & 0xffff00) != 0xa13000) {
|
||||
PicoWrite16_io(a, d);
|
||||
return;
|
||||
}
|
||||
|
||||
carthw_Xin1_write8(a + 1, d);
|
||||
}
|
||||
|
||||
static void carthw_Xin1_mem_setup(void)
|
||||
{
|
||||
cpu68k_map_set(m68k_write8_map, 0xa10000, 0xa1ffff, carthw_Xin1_write8, 1);
|
||||
cpu68k_map_set(m68k_write8_map, 0xa10000, 0xa1ffff, carthw_Xin1_write8, 1);
|
||||
cpu68k_map_set(m68k_write16_map, 0xa10000, 0xa1ffff, carthw_Xin1_write16, 1);
|
||||
}
|
||||
|
||||
static void carthw_Xin1_reset(void)
|
||||
|
|
|
@ -15,6 +15,22 @@ static const char builtin_carthw_cfg[] =
|
|||
"check_str=0x100,\"IMA IKUNO\"\n"
|
||||
"hw=pico\n"
|
||||
"[]\n"
|
||||
"check_str=0x120,\"32X SAMPLE PROGRAM\"\n"
|
||||
"check_str=0x32b74c,\"Bishop Level\"\n"
|
||||
"prop=force_6btn\n"
|
||||
"[]\n"
|
||||
"check_str=0x100,\"SEGA 32X\"\n"
|
||||
"check_str=0x150,\"WWF RAW\"\n"
|
||||
"prop=wwfraw_hack#readsbackdatawrittentohighROMadressesfromcache\n"
|
||||
"[]\n"
|
||||
"check_str=0x100,\"SEGA 32X\"\n"
|
||||
"check_str=0x120,\"BLACKTHORNE\"\n"
|
||||
"prop=blackthorne_hack#readsbackdataoverwrittenby2ndCPUfromcache\n"
|
||||
"[]\n"
|
||||
"check_str=0x100,\"SEGA\"\n"
|
||||
"check_str=0x150,\"MARS CHECK PROGRAM\"\n"
|
||||
"prop=marscheck_hack#readsbackdataoverwrittenbyDMAfromcache\n"
|
||||
"[]\n"
|
||||
"check_str=0x120,\"PUGGSY\"\n"
|
||||
"prop=no_sram\n"
|
||||
"[]\n"
|
||||
|
@ -27,10 +43,6 @@ static const char builtin_carthw_cfg[] =
|
|||
"check_str=0x150,\" HardBall III\"\n"
|
||||
"sram_range=0x200000,0x20ffff\n"
|
||||
"[]\n"
|
||||
"check_str=0x150,\"32X SAMPLE PROGRAM\"\n"
|
||||
"check_str=0x32b74c,\"Bishop Level\"\n"
|
||||
"prop=force_6btn\n"
|
||||
"[]\n"
|
||||
"check_str=0x100,\"SEGA SSF\"\n"
|
||||
"hw=ssf2_mapper\n"
|
||||
"[]\n"
|
||||
|
@ -66,6 +78,14 @@ static const char builtin_carthw_cfg[] =
|
|||
"check_size_gt=0x080000\n"
|
||||
"hw=x_in_1_mapper\n"
|
||||
"[]\n"
|
||||
"check_str=0x150,\"TINY TOON ADVENTURES\"\n"
|
||||
"check_size_gt=0x080000\n"
|
||||
"hw=x_in_1_mapper\n"
|
||||
"[]\n"
|
||||
"check_str=0x160,\"FS MOONWALKER\"\n"
|
||||
"check_size_gt=0x080000\n"
|
||||
"hw=x_in_1_mapper\n"
|
||||
"[]\n"
|
||||
"check_str=0x150,\" SHOVE IT!\"\n"
|
||||
"check_size_gt=0x020000\n"
|
||||
"hw=x_in_1_mapper\n"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue