From 48c6b563358d6c65ff63f6b0658127d018aee625 Mon Sep 17 00:00:00 2001 From: MetalliC <0vetal0@gmail.com> Date: Mon, 13 Dec 2021 20:30:35 +0200 Subject: new NOT_WORKING machine ----------------------- Super Mario Fushigi No JanJanLand [Darksoft, MetalliC, rtw] alien.cpp: populate memory map enough for Medalusion 1 games starts booting, remove unneeded NVRAM dumps vegas.cpp: sf2049te uses same PIC as sf2049se --- src/mame/drivers/alien.cpp | 105 ++++++++++++++++++++++++++------------------- src/mame/drivers/vegas.cpp | 6 +++ src/mame/mame.lst | 1 + 3 files changed, 68 insertions(+), 44 deletions(-) diff --git a/src/mame/drivers/alien.cpp b/src/mame/drivers/alien.cpp index 66655e2995b..cada9043af3 100644 --- a/src/mame/drivers/alien.cpp +++ b/src/mame/drivers/alien.cpp @@ -52,7 +52,7 @@ Single player medal machines: Medalusion: - * - Chibi Maruko-chan's "Sugoroku Playfully Everyone" Volume (c) 2003 + * - Chibi Maruko-chan ~Minna de Sugoroku Asobi~ no Maki (c) 2003 - Donkey Kong: Jungle Fever (c) 2005 Capcom / Nintendo / Namco - Rockman EXE The Medal Operation (c) 2005 * - Super Mario Fushigi No JanJanLand (c) 2005 @@ -71,7 +71,7 @@ #include "emu.h" #include "cpu/sh/sh4.h" -#include "emupal.h" +#include "machine/timekpr.h" #include "screen.h" #include "speaker.h" @@ -90,9 +90,9 @@ public: void init_dkbanans(); private: - uint64_t test_r(); + u8 fpga_r(); - uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); void alien_map(address_map &map); @@ -101,30 +101,32 @@ private: // driver_device overrides virtual void machine_reset() override; - virtual void video_start() override; }; -void alien_state::video_start() -{ -} - -uint32_t alien_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +u32 alien_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { return 0; } -uint64_t alien_state::test_r() +u8 alien_state::fpga_r() { - return machine().rand(); + u8 fpga_type = 1; // 2 bit value + return (fpga_type << 5) | 0x10 | (rand() & 7); // status bits TODO } void alien_state::alien_map(address_map &map) { - map(0x00000000, 0x0003ffff).rom(); - map(0x08000000, 0x08000007).r(FUNC(alien_state::test_r)); //hangs if zero - map(0x0cfe0000, 0x0cffffff).ram(); - map(0x10000000, 0x13ffffff).ram(); - map(0x18000000, 0x1800000f).r(FUNC(alien_state::test_r)).nopw(); + map(0x00000000, 0x00ffffff).rom(); + map(0x04000000, 0x04007fff).rw("m48t35", FUNC(timekeeper_device::read), FUNC(timekeeper_device::write)); + map(0x04800000, 0x04800000).r(FUNC(alien_state::fpga_r)); + map(0x04a00000, 0x04a00007).nopw(); // FPGA config + map(0x08000000, 0x08000007).portr("DSW"); + map(0x0c000000, 0x0cffffff).ram(); // main RAM + map(0x10000000, 0x107fffff).ram().share("vram1"); // GPU 1 VRAM + map(0x11fc0000, 0x11ffffff).ram().share("vregs1"); // GPU 1 regs + //map(0x12000000, 0x127fffff).ram(); // GPU 2 VRAM + //map(0x13fc0000, 0x13ffffff).ram(); // GPU 2 regs + //map(0x18000000, 0x1800000f).r(FUNC(alien_state::test_r)).nopw(); // Alien CF ATA, other games have it other way } @@ -132,6 +134,26 @@ void alien_state::alien_map(address_map &map) static INPUT_PORTS_START( alien ) + PORT_START("DSW") + PORT_DIPUNKNOWN_DIPLOC( 0x00010000, 0x00010000, "SW1:1" ) + PORT_DIPUNKNOWN_DIPLOC( 0x00020000, 0x00020000, "SW1:2" ) + PORT_DIPUNKNOWN_DIPLOC( 0x00040000, 0x00040000, "SW1:3" ) + PORT_DIPUNKNOWN_DIPLOC( 0x00080000, 0x00080000, "SW1:4" ) + PORT_DIPUNKNOWN_DIPLOC( 0x00100000, 0x00100000, "SW1:5" ) + PORT_DIPUNKNOWN_DIPLOC( 0x00200000, 0x00200000, "SW1:6" ) + PORT_DIPUNKNOWN_DIPLOC( 0x00400000, 0x00400000, "SW1:7" ) + PORT_DIPNAME( 0x00800000, 0x00000000, "RAM Tests" ) PORT_DIPLOCATION("SW1:8") // disable tests to make things faster + PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00800000, DEF_STR( On ) ) + PORT_DIPUNKNOWN_DIPLOC( 0x01000000, 0x01000000, "SW2:1" ) + PORT_DIPUNKNOWN_DIPLOC( 0x02000000, 0x02000000, "SW2:2" ) + PORT_DIPUNKNOWN_DIPLOC( 0x04000000, 0x04000000, "SW2:3" ) + PORT_DIPUNKNOWN_DIPLOC( 0x08000000, 0x08000000, "SW2:4" ) + PORT_DIPUNKNOWN_DIPLOC( 0x10000000, 0x10000000, "SW2:5" ) + PORT_DIPUNKNOWN_DIPLOC( 0x20000000, 0x20000000, "SW2:6" ) + PORT_DIPUNKNOWN_DIPLOC( 0x40000000, 0x40000000, "SW2:7" ) + PORT_DIPUNKNOWN_DIPLOC( 0x80000000, 0x80000000, "SW2:8" ) + INPUT_PORTS_END @@ -156,10 +178,10 @@ void alien_state::alien(machine_config &config) screen.set_size((32)*8, (32)*8); screen.set_visarea_full(); - PALETTE(config, "palette").set_entries(0x1000); - /* sound hardware */ SPEAKER(config, "mono").front_center(); + + M48T35(config, "m48t35"); } void alien_state::init_dkbanans() @@ -178,32 +200,26 @@ void alien_state::init_dkbanans() //////////////////////////// ROM_START( alien ) - ROM_REGION( 0x800000, "maincpu", 0 ) // BIOS code + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) // BIOS code ROM_LOAD32_WORD( "aln_s04.4.ic30", 0x000000, 0x400000, CRC(11777d3f) SHA1(8cc9fcae7911e6be273b4532d89b44a309687ead) ) ROM_LOAD32_WORD( "aln_s05.5.ic33", 0x000002, 0x400000, CRC(71d2f22c) SHA1(16b25aa34f8b0d988565e7ab7cecc4df62ee8cf3) ) ROM_REGION( 0x800100, "ymz770b", 0 ) //sound samples flash rom, not really needed, programmed by boot loader ROM_LOAD( "s29jl064hxxtfi00.u35", 0x000000, 0x800100, CRC(01890c61) SHA1(4fad321f42eab835351c6d5f73539bdbed80affe) ) - ROM_REGION( 0x8000, "nvram", ROMREGION_ERASEFF) //timekeeper device - ROM_LOAD( "m48t35y.3.ic26", 0x000000, 0x007ff8, CRC(060b0a75) SHA1(7ddf380ee0e7b54533ef7e248405bfce1c5dbb4b) ) - DISK_REGION( "card" ) //compact flash DISK_IMAGE( "alien", 0, SHA1(0328f12765db41a9ef5c8bfb88d4983345093072) ) ROM_END // Host unit board, GPUs and YMZ770B not populated. ROM_START( dkbanana ) - ROM_REGION( 0x800000, "maincpu", 0 ) // BIOS code + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) // BIOS code ROM_LOAD32_WORD( "dnk_m04.ic30", 0x000000, 0x400000, CRC(a294f17c) SHA1(7e0f865342f63f93a9a31ad7e6d3b70c59f3fa1b) ) ROM_LOAD32_WORD( "dnk_m05.ic33", 0x000002, 0x400000, CRC(22f5db87) SHA1(bdca65d39e94d88979218c8c586c6f20bb00e5ce) ) ROM_REGION( 0x800100, "ymz770b", 0 ) //sound samples flash rom, not really needed, programmed by boot loader ROM_LOAD( "29lj064.ic10", 0x000000, 0x800100, CRC(67cec133) SHA1(1412287fe977eb422a3cca6a0da1523859c2562e) ) - ROM_REGION( 0x8000, "nvram", ROMREGION_ERASEFF) //timekeeper device - ROM_LOAD( "m48t35y.ic26", 0x000000, 0x008000, CRC(a708bbeb) SHA1(ec96decbc7e63d700b844704dafde14513eea20e) ) - // contain host.abs and sate.abs ELF executables and game assets // same card was used in both Host and Satellite units DISK_REGION( "card" ) //compact flash @@ -212,16 +228,13 @@ ROM_END // Satellite unit board ROM_START( dkbanans ) - ROM_REGION( 0x800000, "maincpu", 0 ) // BIOS code + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) // BIOS code ROM_LOAD32_WORD( "dnk_s04.ic30", 0x000000, 0x400000, CRC(eed7d46f) SHA1(43edb15ff72952f7c9825e5735faa238edfd934d) ) ROM_LOAD32_WORD( "dnk_s05.ic33", 0x000002, 0x400000, BAD_DUMP CRC(2fc88385) SHA1(03393bdb1fa526c70d766469c37b453f0e1eb8a3) ) // 2 first bytes is bad/wrong or (unlikely) supplied by protection, see driver init ROM_REGION( 0x1000000, "ymz770b", 0 ) //sound samples flash rom, not really needed, programmed by boot loader ROM_LOAD( "ic10", 0x000000, 0x1000000, NO_DUMP ) - ROM_REGION( 0x8000, "nvram", ROMREGION_ERASEFF) //timekeeper device - ROM_LOAD( "m48t35y.ic26", 0x000000, 0x008000, CRC(68ca07b7) SHA1(d0a3353bf0fbd98ce335dc5116b214b18c4188dd) ) - // contain host.abs and sate.abs ELF executables and game assets // same card was used in both Host and Satellite units DISK_REGION( "card" ) //compact flash @@ -230,19 +243,16 @@ ROM_END // 'Center' unit, GPUs and YMZ770B not populated. ROM_START( masmario ) - ROM_REGION( 0x400000, "maincpu", 0 ) // BIOS code + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) // BIOS code ROM_LOAD32_WORD( "mpf_m04f.ic30", 0x000000, 0x200000, CRC(f83ffb1a) SHA1(fa0ec83c21d81288b69e23ee46db359a3902648e) ) ROM_LOAD32_WORD( "mpf_m05f.ic33", 0x000002, 0x200000, CRC(fe19dfb7) SHA1(2fdc2feb86840448eb9e47f7bd4dcc9adfc36bdf) ) ROM_REGION( 0x800000, "ymz770b", ROMREGION_ERASEFF ) // not populated - - ROM_REGION( 0x8000, "nvram", ROMREGION_ERASEFF) //timekeeper device - ROM_LOAD( "m48t35y.ic26", 0x000000, 0x008000, CRC(47b9480a) SHA1(9f8a6c7212ee410485e403db57e25d478fb4ae07) ) ROM_END // Satellite unit ROM_START( masmarios ) - ROM_REGION( 0x1000000, "maincpu", 0 ) // BIOS and game code/data + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) // BIOS and game code/data ROM_LOAD32_WORD( "mpf_s04j.ic30", 0x000000, 0x400000, CRC(73d8b6bd) SHA1(8353df96107303427fc146da29b6a6a5d303c4ee) ) ROM_LOAD32_WORD( "mpf_s05j.ic33", 0x000002, 0x400000, CRC(1b1e5429) SHA1(4b25fc83172c7422bfe3f2aed9d2ee6c8a2c537f) ) ROM_LOAD32_WORD( "mpf_s06j.ic39", 0x800000, 0x400000, CRC(dc20e3cc) SHA1(5b9bd0fc4a6abdda16781727b01014b0a68ef8df) ) @@ -251,14 +261,11 @@ ROM_START( masmarios ) ROM_REGION( 0x800000, "ymz770b", 0 ) ROM_LOAD16_WORD_SWAP( "mpf_s01.ic31", 0x000000, 0x400000, CRC(99688b6d) SHA1(2052471e2a742c05c2bbd6bcb24deca681df41c3) ) ROM_LOAD16_WORD_SWAP( "mpf_s02.ic38", 0x400000, 0x400000, CRC(251f7111) SHA1(4d6e4111d76e7f56e9aeff19686dd84717ccb78a) ) - - ROM_REGION(0x8000, "nvram", 0 ) //timekeeper device - ROM_LOAD("m48t35y.ic26", 0x000000, 0x008000, CRC(1e62bd96) SHA1(85dc20ea9af8aa17fee39a0647600e5075bb70e0) ) ROM_END // CF card only dumped, boot ROMs is missing ROM_START( masmario2 ) - ROM_REGION( 0x800000, "maincpu", 0 ) // BIOS code + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) // BIOS code ROM_LOAD32_WORD( "ic30", 0x000000, 0x400000, BAD_DUMP CRC(6b2d2ef1) SHA1(0db6490b40c5716c1271b7f99608e8c7ad916516) ) // ROM_LOAD32_WORD( "ic33", 0x000002, 0x400000, BAD_DUMP CRC(64049fc3) SHA1(b373b2c8cb4d66b9c700e0542bd26444484fae40) ) // modified boot roms from dkbanans @@ -274,8 +281,17 @@ ROM_END // uses main board with 1 GPU populated and AMT-02012-01 upper I/O board +ROM_START( mariojjl ) + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) + ROM_LOAD32_WORD( "spm_04c.ic30", 0x000000, 0x400000, CRC(159e912d) SHA1(5db1434d34e52f9c35d71e05675dd035765d2e6f) ) + ROM_LOAD32_WORD( "spm_05c.ic33", 0x000002, 0x400000, CRC(482d2b32) SHA1(01fb4b5f2441dc8c0f07943f190429c19c60b9d6) ) + + ROM_REGION( 0x400000, "ymz770b", 0 ) + ROM_LOAD16_WORD_SWAP( "spm_01.ic31", 0x000000, 0x400000, CRC(141761a7) SHA1(ab1029c9277b3932d43308a7b4c106cd526a82c7) ) +ROM_END + ROM_START( mmaruchan ) - ROM_REGION( 0x1000000, "maincpu", 0 ) + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) ROM_LOAD32_WORD( "spt_04b.ic30", 0x000000, 0x400000, CRC(9899f171) SHA1(d114c1ef0608c0740b7d58561c9f39c13b453e3a) ) ROM_LOAD32_WORD( "spt_05b.ic33", 0x000002, 0x400000, CRC(108efb71) SHA1(3f9e1c59f7af60976d140bf68b75c270a364f3a2) ) @@ -289,7 +305,7 @@ ROM_END // CF card only dumped, boot ROMs is missing ROM_START( dokodemo ) - ROM_REGION( 0x800000, "maincpu", 0 ) // BIOS code + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) // BIOS code ROM_LOAD32_WORD( "ic30", 0x000000, 0x400000, BAD_DUMP CRC(6b2d2ef1) SHA1(0db6490b40c5716c1271b7f99608e8c7ad916516) ) // ROM_LOAD32_WORD( "ic33", 0x000002, 0x400000, BAD_DUMP CRC(64049fc3) SHA1(b373b2c8cb4d66b9c700e0542bd26444484fae40) ) // modified boot roms from dkbanans @@ -301,7 +317,7 @@ ROM_END // ROM board only dumped, main board is missing ROM_START( pingu ) - ROM_REGION( 0x800000, "maincpu", 0 ) // BIOS code + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) // BIOS code ROM_LOAD32_WORD( "ic30", 0x000000, 0x400000, BAD_DUMP CRC(6b2d2ef1) SHA1(0db6490b40c5716c1271b7f99608e8c7ad916516) ) // ROM_LOAD32_WORD( "ic33", 0x000002, 0x400000, BAD_DUMP CRC(64049fc3) SHA1(b373b2c8cb4d66b9c700e0542bd26444484fae40) ) // modified boot roms from dkbanans @@ -314,7 +330,7 @@ ROM_END // CF card only dumped, boot ROMs is missing ROM_START( wontame ) - ROM_REGION( 0x800000, "maincpu", 0 ) // BIOS code + ROM_REGION32_LE( 0x1000000, "maincpu", 0 ) // BIOS code ROM_LOAD32_WORD( "ic30", 0x000000, 0x400000, BAD_DUMP CRC(6b2d2ef1) SHA1(0db6490b40c5716c1271b7f99608e8c7ad916516) ) // ROM_LOAD32_WORD( "ic33", 0x000002, 0x400000, BAD_DUMP CRC(64049fc3) SHA1(b373b2c8cb4d66b9c700e0542bd26444484fae40) ) // modified boot roms from dkbanans @@ -332,6 +348,7 @@ GAME( 2004, masmario, 0, alien, alien, alien_state, empty_init, ROT0, GAME( 2004, masmarios, 0, alien, alien, alien_state, empty_init, ROT0, "Nintendo / Capcom", "Super Mario Fushigi no Korokoro Party (satellite)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) GAME( 2005, masmario2, 0, alien, alien, alien_state, empty_init, ROT0, "Nintendo / Capcom", "Super Mario Fushigi no Korokoro Party 2", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Medalusion 1 +GAME( 2006, mariojjl, 0, alien, alien, alien_state, empty_init, ROT0, "Nintendo / Capcom", "Super Mario Fushigi No JanJanLand", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) GAME( 2005, mmaruchan, 0, alien, alien, alien_state, empty_init, ROT0, "Capcom", "Chibi Maruko-chan ~Minna de Sugoroku Asobi~ no Maki", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // ちびまる子ちゃん「みんなですごろく遊び」の巻 // Medalusion 2 GAME( 2006, dokodemo, 0, alien, alien, alien_state, empty_init, ROT0, "Sony / Capcom", "Doko Demo Issho: Toro's Fishing", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/vegas.cpp b/src/mame/drivers/vegas.cpp index fe8d13bafde..70474cdc283 100644 --- a/src/mame/drivers/vegas.cpp +++ b/src/mame/drivers/vegas.cpp @@ -2534,6 +2534,9 @@ ROM_START( sf2049te ) DISK_REGION( PCI_ID_IDE":ide:0:hdd:image" ) DISK_IMAGE( "sf2049te", 0, SHA1(625aa36436587b7bec3e7db1d19793b760e2ea51) ) // GUTS 1.61 Game Apr 2, 2001 13:07:21 + + ROM_REGION( 0x2000, "serial_security_pic", ROMREGION_ERASEFF ) // security PIC (provides game ID code and serial number) + ROM_LOAD( "352_rush_2049_se.u18", 0x0000, 0x1007, CRC(6120c20d) SHA1(9bd76514de261aa7957f896c1ea0b3f91d4cb5d6) ) // SE PIC is fine for TE too ROM_END ROM_START( sf2049tea ) @@ -2545,6 +2548,9 @@ ROM_START( sf2049tea ) // All 7 courses are unlocked DISK_REGION( PCI_ID_IDE":ide:0:hdd:image" ) DISK_IMAGE( "sf2049tea", 0, SHA1(8d6badf1159903bf44d9a9c7570d4f2417398a93) ) + + ROM_REGION( 0x2000, "serial_security_pic", ROMREGION_ERASEFF ) // security PIC (provides game ID code and serial number) + ROM_LOAD( "352_rush_2049_se.u18", 0x0000, 0x1007, CRC(6120c20d) SHA1(9bd76514de261aa7957f896c1ea0b3f91d4cb5d6) ) // SE PIC is fine for TE too ROM_END /************************************* diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 81264c2eed1..5f1d1d3796b 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -1121,6 +1121,7 @@ alien // (c) 2005 Capcom dkbanana // (c) 2007 Capcom dkbanans // (c) 2007 Capcom dokodemo // (c) 2006 Capcom +mariojjl // (c) 2005 Capcom masmario // (c) 2004 Capcom masmarios // (c) 2004 Capcom masmario2 // (c) 2005 Capcom -- cgit v1.2.3