summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author etabeta78 <etabeta78@users.noreply.github.com>2014-12-27 01:00:48 +0100
committer etabeta78 <etabeta78@users.noreply.github.com>2014-12-27 01:00:48 +0100
commit608d95207449d30f14d1273f429994ac14e3b12c (patch)
tree61c958a3f115f0e8f5820ef5fdb8ddafb55c3809
parente2bc8a0295703f234550efa8e7751698aa58811e (diff)
(MESS) megadriv: slightly improved support for CodeMasters 2-in-1 carts
and added a pair of unlicensed game dumps. nw.
-rw-r--r--hash/megadriv.xml30
-rw-r--r--src/emu/bus/megadrive/md_slot.c2
-rw-r--r--src/emu/bus/megadrive/rom.c2
3 files changed, 28 insertions, 6 deletions
diff --git a/hash/megadriv.xml b/hash/megadriv.xml
index 6650788b6cd..340162e90ab 100644
--- a/hash/megadriv.xml
+++ b/hash/megadriv.xml
@@ -119,9 +119,9 @@ Info on Sega chip labels (from Sunbeam / Digital Corruption)
<feature name="u2" value="FANTASTIC DIZZY MD MDFD BB07"/> <!-- location not really marked on PCB, using u2 for consistency -->
<feature name="left" value="GD74HC00"/>
<feature name="right" value="GD74HC74"/>
- <dataarea name="rom" width="16" endianness="big" size="2621440">
- <rom name="cosmic spacehead md mdcs e4f7.u1" size="1048576" crc="cb89e605" sha1="b5bc4a786639d1b8ae6de76f40dbe907b3f0b642" offset="0x000000"/>
- <rom name="fantastic dizzy md mdfd bb07.u2" size="524288" crc="46447e7a" sha1="b320174d3b43f30b477818a27b4da30462a52003" offset="0x200000"/>
+ <dataarea name="rom" width="16" endianness="big" size="4194304">
+ <rom name="fantastic dizzy md mdfd bb07.u2" size="524288" crc="46447e7a" sha1="b320174d3b43f30b477818a27b4da30462a52003" offset="0x000000"/>
+ <rom name="cosmic spacehead md mdcs e4f7.u1" size="1048576" crc="cb89e605" sha1="b5bc4a786639d1b8ae6de76f40dbe907b3f0b642" offset="0x200000"/>
</dataarea>
</part>
</software>
@@ -9602,7 +9602,7 @@ Info on Sega chip labels (from Sunbeam / Digital Corruption)
<publisher>Codemasters</publisher>
<part name="cart" interface="megadriv_cart">
<feature name="slot" value="rom_cm2in1"/>
- <dataarea name="rom" width="16" endianness="big" size="2621440">
+ <dataarea name="rom" width="16" endianness="big" size="4194304">
<rom name="mdppf821.bin" size="2097152" crc="32dd8351" sha1="928f46ca87886c6e72d10f7c9db29b09e483bc49" offset="0x000000"/>
<rom name="mdmm acd3.bin" size="524288" crc="50081a0b" sha1="56a8844c376f2e79e92cf128681fa3fef81c36d6" offset="0x200000"/>
</dataarea>
@@ -30078,6 +30078,17 @@ Notice that these are not working on real hardware due to bugged code with VDP i
</part>
</software>
+ <software name="linkdrgn">
+ <description>Link Dragon</description>
+ <year>1993</year>
+ <publisher>Songtly</publisher>
+ <part name="cart" interface="megadriv_cart">
+ <dataarea name="rom" width="16" endianness="big" size="262144">
+ <rom name="link dragon (unl).bin" size="262144" crc="1b86e623" sha1="09e4b59da3344f16ce6173c432c88ee9a12a3561" offset="0x000000"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="lionkin3a" cloneof="lionkin3">
<description>Lion King 3 (Alt?)</description>
<year>199?</year>
@@ -30173,6 +30184,17 @@ Notice that these are not working on real hardware due to bugged code with VDP i
</part>
</software>
+ <software name="tankwar">
+ <description>Super Tank War</description>
+ <year>199?</year>
+ <publisher>Gamtec</publisher>
+ <part name="cart" interface="megadriv_cart">
+ <dataarea name="rom" width="16" endianness="big" size="262144">
+ <rom name="super tank war (unlicensed) [raw dump].bin" size="262144" crc="5e519ea1" sha1="7e00475f99035fb20f624a7fe0d6bb77c7e834b1" offset="0x000000"/>
+ </dataarea>
+ </part>
+ </software>
+
<!-- Other Dumps to be sorted -->
diff --git a/src/emu/bus/megadrive/md_slot.c b/src/emu/bus/megadrive/md_slot.c
index dd9bd986c36..5cc2c124ecb 100644
--- a/src/emu/bus/megadrive/md_slot.c
+++ b/src/emu/bus/megadrive/md_slot.c
@@ -384,7 +384,7 @@ int base_md_cart_slot_device::load_list()
m_type = md_get_pcb_id(slot_name);
// handle mirroring of ROM, unless it's SSF2 or Pier Solar
- if (m_type != SSF2 && m_type != PSOLAR)
+ if (m_type != SSF2 && m_type != PSOLAR && m_type != CM_2IN1)
m_cart->rom_map_setup(length);
return IMAGE_INIT_PASS;
diff --git a/src/emu/bus/megadrive/rom.c b/src/emu/bus/megadrive/rom.c
index c5c5b93c49f..a2c08860134 100644
--- a/src/emu/bus/megadrive/rom.c
+++ b/src/emu/bus/megadrive/rom.c
@@ -531,7 +531,7 @@ WRITE16_MEMBER(md_rom_ssf2_device::write_a13)
CODEMASTERS 2 IN 1 (RESET BASED)
-------------------------------------------------*/
-#define MD_ADDR_CM2IN1(a) (m_base == 0 ? ((a << 1) & 0x1fffff)/2 : (((a << 1) & 0x7ffff) + 0x200000)/2)
+#define MD_ADDR_CM2IN1(a) (m_base == 0 ? ((a << 1) & 0x1fffff)/2 : (((a << 1) & 0x1fffff) + 0x200000)/2)
READ16_MEMBER(md_rom_cm2in1_device::read)
{