summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author ajrhacker <ajrhacker@users.noreply.github.com>2017-06-24 11:47:32 -0400
committer GitHub <noreply@github.com>2017-06-24 11:47:32 -0400
commit3643d8378d3f5716ad6d2bc302112e640683f4eb (patch)
treec407edc5a062eb62df6a1f65f9f631f3abc44757
parent4cc7afc65c8ddc67c9f64fc6df11775d4b2de4ad (diff)
parentcb1420bb5ede86f71e470849b1b330926231c98d (diff)
Merge pull request #2404 from DavidHaywood/200617
new NOT WORKING
-rw-r--r--src/mame/drivers/megadriv.cpp10
-rw-r--r--src/mame/includes/megadriv.h2
-rw-r--r--src/mame/machine/megadriv.cpp29
-rw-r--r--src/mame/mame.lst1
4 files changed, 36 insertions, 6 deletions
diff --git a/src/mame/drivers/megadriv.cpp b/src/mame/drivers/megadriv.cpp
index b1c29f07c1c..df4001d43aa 100644
--- a/src/mame/drivers/megadriv.cpp
+++ b/src/mame/drivers/megadriv.cpp
@@ -441,6 +441,13 @@ ROM_START(genesis_tmss)
ROM_LOAD( "tmss_usa.bin", 0x0000, 0x4000, CRC(5f5e64eb) SHA1(453fca4e1db6fae4a10657c4451bccbb71955628) )
ROM_END
+ROM_START(dcat16)
+ ROM_REGION(0x800000, "maincpu", ROMREGION_ERASEFF)
+ ROM_LOAD16_WORD_SWAP( "MG6025.U1", 0x0000, 0x800000, CRC(5453d673) SHA1(b9f8d849cbed81fe73525229f4897ccaeeb7a833) )
+
+ ROM_REGION( 0x10000, "soundcpu", ROMREGION_ERASEFF)
+ROM_END
+
/*************************************
*
* Driver initialization
@@ -1087,3 +1094,6 @@ CONS( 1994, multmega, cdx, 0, md_scd, md, md_cons_state,
CONS( 1994, 32x_scd, 0, 0, genesis_32x_scd, md, md_cons_state, genesis, "Sega", "Sega CD with 32X (USA, NTSC)", MACHINE_NOT_WORKING )
CONS( 1995, 32x_mcd, 32x_scd, 0, md_32x_scd, md, md_cons_state, md_eur, "Sega", "Mega-CD with 32X (Europe, PAL)", MACHINE_NOT_WORKING )
CONS( 1994, 32x_mcdj, 32x_scd, 0, mdj_32x_scd, md, md_cons_state, md_jpn, "Sega", "Mega-CD with 32X (Japan, NTSC)", MACHINE_NOT_WORKING )
+
+/* clone hardware - not sure if this hardware is running some kind of emulator, or enhanced MD clone, or just custom banking */
+CONS( 200?, dcat16, 0, 0, dcat16_megadriv, md, md_cons_state, genesis, "Firecore", "D-CAT16 (Mega Drive handheld)", MACHINE_NOT_WORKING )
diff --git a/src/mame/includes/megadriv.h b/src/mame/includes/megadriv.h
index 98e3b21791d..bf0fb6a6775 100644
--- a/src/mame/includes/megadriv.h
+++ b/src/mame/includes/megadriv.h
@@ -32,7 +32,7 @@ MACHINE_CONFIG_EXTERN( megadriv_timers );
MACHINE_CONFIG_EXTERN( md_ntsc );
MACHINE_CONFIG_EXTERN( md_pal );
MACHINE_CONFIG_EXTERN( md_bootleg ); // for topshoot.c & hshavoc.c
-
+MACHINE_CONFIG_EXTERN( dcat16_megadriv );
struct genesis_z80_vars
{
diff --git a/src/mame/machine/megadriv.cpp b/src/mame/machine/megadriv.cpp
index 6c262a0a04a..2b9b3df33f8 100644
--- a/src/mame/machine/megadriv.cpp
+++ b/src/mame/machine/megadriv.cpp
@@ -474,11 +474,6 @@ static ADDRESS_MAP_START( megadriv_map, AS_PROGRAM, 16, md_base_state )
AM_RANGE(0xa11100, 0xa11101) AM_READWRITE(megadriv_68k_check_z80_bus,megadriv_68k_req_z80_bus)
AM_RANGE(0xa11200, 0xa11201) AM_WRITE(megadriv_68k_req_z80_reset)
- /* these are fake - remove allocs in video_start to use these to view ram instead */
-// AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_SHARE("megadrive_vdp_vram")
-// AM_RANGE(0xb10000, 0xb1007f) AM_RAM AM_SHARE("megadrive_vdp_vsram")
-// AM_RANGE(0xb10100, 0xb1017f) AM_RAM AM_SHARE("megadrive_vdp_cram")
-
AM_RANGE(0xc00000, 0xc0001f) AM_DEVREADWRITE("gen_vdp", sega315_5313_device, vdp_r, vdp_w)
AM_RANGE(0xd00000, 0xd0001f) AM_DEVREADWRITE("gen_vdp", sega315_5313_device, vdp_r, vdp_w) // the earth defend
AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_SHARE("megadrive_ram")
@@ -487,6 +482,12 @@ static ADDRESS_MAP_START( megadriv_map, AS_PROGRAM, 16, md_base_state )
ADDRESS_MAP_END
+ADDRESS_MAP_START( dcat16_megadriv_map, AS_PROGRAM, 16, md_base_state )
+ AM_RANGE(0x000000, 0x7fffff) AM_ROM
+ AM_IMPORT_FROM(megadriv_map)
+ADDRESS_MAP_END
+
+
/* z80 sounds/sub CPU */
@@ -938,6 +939,24 @@ MACHINE_CONFIG_START( md_ntsc )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker",0.25) /* 3.58 MHz */
MACHINE_CONFIG_END
+MACHINE_CONFIG_START( dcat16_megadriv )
+ MCFG_FRAGMENT_ADD( md_ntsc )
+
+ MCFG_CPU_MODIFY("maincpu")
+ MCFG_CPU_PROGRAM_MAP(dcat16_megadriv_map)
+ MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(md_base_state,genesis_int_callback)
+
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, md_common)
+ MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, megadriv)
+
+ MCFG_SCREEN_MODIFY("megadriv")
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_cons_state, screen_vblank_console))
+
+// has SD card slot instead?
+// MCFG_MD_CARTRIDGE_ADD("mdslot", md_cart, nullptr)
+// MCFG_SOFTWARE_LIST_ADD("cart_list","megadriv")
+MACHINE_CONFIG_END
+
/************ PAL hardware has a different master clock *************/
MACHINE_CONFIG_START( md_pal )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 78a90d3df27..e4131e973e1 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -20156,6 +20156,7 @@ segacd2 // 1993 Sega Sega CD 2 (USA)
wmega // 1992 Sega Wondermega (Japan)
wmegam2 // 1993 Victor Wondermega M2 (Japan)
xeye // 1993 JVC X'eye (USA)
+dcat16 //
@source:megadrvb.cpp
aladmdb // MegaDrive-based hack