diff options
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 |
commit | 608d95207449d30f14d1273f429994ac14e3b12c (patch) | |
tree | 61c958a3f115f0e8f5820ef5fdb8ddafb55c3809 | |
parent | e2bc8a0295703f234550efa8e7751698aa58811e (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.xml | 30 | ||||
-rw-r--r-- | src/emu/bus/megadrive/md_slot.c | 2 | ||||
-rw-r--r-- | src/emu/bus/megadrive/rom.c | 2 |
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) { |