mirror of
https://github.com/holub/mame
synced 2025-04-26 10:13:37 +03:00
dreamwld.cpp : Add docs for mcu, Fix mcu region size (#3473)
This commit is contained in:
parent
cfcbd155cb
commit
998eccc360
@ -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) )
|
||||
|
Loading…
Reference in New Issue
Block a user