From 998eccc360d1d9de76b8ffa9f30753dec98f8e22 Mon Sep 17 00:00:00 2001 From: cam900 Date: Fri, 15 Jun 2018 16:38:50 +0900 Subject: [PATCH] dreamwld.cpp : Add docs for mcu, Fix mcu region size (#3473) --- src/mame/drivers/dreamwld.cpp | 45 +++++++++++++++++------------------ 1 file changed, 22 insertions(+), 23 deletions(-) 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) )