trunk/src/mame/drivers/m72.c
| r244857 | r244858 | |
| 556 | 556 | 0xc6,0x06,0x00,0x00,0xcb^0xff, // mov [0000h], byte 0cbh ; retf : bypass protection check during the game |
| 557 | 557 | 0x68,0x00,0xd0, // push 0d000h |
| 558 | 558 | 0x1f, // pop ds |
| 559 | | // the following is for mrheli only, the game checks for |
| 560 | | // "This game can only be played in Japan..." message in the video text buffer |
| 561 | | // the message is nowhere to be found in the ROMs, so has to be displayed by the mcu |
| 562 | | 0xc6,0x06,0x70,0x16,0x77, // mov [1670h], byte 077h |
| 563 | 559 | 0xea,0x68,0x01,0x40,0x00 // jmp 0040:$0168 |
| 564 | 560 | }; |
| 565 | 561 | static const UINT8 bchopper_crc[CRC_LEN] = { 0x1a,0x12,0x5c,0x08, 0x84,0xb6,0x73,0xd1, |
| 566 | 562 | 0x54,0x91,0x94,0xeb, 0x00,0x00 }; |
| 567 | | static const UINT8 mrheli_crc[CRC_LEN] = { 0x24,0x21,0x1f,0x14, 0xf9,0x28,0xfb,0x47, |
| 568 | | 0x4c,0x77,0x9e,0xc2, 0x00,0x00 }; |
| 569 | 563 | |
| 570 | 564 | /* Ninja Spirit */ |
| 571 | 565 | static const UINT8 nspirit_code[CODE_LEN] = |
| r244857 | r244858 | |
| 722 | 716 | m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::bchopper_sample_trigger_w),this)); |
| 723 | 717 | } |
| 724 | 718 | |
| 725 | | DRIVER_INIT_MEMBER(m72_state,mrheli) |
| 726 | | { |
| 727 | | install_protection_handler(bchopper_code,mrheli_crc); |
| 728 | | m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::bchopper_sample_trigger_w),this)); |
| 729 | | } |
| 730 | 719 | |
| 731 | 720 | DRIVER_INIT_MEMBER(m72_state,nspirit) |
| 732 | 721 | { |
| r244857 | r244858 | |
| 2594 | 2583 | ROM_LOAD16_BYTE( "mh-c-l3.bin", 0x60000, 0x10000, CRC(c0982536) SHA1(45399f8d0577c6e2a277a69303954ce5d2de7c07) ) |
| 2595 | 2584 | ROM_RELOAD( 0xe0000, 0x10000 ) |
| 2596 | 2585 | |
| 2597 | | ROM_REGION( 0x10000, "cpu2", 0 ) |
| 2598 | | ROM_LOAD( "mrheli_i8751.mcu", 0x00000, 0x10000, NO_DUMP ) // read protected |
| 2586 | ROM_REGION( 0x10000, "mcu", 0 ) |
| 2587 | ROM_LOAD( "mh-c-pr.bin", 0x00000, 0x1000, CRC(897dc4ee) SHA1(05a24bf76e8fa9ca96ba9376cbf44d299df04138) ) |
| 2599 | 2588 | |
| 2600 | 2589 | ROM_REGION( 0x080000, "gfx1", 0 ) |
| 2601 | 2590 | ROM_LOAD( "mh-c-00.bin", 0x00000, 0x20000, CRC(dec4e121) SHA1(92169b523f1600e994e016dc1959a52958e1d89d) ) /* sprites */ |
| r244857 | r244858 | |
| 3757 | 3746 | GAME( 1987, rtypeu, rtype, rtype, rtype, driver_device, 0, ROT0, "Irem (Nintendo of America license)", "R-Type (US)", GAME_NO_COCKTAIL ) |
| 3758 | 3747 | GAME( 1987, rtypeb, rtype, rtype, rtype, driver_device, 0, ROT0, "bootleg", "R-Type (World bootleg)", GAME_NO_COCKTAIL ) |
| 3759 | 3748 | GAME( 1987, bchopper, 0, m72, bchopper, m72_state, bchopper, ROT0, "Irem", "Battle Chopper", GAME_NO_COCKTAIL ) |
| 3760 | | GAME( 1987, mrheli, bchopper, m72, bchopper, m72_state, mrheli, ROT0, "Irem", "Mr. HELI no Daibouken", GAME_NO_COCKTAIL ) |
| 3749 | GAME( 1987, mrheli, bchopper, m72_8751, bchopper, m72_state, m72_8751, ROT0, "Irem", "Mr. HELI no Daibouken (Japan)", GAME_NO_COCKTAIL ) |
| 3761 | 3750 | GAME( 1988, nspirit, 0, m72, nspirit, m72_state, nspirit, ROT0, "Irem", "Ninja Spirit", GAME_NO_COCKTAIL ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?) |
| 3762 | 3751 | GAME( 1988, nspiritj, nspirit, m72_8751, nspirit, m72_state, m72_8751, ROT0, "Irem", "Saigo no Nindou (Japan)", GAME_NO_COCKTAIL ) // waits for japan warning screen, works with our mcu dump, corrupt warning screen due to priority / mixing errors (Japan Version) |
| 3763 | 3752 | GAME( 1988, imgfight, 0, m72, imgfight, m72_state, imgfight, ROT270, "Irem", "Image Fight (World, revision A)", 0 ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?) |