diff --git a/src/mame/drivers/dreamwld.cpp b/src/mame/drivers/dreamwld.cpp index 2317421884c..dc7b1e5de60 100644 --- a/src/mame/drivers/dreamwld.cpp +++ b/src/mame/drivers/dreamwld.cpp @@ -21,7 +21,7 @@ Note: this hardware is a copy of Psikyo's 68020 based hardware, by the looks of it, there are various subtle changes to how things work, for example the tilemap sizes and missing transparent pen modification. This makes it rather hard to - merge with psikyo.c and it should probably be left separate. + merge with psikyo.cpp and it should probably be left separate. Stephh's notes (based on the game M68EC020 code and some tests) : @@ -98,6 +98,7 @@ Stephh's notes (based on the game M68EC020 code and some tests) : #include "emu.h" #include "cpu/m68000/m68000.h" +#include "cpu/mcs51/mcs51.h" #include "sound/okim6295.h" #include "emupal.h" #include "screen.h" @@ -754,6 +755,9 @@ MACHINE_CONFIG_START(dreamwld_state::baryon) MCFG_DEVICE_PROGRAM_MAP(baryon_map) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", dreamwld_state, irq4_line_hold) + MCFG_DEVICE_ADD("mcu", I80C52, XTAL(32'000'000)/2) /* AT89C52 or 87(C)52, unknown clock (value from docs) */ + MCFG_DEVICE_DISABLE() /* Internal ROM aren't dumped */ + /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(57.793) @@ -769,14 +773,11 @@ MACHINE_CONFIG_START(dreamwld_state::baryon) MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_dreamwld) - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "mono").front_center(); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'000'000)/32, okim6295_device::PIN7_LOW) /* 1MHz verified */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) MCFG_DEVICE_ADDRESS_MAP(0, oki1_map) - MACHINE_CONFIG_END MACHINE_CONFIG_START(dreamwld_state::dreamwld) @@ -788,10 +789,8 @@ MACHINE_CONFIG_START(dreamwld_state::dreamwld) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", dreamwld_state, irq4_line_hold) MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(32'000'000)/32, okim6295_device::PIN7_LOW) /* 1MHz verified */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) MCFG_DEVICE_ADDRESS_MAP(0, oki2_map) - MACHINE_CONFIG_END @@ -838,8 +837,8 @@ ROM_START( baryon ) // this set had original SemiCom labels ROM_LOAD32_BYTE( "2_semicom", 0x000002, 0x040000, CRC(42b14a6c) SHA1(37e772a673732ef16767c14ad77a4faaa06d675a) ) ROM_LOAD32_BYTE( "3_semicom", 0x000003, 0x040000, CRC(0ae6d86e) SHA1(410ad161688ec8516fe5ac7160a4a228dbb01936) ) - ROM_REGION( 0x10000, "cpu1", 0 ) /* 87C52 MCU Code */ - ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP ) /* can't be dumped. */ + ROM_REGION( 0x02000, "mcu", 0 ) /* 87C52 MCU Code */ + ROM_LOAD( "87c52.mcu", 0x00000, 0x02000 , NO_DUMP ) /* can't be dumped. */ ROM_REGION( 0x6bd, "prot", 0 ) /* Protection data - from baryona set, assumed to be the same */ ROM_LOAD( "protdata.bin", 0x000, 0x6bd, CRC(117f32a8) SHA1(837bea09d3e59ab9e13bd1103b1fc988edb361c0) ) /* extracted */ @@ -869,8 +868,8 @@ ROM_START( baryona ) // replacment labels? no SemiCom logo ROM_LOAD32_BYTE( "3.bin", 0x000002, 0x040000, CRC(046d4231) SHA1(05056efe5fec7f43c400f05278de516b01be0fdf) ) ROM_LOAD32_BYTE( "5.bin", 0x000003, 0x040000, CRC(63d5e7cb) SHA1(269bf5ffe10f2464f823c4d377921e19cfb8bc46) ) - ROM_REGION( 0x10000, "cpu1", 0 ) /* 87C52 MCU Code */ - ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP ) /* can't be dumped. */ + ROM_REGION( 0x02000, "mcu", 0 ) /* 87C52 MCU Code */ + ROM_LOAD( "87c52.mcu", 0x00000, 0x02000 , NO_DUMP ) /* can't be dumped. */ ROM_REGION( 0x6bd, "prot", 0 ) /* Protection data */ ROM_LOAD( "protdata.bin", 0x000, 0x6bd, CRC(117f32a8) SHA1(837bea09d3e59ab9e13bd1103b1fc988edb361c0) ) /* extracted */ @@ -939,8 +938,8 @@ ROM_START( cutefght ) ROM_LOAD32_BYTE( "3_semicom", 0x000002, 0x080000, CRC(e7e7a866) SHA1(a31751f4164a427de59f0c76c9a8cb34370d8183) ) ROM_LOAD32_BYTE( "4_semicom", 0x000003, 0x080000, CRC(476a3bf5) SHA1(5be1c70bbf4fcfc534b7f20bfceaa8da2e961330) ) - ROM_REGION( 0x10000, "cpu1", 0 ) /* 87C52 MCU Code */ - ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP ) /* can't be dumped. */ + ROM_REGION( 0x02000, "mcu", 0 ) /* 87C52 MCU Code */ + ROM_LOAD( "87c52.mcu", 0x00000, 0x02000 , NO_DUMP ) /* can't be dumped. */ ROM_REGION( 0x1000, "prot", ROMREGION_ERASEFF ) /* Protection data */ ROM_LOAD( "protdata.bin", 0x000, 0x701 , CRC(764c3c0e) SHA1(ae044d016850b730b2d97ccb7845b6b438c1e074) ) @@ -1018,8 +1017,8 @@ ROM_START( rolcrush ) ROM_LOAD32_BYTE( "mx27c2000_2.bin", 0x000002, 0x040000, CRC(5eb24adb) SHA1(0329a02e18490bfe72ff34a64722d7316814720b) ) ROM_LOAD32_BYTE( "mx27c2000_1.bin", 0x000003, 0x040000, CRC(a37e15b2) SHA1(f0fc945a894d6ed58daf05390a17051d0f3cda20) ) - ROM_REGION( 0x10000, "cpu1", 0 ) /* 87C52 MCU Code */ - ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP ) /* can't be dumped. */ + ROM_REGION( 0x02000, "mcu", 0 ) /* 87C52 MCU Code */ + ROM_LOAD( "87c52.mcu", 0x00000, 0x02000 , NO_DUMP ) /* can't be dumped. */ ROM_REGION( 0x10000, "prot", ROMREGION_ERASE00 ) /* Protection data */ ROM_LOAD( "protdata.bin", 0x000, 0x745, CRC(06b8a880) SHA1(b7d4bf26d34cb544825270c2c474bbd4c81a6c9e) ) /* extracted */ @@ -1052,8 +1051,8 @@ ROM_START( rolcrusha ) ROM_LOAD32_BYTE( "2", 0x000002, 0x040000, CRC(7b291ba9) SHA1(9629c71b00317c68394b836395c3a81bdd32273a) ) ROM_LOAD32_BYTE( "1", 0x000003, 0x040000, CRC(ef23ccf3) SHA1(14dcf8bfca991f6aa9b20236c879ae715a009ca2) ) - ROM_REGION( 0x10000, "cpu1", 0 ) /* 87C52 MCU Code */ - ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP ) /* can't be dumped. */ + ROM_REGION( 0x02000, "mcu", 0 ) /* 87C52 MCU Code */ + ROM_LOAD( "87c52.mcu", 0x00000, 0x02000 , NO_DUMP ) /* can't be dumped. */ ROM_REGION( 0x10000, "prot", ROMREGION_ERASE00 ) /* Protection data */ ROM_LOAD( "protdata.bin", 0x000, 0x745, CRC(06b8a880) SHA1(b7d4bf26d34cb544825270c2c474bbd4c81a6c9e) ) @@ -1127,8 +1126,8 @@ ROM_START( dreamwld ) ROM_LOAD32_BYTE( "1.bin", 0x000002, 0x040000, CRC(35c94ee5) SHA1(3440a65a807622b619c97bc2a88fd7d875c26f66) ) ROM_LOAD32_BYTE( "2.bin", 0x000003, 0x040000, CRC(5409e7fc) SHA1(2f94a6a8e4c94b36b43f0b94d58525f594339a9d) ) - ROM_REGION( 0x10000, "cpu1", 0 ) /* 87C52 MCU Code */ - ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP ) /* can't be dumped. */ + ROM_REGION( 0x02000, "mcu", 0 ) /* 87C52 MCU Code */ + ROM_LOAD( "87c52.mcu", 0x00000, 0x02000 , NO_DUMP ) /* can't be dumped. */ ROM_REGION( 0x6c9, "prot", 0 ) /* Protection data */ /* The MCU supplies this data. @@ -1214,8 +1213,8 @@ ROM_START( gaialast ) ROM_LOAD32_BYTE( "2", 0x000002, 0x040000, CRC(549e594a) SHA1(728c6b51cc478ad7251bcbe6d7f4f4e6a2ee4a4e) ) ROM_LOAD32_BYTE( "3", 0x000003, 0x040000, CRC(a8e845d8) SHA1(f8c7e702bd747a22e76c861effec4cd3cd2f3fc9) ) - ROM_REGION( 0x10000, "cpu1", 0 ) /* 87C52 MCU Code */ - ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP ) /* can't be dumped. */ + ROM_REGION( 0x02000, "mcu", 0 ) /* 87C52 MCU Code */ + ROM_LOAD( "87c52.mcu", 0x00000, 0x02000 , NO_DUMP ) /* can't be dumped. */ ROM_REGION( 0x6c9, "prot", ROMREGION_ERASEFF ) /* Protection data */ ROM_LOAD( "protdata.bin", 0x000, 0x6c9 , CRC(d3403b7b) SHA1(712a7f27fc41b632d584237f7641e8ae20035111) )