ROM_END DRIVER_INIT( tryout ) { // ? install_mem_write_handler( 0, 0xc800, 0xcfff, MWA_NOP ); // interrupt_enable_w ? install_mem_write_handler( 1, 0xd000, 0xd000, MWA_NOP ); }
void init_pepper2(void) { exidy_colortable = exidy_2bpp_colortable; exidy_collision_mask = 0x14; exidy_collision_invert = 0x04; /* two 6116 character RAMs */ install_mem_write_handler(0, 0x4800, 0x4fff, MWA_NOP); exidy_characterram = (UINT8*)install_mem_write_handler(0, 0x6000, 0x6fff, exidy_characterram_w); }
static void init_toypop(void) { /* install the custom I/O chip */ install_mem_read_handler(0, 0x6000, 0x603f, toypop_customio_r); toypop_customio = install_mem_write_handler(0, 0x6000, 0x603f, MWA_RAM); /* install the shared sound RAM */ toypop_sound_sharedram = install_mem_write_handler(0, 0x6840, 0x6bff, MWA_RAM); /* install the approprite flipscreen handler */ }
ROM_END /************************************* * * Driver initialization * *************************************/ static DRIVER_INIT( arabian ) { install_mem_write_handler(0, 0xd34b, 0xd34b, custom_flip_w); install_mem_write_handler(0, 0xd400, 0xd401, custom_cocktail_w); }
/*--------------- / Game handling /----------------*/ static void init_afm(void) { core_gameData = &afmGameData; install_mem_write_handler(0, 0x3fb0, 0x3fff, afm_wpc_w); HC4094_init(&hc4094afm); HC4094_oe_w(0, 1); HC4094_oe_w(1, 1); HC4094_strobe_w(0, 1); HC4094_strobe_w(1, 1); }
static void init_bbmanw(void) { unsigned char *RAM = memory_region(REGION_CPU1); memcpy(RAM+0xffff0,RAM+0x7fff0,0x10); /* Start vector */ irem_cpu_decrypt(0,dynablaster_decryption_table); install_mem_write_handler(0, 0xa0c00, 0xa0cff, bbmanw_ram_write); }
/*--------------- / Game handling /----------------*/ static void init_ww(void) { // LH-5 version needs a longer GI smoothing delay, so we just check for years 2000 and up! core_gameData = Machine->gamedrv->year[0] == '2' ? &lh5GameData : &wwGameData; install_mem_write_handler(0, 0x3fb0, 0x3fff, ww_wpc_w); HC4094_init(&hc4094ww); HC4094_oe_w(0, 1); HC4094_oe_w(1, 1); HC4094_strobe_w(0, 1); HC4094_strobe_w(1, 1); }
/*************************************************************************** Game driver(s) ***************************************************************************/ ROM_START( arkanoid ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "a75_01-1.rom", 0x0000, 0x8000, CRC(5bcda3b0) SHA1(52cadd38b5f8e8856f007a9c602d6b508f30be65) ) ROM_LOAD( "a75_11.rom", 0x8000, 0x8000, CRC(eafd7191) SHA1(d2f8843b716718b1de209e97a874e8ce600f3f87) ) ROM_REGION( 0x0800, REGION_CPU2, 0 ) /* 8k for the microcontroller */ ROM_LOAD( "arkanoid.uc", 0x0000, 0x0800, CRC(515d77b6) SHA1(a302937683d11f663abd56a2fd7c174374e4d7fb) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( arknoidu ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "a75-19.bin", 0x0000, 0x8000, CRC(d3ad37d7) SHA1(a172a1ef5bb83ee2d8ed2842ef8968af19ad411e) ) ROM_LOAD( "a75-18.bin", 0x8000, 0x8000, CRC(cdc08301) SHA1(05f54353cc8333af14fa985a2764960e20e8161a) ) ROM_REGION( 0x0800, REGION_CPU2, 0 ) /* 8k for the microcontroller */ ROM_LOAD( "arknoidu.uc", 0x0000, 0x0800, BAD_DUMP CRC(de518e47) SHA1(b8eddd1c566505fb69e3d1207c7a9720dfb9f503) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( arknoiuo ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "a75_01-1.rom", 0x0000, 0x8000, CRC(5bcda3b0) SHA1(52cadd38b5f8e8856f007a9c602d6b508f30be65) ) ROM_LOAD( "a7510.bin", 0x8000, 0x8000, CRC(a1769e15) SHA1(fbb45731246a098b29eb08de5d63074b496aaaba) ) ROM_REGION( 0x0800, REGION_CPU2, 0 ) /* 8k for the microcontroller */ ROM_LOAD( "arkanoid.uc", 0x0000, 0x0800, CRC(515d77b6) SHA1(a302937683d11f663abd56a2fd7c174374e4d7fb) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( arkatour ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "t_ark1.bin", 0x0000, 0x8000, CRC(e3b8faf5) SHA1(4c09478fa41881fa89ee6afb676aeb780f17ac2e) ) ROM_LOAD( "t_ark2.bin", 0x8000, 0x8000, CRC(326aca4d) SHA1(5a194b7a0361236d471b24905dc6434372f81252) ) ROM_REGION( 0x0800, REGION_CPU2, 0 ) /* 8k for the microcontroller */ ROM_LOAD( "arkatour.uc", 0x0000, 0x0800, BAD_DUMP CRC(d3249559) SHA1(b1542764450016614e9e03cedd6a2f1e59961789) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "t_ark3.bin", 0x00000, 0x8000, CRC(5ddea3cf) SHA1(58f16515898b7cc2697bf7663a60d9ca0db6da95) ) ROM_LOAD( "t_ark4.bin", 0x08000, 0x8000, CRC(5fcf2e85) SHA1(f721f0afb0550cc64bff26681856a7576398d9b5) ) ROM_LOAD( "t_ark5.bin", 0x10000, 0x8000, CRC(7b76b192) SHA1(a68aa08717646a6c322cf3455df07f50df9e9f33) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( arknoidj ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "a75-21.rom", 0x0000, 0x8000, CRC(bf0455fc) SHA1(250522b84b9f491c3f4efc391bf6aa6124361369) ) ROM_LOAD( "a75-22.rom", 0x8000, 0x8000, CRC(3a2688d3) SHA1(9633a661352def3d85f95ca830f6d761b0b5450e) ) ROM_REGION( 0x0800, REGION_CPU2, 0 ) /* 8k for the microcontroller */ ROM_LOAD( "arknoidj.uc", 0x0000, 0x0800, BAD_DUMP CRC(0a4abef6) SHA1(fdce0b7a2eab7fd4f1f4fc3b93120b1ebc16078e) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( arkbl2 ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "e1.6d", 0x0000, 0x8000, CRC(dd4f2b72) SHA1(399a8636030a702dafc1da926f115df6f045bef1) ) ROM_LOAD( "e2.6f", 0x8000, 0x8000, CRC(bbc33ceb) SHA1(e9b6fef98d0d20e77c7a1c25eff8e9a8c668a258) ) ROM_REGION( 0x0800, REGION_CPU2, 0 ) /* 8k for the microcontroller */ ROM_LOAD( "68705p3.6i", 0x0000, 0x0800, CRC(389a8cfb) SHA1(9530c051b61b5bdec7018c6fdc1ea91288a406bd) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( arkbl3 ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "arkanunk.1", 0x0000, 0x8000, CRC(b0f73900) SHA1(2c9a36cc1d2a3f33ec81d63c1c325554b818d2d3) ) ROM_LOAD( "arkanunk.2", 0x8000, 0x8000, CRC(9827f297) SHA1(697874e73e045eb5a7bf333d7310934b239c0adf) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( paddle2 ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "paddle2.16", 0x0000, 0x8000, CRC(a286333c) SHA1(0b2c9cb0df236f327413d0c541453e1ba979ea38) ) ROM_LOAD( "paddle2.17", 0x8000, 0x8000, CRC(04c2acb5) SHA1(7ce8ba31224f705b2b6ed0200404ef5f8f688001) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( arkatayt ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "arkanoid.1", 0x0000, 0x8000, CRC(6e0a2b6f) SHA1(5227d7a944cb1e815f60ec87a67f7462870ff9fe) ) ROM_LOAD( "arkanoid.2", 0x8000, 0x8000, CRC(5a97dd56) SHA1(b71c7b5ced2b0eebbcc5996dd21a1bb1c2da4819) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( arkblock ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "block01.bin", 0x0000, 0x8000, CRC(5be667e1) SHA1(fbc5c97d836c404a2e6c007c3836e36b52ae75a1) ) ROM_LOAD( "block02.bin", 0x8000, 0x8000, CRC(4f883ef1) SHA1(cb090a57fc75f17a3e2ba637f0e3ec93c1d02cea) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( arkbloc2 ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "ark-6.bin", 0x0000, 0x8000, CRC(0be015de) SHA1(f4209085b59d2c96a62ac9657c7bf097da55362b) ) ROM_LOAD( "arkgc.2", 0x8000, 0x8000, CRC(9f0d4754) SHA1(731c9224616a338084edd6944c754d68eabba7f2) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END ROM_START( arkangc ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */ ROM_LOAD( "arkgc.1", 0x0000, 0x8000, CRC(c54232e6) SHA1(beb759cee68009a06824b755d2aa26d7d436b5b0) ) ROM_LOAD( "arkgc.2", 0x8000, 0x8000, CRC(9f0d4754) SHA1(731c9224616a338084edd6944c754d68eabba7f2) ) ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "a75_03.rom", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) ROM_LOAD( "a75_04.rom", 0x08000, 0x8000, CRC(71fae199) SHA1(5d253c46ccf4cd2976a5fb8b8713f0f345443d06) ) ROM_LOAD( "a75_05.rom", 0x10000, 0x8000, CRC(c76374e2) SHA1(7520dd48de20db60a2038f134dcaa454988e7874) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "07.bpr", 0x0000, 0x0200, CRC(0af8b289) SHA1(6bc589e8a609b4cf450aebedc8ce02d5d45c970f) ) /* red component */ ROM_LOAD( "08.bpr", 0x0200, 0x0200, CRC(abb002fb) SHA1(c14f56b8ef103600862e7930709d293b0aa97a73) ) /* green component */ ROM_LOAD( "09.bpr", 0x0400, 0x0200, CRC(a7c6c277) SHA1(adaa003dcd981576ea1cc5f697d709b2d6b2ea29) ) /* blue component */ ROM_END static DRIVER_INIT( paddle2 ) { install_mem_read_handler (0, 0xf002, 0xf002, paddle2_prot_r); install_mem_write_handler(0, 0xd018, 0xd018, paddle2_prot_w); install_mem_read_handler (0, 0xd008, 0xd008, track_kludge_r ); }
ROM_END /************************************* * * Driver-specific init * *************************************/ static void init_liblrabl(void) { /* install the custom I/O chip */ install_mem_read_handler(0, 0x6800, 0x683f, liblrabl_customio_r); toypop_customio = install_mem_write_handler(0, 0x6800, 0x683f, MWA_RAM); /* install the shared sound RAM */ toypop_sound_sharedram = install_mem_write_handler(0, 0x6040, 0x63ff, MWA_RAM); /* install the approprite flipscreen handler */ }
static DRIVER_INIT( twotigra ) { MCR_CONFIGURE_SOUND(MCR_SSIO); install_port_write_handler(0, 0x00, 0x00, mcr_control_port_w); install_port_read_handler(0, 0x01, 0x01, twotigra_yoke2_r); install_port_read_handler(0, 0x02, 0x02, twotigra_yoke1_r); install_mem_write_handler(0, 0xf800, 0xffff, twotigra_videoram_w); mcr12_sprite_xoffs = 0; mcr12_sprite_xoffs_flip = 0; }
void init_spectar(void) { exidy_palette = spectar_palette; exidy_colortable = exidy_1bpp_colortable; exidy_collision_mask = 0x00; exidy_collision_invert = 0x00; /* there is no sprite enable register so we have to fake it out */ *exidy_sprite_enable = 0x10; targ_spec_flag = 0; /* sound is handled directly instead of via a PIA */ install_mem_write_handler(0, 0x5200, 0x5201, targ_sh_w); }
ROM_END /************************************* * * Game-specific initialization * *************************************/ static void init_kram(void) { /* we need to override one PIA handler to prevent controls from getting disabled */ install_mem_write_handler(0, 0x9400, 0x97ff, zookeep_pia_0_w); }
static DRIVER_INIT( esb ) { /* init the slapstic */ slapstic_init(101); slapstic_source = &memory_region(REGION_CPU1)[0x14000]; slapstic_base = &memory_region(REGION_CPU1)[0x08000]; /* install an opcode base handler */ memory_set_opbase_handler(0, esb_setopbase); /* install read/write handlers for it */ install_mem_read_handler(0, 0x8000, 0x9fff, esb_slapstic_r); install_mem_write_handler(0, 0x8000, 0x9fff, esb_slapstic_w); /* install additional banking */ install_mem_read_handler(0, 0xa000, 0xffff, MRA_BANK2); /* prepare the mathbox */ is_esb = 1; swmathbox_init(); }
static DRIVER_INIT( boggy84 ) { install_mem_write_handler(0, 0xc800, 0xcfff, MWA_NOP ); install_mem_read_handler(0, 0xc800, 0xcfff, jumpcoas_custom_io_r); fastfred_hardware_type = 2; }
static void init_yamyam(void) { input_ports_hack = 1; install_mem_write_handler(0, 0xe000, 0xe000, yamyam_protection_w); }
static DRIVER_INIT( fastfred ) { install_mem_write_handler(0, 0xc800, 0xcfff, MWA_NOP ); install_mem_read_handler( 0, 0xc800, 0xcfff, fastfred_custom_io_r); fastfred_hardware_type = 1; }
static void init_zookeep(void) { /* we need to override two PIA handlers to prevent controls from getting disabled */ install_mem_write_handler(0, 0x1400, 0x17ff, zookeep_pia_0_w); install_mem_write_handler(0, 0x1c00, 0x1fff, zookeep_pia_2_w); }
static void init_slither(void) { install_mem_write_handler(1, 0x9401, 0x9401, slither_vram_mask_w); }
/*--------------- / Game handling /----------------*/ static void init_cftbl(void) { core_gameData = &cftblGameData; install_mem_write_handler(0, 0x3fb0, 0x3fff, cftbl_wpc_w); }
/*--------------- / Game handling /----------------*/ static void init_ngg(void) { core_gameData = &nggGameData; install_mem_write_handler(0, 0x3fb0, 0x3fff, ngg_wpc_w); locals.slampos = 0; locals.slamdelay = 0; }
static void neogeo_custom_memory(void) { /* NeoGeo intro screen cycle skip, used by all games */ // install_mem_read_handler(0, 0x10fe8c, 0x10fe8d, bios_cycle_skip_r); /* Individual games can go here... */ #if 1 // if (!strcmp(Machine->gamedrv->name,"joyjoy")) install_mem_read_handler(0, 0x100554, 0x100555, joyjoy_cycle_r); // Slower // if (!strcmp(Machine->gamedrv->name,"ridhero")) install_mem_read_handler(0, 0x1000ca, 0x1000cb, ridhero_cycle_r); if (!strcmp(Machine->gamedrv->name,"bstars")) install_mem_read_handler(0, 0x10000a, 0x10000b, bstars_cycle_r); if (!strcmp(Machine->gamedrv->name,"cyberlip")) install_mem_read_handler(0, 0x107bb4, 0x107bb4, cyberlip_cycle_r); if (!strcmp(Machine->gamedrv->name,"lbowling")) install_mem_read_handler(0, 0x100098, 0x100099, lbowling_cycle_r); if (!strcmp(Machine->gamedrv->name,"superspy")) install_mem_read_handler(0, 0x10108c, 0x10108d, superspy_cycle_r); if (!strcmp(Machine->gamedrv->name,"ttbb")) install_mem_read_handler(0, 0x10000e, 0x10000f, ttbb_cycle_r); if (!strcmp(Machine->gamedrv->name,"alpham2")) install_mem_read_handler(0, 0x10e2fe, 0x10e2ff, alpham2_cycle_r); // Very little increase. if (!strcmp(Machine->gamedrv->name,"eightman")) install_mem_read_handler(0, 0x10046e, 0x10046f, eightman_cycle_r); if (!strcmp(Machine->gamedrv->name,"roboarmy")) install_mem_read_handler(0, 0x104010, 0x104011, roboarmy_cycle_r); if (!strcmp(Machine->gamedrv->name,"fatfury1")) install_mem_read_handler(0, 0x104282, 0x104283, fatfury1_cycle_r); if (!strcmp(Machine->gamedrv->name,"burningf")) install_mem_read_handler(0, 0x10000e, 0x10000f, burningf_cycle_r); if (!strcmp(Machine->gamedrv->name,"kotm")) install_mem_read_handler(0, 0x100020, 0x100021, kotm_cycle_r); if (!strcmp(Machine->gamedrv->name,"gpilots")) install_mem_read_handler(0, 0x10a682, 0x10a683, gpilots_cycle_r); if (!strcmp(Machine->gamedrv->name,"lresort")) install_mem_read_handler(0, 0x104102, 0x104103, lresort_cycle_r); if (!strcmp(Machine->gamedrv->name,"fbfrenzy")) install_mem_read_handler(0, 0x100020, 0x100021, fbfrenzy_cycle_r); if (!strcmp(Machine->gamedrv->name,"socbrawl")) install_mem_read_handler(0, 0x10b20c, 0x10b20d, socbrawl_cycle_r); if (!strcmp(Machine->gamedrv->name,"mutnat")) install_mem_read_handler(0, 0x101042, 0x101043, mutnat_cycle_r); if (!strcmp(Machine->gamedrv->name,"aof")) install_mem_read_handler(0, 0x108100, 0x108101, aof_cycle_r); // if (!strcmp(Machine->gamedrv->name,"countb")) install_mem_read_handler(0, 0x108002, 0x108003, countb_cycle_r); // doesn't seem to speed it up. if (!strcmp(Machine->gamedrv->name,"ncombat")) install_mem_read_handler(0, 0x100206, 0x100207, ncombat_cycle_r); //** if (!strcmp(Machine->gamedrv->name,"crsword")) install_mem_read_handler(0, 0x10, 0x10, crsword_cycle_r); // Can't find this one :-( if (!strcmp(Machine->gamedrv->name,"trally")) install_mem_read_handler(0, 0x100206, 0x100207, trally_cycle_r); if (!strcmp(Machine->gamedrv->name,"sengoku")) install_mem_read_handler(0, 0x100088, 0x100089, sengoku_cycle_r); // if (!strcmp(Machine->gamedrv->name,"ncommand")) install_mem_read_handler(0, 0x108206, 0x108207, ncommand_cycle_r); // Slower if (!strcmp(Machine->gamedrv->name,"wh1")) install_mem_read_handler(0, 0x108206, 0x108207, wh1_cycle_r); //** if (!strcmp(Machine->gamedrv->name,"sengoku2")) install_mem_read_handler(0, 0x10, 0x10, sengoku2_cycle_r); if (!strcmp(Machine->gamedrv->name,"androdun")) install_mem_read_handler(0, 0x100080, 0x100081, androdun_cycle_r); if (!strcmp(Machine->gamedrv->name,"bjourney")) install_mem_read_handler(0, 0x100206, 0x100207, bjourney_cycle_r); if (!strcmp(Machine->gamedrv->name,"maglord")) install_mem_read_handler(0, 0x100206, 0x100207, maglord_cycle_r); // if (!strcmp(Machine->gamedrv->name,"janshin")) install_mem_read_handler(0, 0x100026, 0x100027, janshin_cycle_r); // No speed difference if (!strcmp(Machine->gamedrv->name,"pulstar")) install_mem_read_handler(0, 0x101000, 0x101001, pulstar_cycle_r); if (!strcmp(Machine->gamedrv->name,"blazstar")) install_mem_read_handler(0, 0x101000, 0x101001, blazstar_cycle_r); //** if (!strcmp(Machine->gamedrv->name,"pbobble")) install_mem_read_handler(0, 0x10, 0x10, pbobble_cycle_r); // Can't find this one :-( if (!strcmp(Machine->gamedrv->name,"puzzledp")) install_mem_read_handler(0, 0x100000, 0x100001, puzzledp_cycle_r); if (!strcmp(Machine->gamedrv->name,"neodrift")) install_mem_read_handler(0, 0x100424, 0x100425, neodrift_cycle_r); //** if (!strcmp(Machine->gamedrv->name,"neomrdo")) install_mem_read_handler(0, 0x10, 0x10, neomrdo_cycle_r); // Can't find this one :-( if (!strcmp(Machine->gamedrv->name,"spinmast")) install_mem_read_handler(0, 0x100050, 0x100051, spinmast_cycle_r); if (!strcmp(Machine->gamedrv->name,"karnovr")) install_mem_read_handler(0, 0x103466, 0x103467, karnovr_cycle_r); if (!strcmp(Machine->gamedrv->name,"wjammers")) install_mem_read_handler(0, 0x10005a, 0x10005b, wjammers_cycle_r); if (!strcmp(Machine->gamedrv->name,"strhoops")) install_mem_read_handler(0, 0x101200, 0x101201, strhoops_cycle_r); // if (!strcmp(Machine->gamedrv->name,"magdrop3")) install_mem_read_handler(0, 0x100060, 0x100061, magdrop3_cycle_r); // The game starts glitching. //** if (!strcmp(Machine->gamedrv->name,"pspikes2")) install_mem_read_handler(0, 0x10, 0x10, pspikes2_cycle_r); // Can't find this one :-( if (!strcmp(Machine->gamedrv->name,"sonicwi2")) install_mem_read_handler(0, 0x10e5b6, 0x10e5b7, sonicwi2_cycle_r); if (!strcmp(Machine->gamedrv->name,"sonicwi3")) install_mem_read_handler(0, 0x10ea2e, 0x10ea2f, sonicwi3_cycle_r); if (!strcmp(Machine->gamedrv->name,"goalx3")) install_mem_read_handler(0, 0x100006, 0x100007, goalx3_cycle_r); // if (!strcmp(Machine->gamedrv->name,"mslug")) install_mem_read_handler(0, 0x106ed8, 0x106ed9, mslug_cycle_r); // Doesn't work properly. // if (!strcmp(Machine->gamedrv->name,"turfmast")) install_mem_read_handler(0, 0x102e54, 0x102e55, turfmast_cycle_r); if (!strcmp(Machine->gamedrv->name,"kabukikl")) install_mem_read_handler(0, 0x10428a, 0x10428b, kabukikl_cycle_r); if (!strcmp(Machine->gamedrv->name,"panicbom")) install_mem_read_handler(0, 0x10009c, 0x10009d, panicbom_cycle_r); if (!strcmp(Machine->gamedrv->name,"neobombe")) install_mem_read_handler(0, 0x10448c, 0x10448d, neobombe_cycle_r); if (!strcmp(Machine->gamedrv->name,"wh2")) install_mem_read_handler(0, 0x108206, 0x108207, wh2_cycle_r); if (!strcmp(Machine->gamedrv->name,"wh2j")) install_mem_read_handler(0, 0x108206, 0x108207, wh2j_cycle_r); if (!strcmp(Machine->gamedrv->name,"aodk")) install_mem_read_handler(0, 0x108206, 0x108207, aodk_cycle_r); if (!strcmp(Machine->gamedrv->name,"whp")) install_mem_read_handler(0, 0x108206, 0x108207, whp_cycle_r); if (!strcmp(Machine->gamedrv->name,"overtop")) install_mem_read_handler(0, 0x108202, 0x108203, overtop_cycle_r); if (!strcmp(Machine->gamedrv->name,"twinspri")) install_mem_read_handler(0, 0x108206, 0x108207, twinspri_cycle_r); if (!strcmp(Machine->gamedrv->name,"stakwin")) install_mem_read_handler(0, 0x100b92, 0x100b93, stakwin_cycle_r); if (!strcmp(Machine->gamedrv->name,"shocktro")) install_mem_read_handler(0, 0x108344, 0x108345, shocktro_cycle_r); if (!strcmp(Machine->gamedrv->name,"tws96")) install_mem_read_handler(0, 0x10010e, 0x10010f, tws96_cycle_r); // if (!strcmp(Machine->gamedrv->name,"zedblade")) install_mem_read_handler(0, 0x109004, 0x109005, zedblade_cycle_r); // if (!strcmp(Machine->gamedrv->name,"doubledr")) install_mem_read_handler(0, 0x101c30, 0x101c31, doubledr_cycle_r); //** if (!strcmp(Machine->gamedrv->name,"gowcaizr")) install_mem_read_handler(0, 0x10, 0x10, gowcaizr_cycle_r); // Can't find this one :-( if (!strcmp(Machine->gamedrv->name,"galaxyfg")) install_mem_read_handler(0, 0x101858, 0x101859, galaxyfg_cycle_r); if (!strcmp(Machine->gamedrv->name,"wakuwak7")) install_mem_read_handler(0, 0x100bd4, 0x100bd5, wakuwak7_cycle_r); if (!strcmp(Machine->gamedrv->name,"mahretsu")) install_mem_read_handler(0, 0x1013b2, 0x1013b3, mahretsu_cycle_r); if (!strcmp(Machine->gamedrv->name,"nam1975")) install_mem_read_handler(0, 0x1012e0, 0x1012e1, nam1975_cycle_r); if (!strcmp(Machine->gamedrv->name,"tpgolf")) install_mem_read_handler(0, 0x1000a4, 0x1000a5, tpgolf_cycle_r); if (!strcmp(Machine->gamedrv->name,"legendos")) install_mem_read_handler(0, 0x100002, 0x100003, legendos_cycle_r); // if (!strcmp(Machine->gamedrv->name,"viewpoin")) install_mem_read_handler(0, 0x101216, 0x101217, viewpoin_cycle_r); // Doesn't work if (!strcmp(Machine->gamedrv->name,"fatfury2")) install_mem_read_handler(0, 0x10418c, 0x10418d, fatfury2_cycle_r); if (!strcmp(Machine->gamedrv->name,"bstars2")) install_mem_read_handler(0, 0x10001c, 0x10001c, bstars2_cycle_r); if (!strcmp(Machine->gamedrv->name,"ssideki")) install_mem_read_handler(0, 0x108c84, 0x108c85, ssideki_cycle_r); if (!strcmp(Machine->gamedrv->name,"kotm2")) install_mem_read_handler(0, 0x101000, 0x101001, kotm2_cycle_r); if (!strcmp(Machine->gamedrv->name,"samsho")) install_mem_read_handler(0, 0x100a76, 0x100a77, samsho_cycle_r); if (!strcmp(Machine->gamedrv->name,"fatfursp")) install_mem_read_handler(0, 0x10418c, 0x10418d, fatfursp_cycle_r); if (!strcmp(Machine->gamedrv->name,"fatfury3")) install_mem_read_handler(0, 0x10418c, 0x10418d, fatfury3_cycle_r); if (!strcmp(Machine->gamedrv->name,"tophuntr")) install_mem_read_handler(0, 0x10008e, 0x10008f, tophuntr_cycle_r); // Can't test this at the moment, it crashes. if (!strcmp(Machine->gamedrv->name,"savagere")) install_mem_read_handler(0, 0x108404, 0x108405, savagere_cycle_r); // if (!strcmp(Machine->gamedrv->name,"kof94")) install_mem_read_handler(0, 0x10, 0x10, kof94_cycle_r); // Can't do this I think. There seems to be too much code in the idle loop. if (!strcmp(Machine->gamedrv->name,"aof2")) install_mem_read_handler(0, 0x108280, 0x108281, aof2_cycle_r); // if (!strcmp(Machine->gamedrv->name,"ssideki2")) install_mem_read_handler(0, 0x104292, 0x104293, ssideki2_cycle_r); if (!strcmp(Machine->gamedrv->name,"samsho2")) install_mem_read_handler(0, 0x100a30, 0x100a31, samsho2_cycle_r); if (!strcmp(Machine->gamedrv->name,"samsho3")) install_mem_read_handler(0, 0x108408, 0x108409, samsho3_cycle_r); if (!strcmp(Machine->gamedrv->name,"kof95")) install_mem_read_handler(0, 0x10a784, 0x10a785, kof95_cycle_r); if (!strcmp(Machine->gamedrv->name,"rbff1")) install_mem_read_handler(0, 0x10418c, 0x10418d, rbff1_cycle_r); // if (!strcmp(Machine->gamedrv->name,"aof3")) install_mem_read_handler(0, 0x104ee8, 0x104ee9, aof3_cycle_r); // Doesn't work properly. if (!strcmp(Machine->gamedrv->name,"ninjamas")) install_mem_read_handler(0, 0x108206, 0x108207, ninjamas_cycle_r); if (!strcmp(Machine->gamedrv->name,"kof96")) install_mem_read_handler(0, 0x10a782, 0x10a783, kof96_cycle_r); if (!strcmp(Machine->gamedrv->name,"samsho4")) install_mem_read_handler(0, 0x10830c, 0x10830d, samsho4_cycle_r); if (!strcmp(Machine->gamedrv->name,"rbffspec")) install_mem_read_handler(0, 0x10418c, 0x10418d, rbffspec_cycle_r); if (!strcmp(Machine->gamedrv->name,"kizuna")) install_mem_read_handler(0, 0x108808, 0x108809, kizuna_cycle_r); if (!strcmp(Machine->gamedrv->name,"kof97")) install_mem_read_handler(0, 0x10a784, 0x10a785, kof97_cycle_r); // if (!strcmp(Machine->gamedrv->name,"mslug2")) install_mem_read_handler(0, 0x10008c, 0x10008d, mslug2_cycle_r); // Breaks the game if (!strcmp(Machine->gamedrv->name,"rbff2")) install_mem_read_handler(0, 0x10418c, 0x10418d, rbff2_cycle_r); if (!strcmp(Machine->gamedrv->name,"ragnagrd")) install_mem_read_handler(0, 0x100042, 0x100043, ragnagrd_cycle_r); if (!strcmp(Machine->gamedrv->name,"lastblad")) install_mem_read_handler(0, 0x109d4e, 0x109d4f, lastblad_cycle_r); if (!strcmp(Machine->gamedrv->name,"gururin")) install_mem_read_handler(0, 0x101002, 0x101003, gururin_cycle_r); // if (!strcmp(Machine->gamedrv->name,"magdrop2")) install_mem_read_handler(0, 0x100064, 0x100065, magdrop2_cycle_r); // Graphic Glitches // if (!strcmp(Machine->gamedrv->name,"miexchng")) install_mem_read_handler(0, 0x10, 0x10, miexchng_cycle_r); // Can't do this. if (!strcmp(Machine->gamedrv->name,"kof98")) install_mem_read_handler(0, 0x10a784, 0x10a785, kof98_cycle_r); if (!strcmp(Machine->gamedrv->name,"marukodq")) install_mem_read_handler(0, 0x100210, 0x100211, marukodq_cycle_r); if (!strcmp(Machine->gamedrv->name,"minasan")) install_mem_read_handler(0, 0x1000ca, 0x1000cb, minasan_cycle_r); if (!strcmp(Machine->gamedrv->name,"stakwin2")) install_mem_read_handler(0, 0x100002, 0x100003, stakwin2_cycle_r); if (!strcmp(Machine->gamedrv->name,"bakatono")) install_mem_read_handler(0, 0x1000fa, 0x1000fb, bakatono_cycle_r); if (!strcmp(Machine->gamedrv->name,"quizkof")) install_mem_read_handler(0, 0x104464, 0x104465, quizkof_cycle_r); if (!strcmp(Machine->gamedrv->name,"quizdais")) install_mem_read_handler(0, 0x1059f2, 0x1059f3, quizdais_cycle_r); if (!strcmp(Machine->gamedrv->name,"quizdai2")) install_mem_read_handler(0, 0x100960, 0x100961, quizdai2_cycle_r); if (!strcmp(Machine->gamedrv->name,"popbounc")) install_mem_read_handler(0, 0x101008, 0x101009, popbounc_cycle_r); if (!strcmp(Machine->gamedrv->name,"sdodgeb")) install_mem_read_handler(0, 0x101104, 0x101105, sdodgeb_cycle_r); if (!strcmp(Machine->gamedrv->name,"shocktr2")) install_mem_read_handler(0, 0x108348, 0x108349, shocktr2_cycle_r); if (!strcmp(Machine->gamedrv->name,"figfever")) install_mem_read_handler(0, 0x108100, 0x108101, figfever_cycle_r); if (!strcmp(Machine->gamedrv->name,"irrmaze")) install_mem_read_handler(0, 0x104b6e, 0x104b6f, irrmaze_cycle_r); #endif /* AVDB cpu spins based on sound processor status */ if (!strcmp(Machine->gamedrv->name,"puzzledp")) install_mem_read_handler(1, 0xfeb1, 0xfeb1, cycle_v3_sr); // if (!strcmp(Machine->gamedrv->name,"ssideki2")) install_mem_read_handler(1, 0xfeb1, 0xfeb1, cycle_v3_sr); if (!strcmp(Machine->gamedrv->name,"ssideki")) install_mem_read_handler(1, 0xfef3, 0xfef3, ssideki_cycle_sr); if (!strcmp(Machine->gamedrv->name,"aof")) install_mem_read_handler(1, 0xfef3, 0xfef3, aof_cycle_sr); if (!strcmp(Machine->gamedrv->name,"pbobble")) install_mem_read_handler(1, 0xfeef, 0xfeef, cycle_v2_sr); if (!strcmp(Machine->gamedrv->name,"goalx3")) install_mem_read_handler(1, 0xfeef, 0xfeef, cycle_v2_sr); if (!strcmp(Machine->gamedrv->name,"fatfury1")) install_mem_read_handler(1, 0xfeef, 0xfeef, cycle_v2_sr); if (!strcmp(Machine->gamedrv->name,"mutnat")) install_mem_read_handler(1, 0xfeef, 0xfeef, cycle_v2_sr); if (!strcmp(Machine->gamedrv->name,"maglord")) install_mem_read_handler(1, 0xfb91, 0xfb91, maglord_cycle_sr); if (!strcmp(Machine->gamedrv->name,"vwpoint")) install_mem_read_handler(1, 0xfe46, 0xfe46, vwpoint_cycle_sr); // if (!strcmp(Machine->gamedrv->name,"joyjoy")) install_mem_read_handler(1, 0xfe46, 0xfe46, cycle_v15_sr); // if (!strcmp(Machine->gamedrv->name,"nam1975")) install_mem_read_handler(1, 0xfe46, 0xfe46, cycle_v15_sr); // if (!strcmp(Machine->gamedrv->name,"gpilots")) install_mem_read_handler(1, 0xfe46, 0xfe46, cycle_v15_sr); /* kludges */ if (!strcmp(Machine->gamedrv->name,"gururin")) { /* Fix a really weird problem. The game clears the video RAM but goes */ /* beyond the tile RAM, corrupting the zoom control RAM. After that it */ /* initializes the control RAM, but then corrupts it again! */ unsigned char *RAM = memory_region(REGION_CPU1); WRITE_WORD(&RAM[0x1328],0x4e71); WRITE_WORD(&RAM[0x132a],0x4e71); WRITE_WORD(&RAM[0x132c],0x4e71); WRITE_WORD(&RAM[0x132e],0x4e71); } if (!Machine->sample_rate && !strcmp(Machine->gamedrv->name,"popbounc")) /* the game hangs after a while without this patch */ install_mem_read_handler(0, 0x104fbc, 0x104fbd, popbounc_sfix_r); /* hacks to make the games which do protection checks run in arcade mode */ /* we write protect a SRAM location so it cannot be set to 1 */ sram_protection_hack = -1; if (!strcmp(Machine->gamedrv->name,"fatfury3") || !strcmp(Machine->gamedrv->name,"samsho3") || !strcmp(Machine->gamedrv->name,"samsho4") || !strcmp(Machine->gamedrv->name,"aof3") || !strcmp(Machine->gamedrv->name,"rbff1") || !strcmp(Machine->gamedrv->name,"rbffspec") || !strcmp(Machine->gamedrv->name,"kof95") || !strcmp(Machine->gamedrv->name,"kof96") || !strcmp(Machine->gamedrv->name,"kof97") || !strcmp(Machine->gamedrv->name,"kof98") || !strcmp(Machine->gamedrv->name,"kof99") || !strcmp(Machine->gamedrv->name,"kizuna") || !strcmp(Machine->gamedrv->name,"lastblad") || !strcmp(Machine->gamedrv->name,"lastbld2") || !strcmp(Machine->gamedrv->name,"rbff2") || !strcmp(Machine->gamedrv->name,"mslug2") || !strcmp(Machine->gamedrv->name,"garou")) sram_protection_hack = 0x100; if (!strcmp(Machine->gamedrv->name,"pulstar")) sram_protection_hack = 0x35a; if (!strcmp(Machine->gamedrv->name,"ssideki")) { /* patch out protection check */ /* the protection routines are at 0x25dcc and involve reading and writing */ /* addresses in the 0x2xxxxx range */ unsigned char *RAM = memory_region(REGION_CPU1); WRITE_WORD(&RAM[0x2240],0x4e71); } /* Hacks the program rom of Fatal Fury 2, needed either in arcade or console mode */ /* otherwise at level 2 you cannot hit the opponent and other problems */ if (!strcmp(Machine->gamedrv->name,"fatfury2")) { /* there seems to also be another protection check like the countless ones */ /* patched above by protectiong a SRAM location, but that trick doesn't work */ /* here (or maybe the SRAM location to protect is different), so I patch out */ /* the routine which trashes memory. Without this, the game goes nuts after */ /* the first bonus stage. */ unsigned char *RAM = memory_region(REGION_CPU1); WRITE_WORD(&RAM[0xb820],0x4e71); WRITE_WORD(&RAM[0xb822],0x4e71); /* again, the protection involves reading and writing addresses in the */ /* 0x2xxxxx range. There are several checks all around the code. */ install_mem_read_handler (0, 0x200000, 0x2fffff, fatfury2_protection_r); install_mem_write_handler(0, 0x200000, 0x2fffff, fatfury2_protection_w); } if (!strcmp(Machine->gamedrv->name,"fatfury3")) { /* patch the first word, it must be 0x0010 not 0x0000 (initial stack pointer) */ unsigned char *RAM = memory_region(REGION_CPU1); WRITE_WORD(&RAM[0x0000],0x0010); } if (!strcmp(Machine->gamedrv->name,"mslugx")) { /* patch out protection checks */ int i; unsigned char *RAM = memory_region(REGION_CPU1); for (i = 0;i < 0x100000;i+=2) { if (READ_WORD(&RAM[i+0]) == 0x0243 && READ_WORD(&RAM[i+2]) == 0x0001 && /* andi.w #$1, D3 */ READ_WORD(&RAM[i+4]) == 0x6600) /* bne xxxx */ { WRITE_WORD(&RAM[i+4],0x4e71); WRITE_WORD(&RAM[i+6],0x4e71); } } WRITE_WORD(&RAM[0x3bdc],0x4e71); WRITE_WORD(&RAM[0x3bde],0x4e71); WRITE_WORD(&RAM[0x3be0],0x4e71); WRITE_WORD(&RAM[0x3c0c],0x4e71); WRITE_WORD(&RAM[0x3c0e],0x4e71); WRITE_WORD(&RAM[0x3c10],0x4e71); WRITE_WORD(&RAM[0x3c36],0x4e71); WRITE_WORD(&RAM[0x3c38],0x4e71); } }