mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-12-26 19:21:49 +01:00
[Core/MD] added support for earlier revision of SF-001 mapper
This commit is contained in:
parent
705360efbf
commit
210d19111b
@ -2,7 +2,7 @@
|
||||
* Genesis Plus
|
||||
* Mega Drive cartridge hardware support
|
||||
*
|
||||
* Copyright (C) 2007-2011 Eke-Eke (Genesis Plus GX)
|
||||
* Copyright (C) 2007-2013 Eke-Eke (Genesis Plus GX)
|
||||
*
|
||||
* Most cartridge protections were initially documented by Haze
|
||||
* (http://haze.mameworld.info/)
|
||||
@ -904,8 +904,8 @@ static void mapper_sf001_w(uint32 address, uint32 data)
|
||||
zbank_memory_map[i].read = NULL;
|
||||
}
|
||||
|
||||
/* 256K ROM banks #2 to #15 mapped to $040000-$3BFFFF */
|
||||
for (i=0x04; i<0x3c; i++)
|
||||
/* 256K ROM banks #2 to #15 mapped to $040000-$3BFFFF (last revision) or $040000-$3FFFFF (older revisions) */
|
||||
for (i=0x04; i<(sram.start >> 16); i++)
|
||||
{
|
||||
m68k.memory_map[i].base = cart.rom + (i << 16);
|
||||
m68k.memory_map[i].read8 = NULL;
|
||||
@ -913,8 +913,8 @@ static void mapper_sf001_w(uint32 address, uint32 data)
|
||||
zbank_memory_map[i].read = NULL;
|
||||
}
|
||||
|
||||
/* 32K static RAM mirrored into $3C0000-$3FFFFF (odd bytes only) */
|
||||
for (i=0x3c; i<0x40; i++)
|
||||
/* 32K static RAM mirrored into $3C0000-$3FFFFF (odd bytes only) (last revision only) */
|
||||
while (i<0x40)
|
||||
{
|
||||
m68k.memory_map[i].base = sram.sram;
|
||||
m68k.memory_map[i].read8 = NULL;
|
||||
@ -923,11 +923,12 @@ static void mapper_sf001_w(uint32 address, uint32 data)
|
||||
m68k.memory_map[i].write16 = NULL;
|
||||
zbank_memory_map[i].read = NULL;
|
||||
zbank_memory_map[i].write = NULL;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 256K ROM banks #1 to #16 mapped to $000000-$3FFFFF */
|
||||
/* 256K ROM banks #1 to #16 mapped to $000000-$3FFFFF (default) */
|
||||
for (i=0x00; i<0x40; i++)
|
||||
{
|
||||
m68k.memory_map[i].base = cart.rom + (i << 16);
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Genesis Plus
|
||||
* Mega Drive cartridge hardware support
|
||||
*
|
||||
* Copyright (C) 2007-2011 Eke-Eke (Genesis Plus GX)
|
||||
* Copyright (C) 2007-2013 Eke-Eke (Genesis Plus GX)
|
||||
*
|
||||
* Most cartridge protections were initially documented by Haze
|
||||
* (http://haze.mameworld.info/)
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Genesis Plus
|
||||
* Backup RAM support
|
||||
*
|
||||
* Copyright (C) 2007-2011 Eke-Eke (Genesis Plus GX)
|
||||
* Copyright (C) 2007-2013 Eke-Eke (Genesis Plus GX)
|
||||
*
|
||||
* Redistribution and use of this code or any derivative works are permitted
|
||||
* provided that the following conditions are met:
|
||||
@ -122,15 +122,25 @@ void sram_init()
|
||||
{
|
||||
/* Xin Qigai Wangzi (use uncommon area) */
|
||||
sram.on = 1;
|
||||
sram.start = 0x400000;
|
||||
sram.start = 0x400001;
|
||||
sram.end = 0x40ffff;
|
||||
}
|
||||
else if ((strstr(rominfo.ROMType,"SF") != NULL) && (strstr(rominfo.product,"001") != NULL))
|
||||
{
|
||||
/* SF-001 (use bankswitching) */
|
||||
/* SF-001 */
|
||||
sram.on = 1;
|
||||
sram.start = 0x3c0001;
|
||||
sram.end = 0x3cffff;
|
||||
if (rominfo.checksum == 0x3e08)
|
||||
{
|
||||
/* last revision (use bankswitching) */
|
||||
sram.start = 0x3c0001;
|
||||
sram.end = 0x3cffff;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* older revisions (use uncommon area) */
|
||||
sram.start = 0x400001;
|
||||
sram.end = 0x40ffff;
|
||||
}
|
||||
}
|
||||
else if ((strstr(rominfo.ROMType,"SF") != NULL) && (strstr(rominfo.product,"004") != NULL))
|
||||
{
|
||||
@ -147,7 +157,7 @@ void sram_init()
|
||||
/* Sonic 3 & Knuckles combined ROM */
|
||||
/* it shows S&K header but should obviously use FRAM from Sonic 3 */
|
||||
sram.on = 1;
|
||||
sram.start = 0x200000;
|
||||
sram.start = 0x200001;
|
||||
sram.end = 0x203fff;
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Genesis Plus
|
||||
* Backup RAM support
|
||||
*
|
||||
* Copyright (C) 2007-2011 Eke-Eke (Genesis Plus GX)
|
||||
* Copyright (C) 2007-2013 Eke-Eke (Genesis Plus GX)
|
||||
*
|
||||
* Redistribution and use of this code or any derivative works are permitted
|
||||
* provided that the following conditions are met:
|
||||
|
Loading…
Reference in New Issue
Block a user