summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus
diff options
context:
space:
mode:
author etabeta78 <doge.fabio@gmail.com>2016-06-19 18:47:59 +0200
committer etabeta78 <doge.fabio@gmail.com>2016-06-19 18:47:59 +0200
commitffed6582517607a8b957725937111ef1f04349e7 (patch)
treebc4659202877fb100b6a733950a926976a0869a6 /src/devices/bus
parent0b759daca7a1da7ec3722ae4e99254a979e088cf (diff)
megadriv: improved description of many taiwanese unlicensed titles
+ added dump of Ju Ji Ma Jiang II by Sun Green. [Fabio Priuli]
Diffstat (limited to 'src/devices/bus')
-rw-r--r--src/devices/bus/megadrive/md_carts.cpp1
-rw-r--r--src/devices/bus/megadrive/md_slot.cpp1
-rw-r--r--src/devices/bus/megadrive/md_slot.h1
-rw-r--r--src/devices/bus/megadrive/rom.cpp23
-rw-r--r--src/devices/bus/megadrive/rom.h13
5 files changed, 39 insertions, 0 deletions
diff --git a/src/devices/bus/megadrive/md_carts.cpp b/src/devices/bus/megadrive/md_carts.cpp
index 4c9f1b9b2e0..5a8e1902d09 100644
--- a/src/devices/bus/megadrive/md_carts.cpp
+++ b/src/devices/bus/megadrive/md_carts.cpp
@@ -55,6 +55,7 @@ SLOT_INTERFACE_START(md_cart)
SLOT_INTERFACE_INTERNAL("rom_lion3", MD_ROM_LION3)
SLOT_INTERFACE_INTERNAL("rom_mcpir", MD_ROM_MCPIR)
SLOT_INTERFACE_INTERNAL("rom_mjlov", MD_ROM_MJLOV)
+ SLOT_INTERFACE_INTERNAL("rom_cjmjclub", MD_ROM_CJMJCLUB)
SLOT_INTERFACE_INTERNAL("rom_pokea", MD_ROM_POKEA)
SLOT_INTERFACE_INTERNAL("rom_pokestad", MD_ROM_POKESTAD)
SLOT_INTERFACE_INTERNAL("rom_realtec", MD_ROM_REALTEC)
diff --git a/src/devices/bus/megadrive/md_slot.cpp b/src/devices/bus/megadrive/md_slot.cpp
index 61e847eb6e9..55d80f8b64d 100644
--- a/src/devices/bus/megadrive/md_slot.cpp
+++ b/src/devices/bus/megadrive/md_slot.cpp
@@ -270,6 +270,7 @@ static const md_slot slot_list[] =
{ LIONK3, "rom_lion3" },
{ MC_PIRATE, "rom_mcpir" },
{ MJLOVER, "rom_mjlov" },
+ { CJMJCLUB, "rom_cjmjclub" },
{ POKEMONA, "rom_pokea" },
{ REALTEC, "rom_realtec" },
{ REDCL_EN, "rom_redcl" },
diff --git a/src/devices/bus/megadrive/md_slot.h b/src/devices/bus/megadrive/md_slot.h
index a033daec607..b6cb59147d5 100644
--- a/src/devices/bus/megadrive/md_slot.h
+++ b/src/devices/bus/megadrive/md_slot.h
@@ -61,6 +61,7 @@ enum
LIONK3, /* Lion King 3, Super Donkey Kong 99, Super King Kong 99 */
MC_PIRATE, /* Super 19 in 1, Super 15 in 1, 12 in 1 and a few more multicarts */
MJLOVER, /* Mahjong Lover */
+ CJMJCLUB, /* Super Mahjong Club */
POKEMONA, /* Pocket Monster Alt Protection */
REALTEC, /* Whac a Critter/Mallet legend, Defend the Earth, Funnyworld/Ballonboy */
REDCLIFF, /* Romance of the Three Kingdoms - Battle of Red Cliffs, already decoded from .mdx format */
diff --git a/src/devices/bus/megadrive/rom.cpp b/src/devices/bus/megadrive/rom.cpp
index 16b12561c8a..ed17cfff044 100644
--- a/src/devices/bus/megadrive/rom.cpp
+++ b/src/devices/bus/megadrive/rom.cpp
@@ -41,6 +41,7 @@ const device_type MD_ROM_SMB2 = &device_creator<md_rom_smb2_device>;
const device_type MD_ROM_SBUBL = &device_creator<md_rom_sbubl_device>;
const device_type MD_ROM_RX3 = &device_creator<md_rom_rx3_device>;
const device_type MD_ROM_MJLOV = &device_creator<md_rom_mjlov_device>;
+const device_type MD_ROM_CJMJCLUB = &device_creator<md_rom_cjmjclub_device>;
const device_type MD_ROM_KOF98 = &device_creator<md_rom_kof98_device>;
const device_type MD_ROM_KOF99 = &device_creator<md_rom_kof99_device>;
const device_type MD_ROM_SOULB = &device_creator<md_rom_soulb_device>;
@@ -141,6 +142,11 @@ md_rom_mjlov_device::md_rom_mjlov_device(const machine_config &mconfig, const ch
{
}
+md_rom_cjmjclub_device::md_rom_cjmjclub_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : md_std_rom_device(mconfig, MD_ROM_CJMJCLUB, "MD Chaoji Majiang Club / Super Mahjong Club", tag, owner, clock, "md_rom_cjmjclub", __FILE__)
+{
+}
+
md_rom_kof98_device::md_rom_kof98_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: md_std_rom_device(mconfig, MD_ROM_KOF98, "MD KOF 98", tag, owner, clock, "md_rom_kof98", __FILE__)
{
@@ -917,6 +923,23 @@ READ16_MEMBER(md_rom_mjlov_device::read)
/*-------------------------------------------------
+ CHAOJI MAJIANG CLUB
+ -------------------------------------------------*/
+
+READ16_MEMBER(md_rom_cjmjclub_device::read)
+{
+ if (offset == 0x400000/2) return 0x9000;
+ if (offset == 0x400002/2) return 0xd300;
+
+ // non-protection accesses
+ if (offset < 0x400000/2)
+ return m_rom[MD_ADDR(offset)];
+ else
+ return 0xffff;
+}
+
+
+/*-------------------------------------------------
SUPER BUBBLE BOBBLE MD
-------------------------------------------------*/
diff --git a/src/devices/bus/megadrive/rom.h b/src/devices/bus/megadrive/rom.h
index dcb1536f974..3bafead4346 100644
--- a/src/devices/bus/megadrive/rom.h
+++ b/src/devices/bus/megadrive/rom.h
@@ -263,6 +263,18 @@ public:
virtual DECLARE_READ16_MEMBER(read) override;
};
+// ======================> md_rom_cjmjclub_device
+
+class md_rom_cjmjclub_device : public md_std_rom_device
+{
+public:
+ // construction/destruction
+ md_rom_cjmjclub_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ // reading and writing
+ virtual DECLARE_READ16_MEMBER(read) override;
+};
+
// ======================> md_rom_pokea_device
class md_rom_pokea_device : public md_std_rom_device
@@ -585,6 +597,7 @@ extern const device_type MD_ROM_LION2;
extern const device_type MD_ROM_LION3;
extern const device_type MD_ROM_MCPIR;
extern const device_type MD_ROM_MJLOV;
+extern const device_type MD_ROM_CJMJCLUB;
extern const device_type MD_ROM_POKEA;
extern const device_type MD_ROM_POKESTAD;
extern const device_type MD_ROM_REALTEC;