Previous 199869 Revisions Next

r36361 Tuesday 10th March, 2015 at 13:38:15 UTC by David Haywood
.. and with that untangled the dumped mcu for xmultiplm72 actually works and the game now shows the Japan warning (nw)
[src/mame/drivers]m72.c
[src/mame/includes]m72.h

trunk/src/mame/drivers/m72.c
r244872r244873
461461   if (ACCESSING_BITS_0_7 && (data & 0xff) < 7) m_audio->set_sample_start(a[data & 0xff]);
462462}
463463
464WRITE16_MEMBER(m72_state::xmultiplm72_sample_trigger_w)
465{
466   static const int a[3] = { 0x0000, 0x0020, 0x1a40 };
467   if (ACCESSING_BITS_0_7 && (data & 0xff) < 3) m_audio->set_sample_start(a[data & 0xff]);
468}
469464
465
470466WRITE16_MEMBER(m72_state::dbreedm72_sample_trigger_w)
471467{
472468   static const int a[9] = { 0x00000, 0x00020, 0x02c40, 0x08160, 0x0c8c0, 0x0ffe0, 0x13000, 0x15820, 0x15f40 };
r244872r244873
634630static const UINT8 loht_crc[CRC_LEN] =    { 0x39,0x00,0x82,0xae, 0x2c,0x9d,0x4b,0x73,
635631                                    0xfb,0xac,0xd4,0x6d, 0x6d,0x5b,0x77,0xc0, 0x00,0x00 };
636632
637/* X Multiply */
638static const UINT8 xmultiplm72_code[CODE_LEN] =
639{
640   0xea,0x30,0x02,0x00,0x0e    // jmp  0e00:$0230
641};
642static const UINT8 xmultiplm72_crc[CRC_LEN] =  {    0x73,0x82,0x4e,0x3f, 0xfc,0x56,0x59,0x06,
643                                    0x05,0x48,0xa8,0xf4, 0x00,0x00 };
644633
634
645635/* Dragon Breed */
646636static const UINT8 dbreedm72_code[CODE_LEN] =
647637{
r244872r244873
739729   memset(m_videoram2,0,0x4000);
740730}
741731
742DRIVER_INIT_MEMBER(m72_state,xmultiplm72)
743{
744   install_protection_handler(xmultiplm72_code,xmultiplm72_crc);
745   m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::xmultiplm72_sample_trigger_w),this));
746}
747732
748733DRIVER_INIT_MEMBER(m72_state,dbreedm72)
749734{
r244872r244873
18511836
18521837   
18531838   MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
1839
1840   MCFG_CPU_ADD("mcu",I8751, XTAL_8MHz) /* Uses its own XTAL */
1841   MCFG_CPU_IO_MAP(mcu_io_map)
1842   MCFG_CPU_VBLANK_INT_DRIVER("screen", m72_state,  m72_mcu_int)
1843
18541844MACHINE_CONFIG_END
18551845
18561846
r244872r244873
29352925   ROM_LOAD16_BYTE( "cl0.l0",       0x40000, 0x10000, CRC(06a9e213) SHA1(9831c110814642703d6e71d49848d854095b7d3a) )
29362926   ROM_RELOAD(                      0xe0000, 0x10000 )
29372927
2938   ROM_REGION( 0x10000, "cpu2", 0 )
2928   ROM_REGION( 0x10000, "mcu", 0 )
29392929   ROM_LOAD( "xmultipl_i8751h.bin",  0x00000, 0x01000, CRC(c8ceb3cd) SHA1(e5d20a3a9d7f0919604543c97643a03434d80130) )
29402930
29412931   ROM_REGION( 0x100000, "gfx1", 0 )
r244872r244873
35353525GAME( 1989, lohtb,       loht,     m72,         loht,     driver_device, 0,           ROT0,   "bootleg", "Legend of Hero Tonma (unprotected bootleg)", GAME_NOT_WORKING| GAME_NO_COCKTAIL )
35363526
35373527GAME( 1989, xmultipl,    0,        xmultipl,    xmultipl, driver_device, 0,           ROT0,   "Irem", "X Multiply (World, M81)", GAME_NO_COCKTAIL )
3538GAME( 1989, xmultiplm72, xmultipl, xmultiplm72, xmultipl, m72_state,     xmultiplm72, ROT0,   "Irem", "X Multiply (Japan, M72)", GAME_NO_COCKTAIL )
3528GAME( 1989, xmultiplm72, xmultipl, xmultiplm72, xmultipl, m72_state,     m72_8751, ROT0,   "Irem", "X Multiply (Japan, M72)", GAME_NO_COCKTAIL )
35393529
35403530GAME( 1989, dbreed,      0,        dbreed,      dbreed,   driver_device, 0,           ROT0,   "Irem", "Dragon Breed (M81 PCB version)", GAME_NO_COCKTAIL )
35413531GAME( 1989, dbreedm72,   dbreed,   dbreedm72,   dbreed,   m72_state,     dbreedm72,   ROT0,   "Irem", "Dragon Breed (M72 PCB version)", GAME_NO_COCKTAIL )
trunk/src/mame/includes/m72.h
r244872r244873
8282   DECLARE_WRITE16_MEMBER(nspirit_sample_trigger_w);
8383   DECLARE_WRITE16_MEMBER(imgfight_sample_trigger_w);
8484   DECLARE_WRITE16_MEMBER(loht_sample_trigger_w);
85   DECLARE_WRITE16_MEMBER(xmultiplm72_sample_trigger_w);
8685   DECLARE_WRITE16_MEMBER(dbreedm72_sample_trigger_w);
8786   DECLARE_WRITE16_MEMBER(airduel_sample_trigger_w);
8887   DECLARE_WRITE16_MEMBER(dkgenm72_sample_trigger_w);
r244872r244873
112111   DECLARE_DRIVER_INIT(bchopper);
113112   DECLARE_DRIVER_INIT(gallop);
114113   DECLARE_DRIVER_INIT(m72_8751);
115   DECLARE_DRIVER_INIT(xmultiplm72);
116114   DECLARE_DRIVER_INIT(dbreedm72);
117115   DECLARE_DRIVER_INIT(airduel);
118116   DECLARE_DRIVER_INIT(nspirit);


Previous 199869 Revisions Next


© 1997-2024 The MAME Team