From cb1420bb5ede86f71e470849b1b330926231c98d Mon Sep 17 00:00:00 2001 From: David Haywood Date: Sat, 24 Jun 2017 16:10:15 +0100 Subject: new NOT WORKING D-CAT16 (Mega Drive handheld) [Team Europe] this was dumped ages ago, doesn't boot as-is, maybe custom enhanced hw like the NES clones, maybe just custom banking. --- src/mame/drivers/megadriv.cpp | 10 ++++++++++ src/mame/includes/megadriv.h | 2 +- src/mame/machine/megadriv.cpp | 29 ++++++++++++++++++++++++----- src/mame/mame.lst | 1 + 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 -- cgit v1.2.3