diff --git a/src/mame/arcade.lst b/src/mame/arcade.lst index bc2586d356b..54669fba9e4 100644 --- a/src/mame/arcade.lst +++ b/src/mame/arcade.lst @@ -4688,6 +4688,7 @@ passht4b // bootleg passshtb // bootleg shinoblb // (c) 1987 (but bootleg) shinobld // (c) 1987 (but bootleg) +shinoblda // tetrisbl // (c) 1988 (but bootleg) beautyb // (c) 1991 AMT iqpipe // (c) 1991 AMT diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c index 2c0723f6f18..0bfd4123ccb 100644 --- a/src/mame/drivers/system16.c +++ b/src/mame/drivers/system16.c @@ -97,6 +97,7 @@ #include "sound/2612intf.h" #include "sound/rf5c68.h" #include "video/segaic16.h" +#include "sound/2203intf.h" #define SHADOW_COLORS_MULTIPLIER 3 @@ -118,6 +119,15 @@ WRITE16_MEMBER(segas1x_bootleg_state::sound_command_nmi_w) } } +WRITE16_MEMBER(segas1x_bootleg_state::sound_command_irq_w) +{ + if (ACCESSING_BITS_0_7) + { + soundlatch_byte_w(space, 0, data & 0xff); + m_soundcpu->set_input_line(0, HOLD_LINE); + } +} + static ADDRESS_MAP_START( shinobib_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0x000000, 0x03ffff) AM_ROM @@ -127,7 +137,10 @@ static ADDRESS_MAP_START( shinobib_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0x412000, 0x412fff) AM_RAM AM_SHARE("bg1_tileram") AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("sprites") AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") - AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sound_command_nmi_w) +// AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sound_command_irq_w) + AM_RANGE(0xC42006, 0xC42007) AM_WRITE(sound_command_irq_w) + + AM_RANGE(0xC44000, 0xC44001) AM_READNOP AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE") AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1") AM_RANGE(0xc41006, 0xc41007) AM_READ_PORT("P2") @@ -146,15 +159,6 @@ ADDRESS_MAP_END /***************************************************************************/ -WRITE16_MEMBER(segas1x_bootleg_state::sound_command_w) -{ - if (ACCESSING_BITS_0_7) - { - soundlatch_byte_w(space, 0, data & 0xff); - m_soundcpu->set_input_line(0, HOLD_LINE); - } -} - WRITE16_MEMBER(segas1x_bootleg_state::sys16_coinctrl_w) { if (ACCESSING_BITS_0_7) @@ -187,7 +191,7 @@ static ADDRESS_MAP_START( passshtb_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE") AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1") AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2") - AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w) + AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_irq_w) AM_RANGE(0xc46000, 0xc46001) AM_WRITE(s16a_bootleg_bgscrolly_w) AM_RANGE(0xc46002, 0xc46003) AM_WRITE(s16a_bootleg_bgscrollx_w) AM_RANGE(0xc46004, 0xc46005) AM_WRITE(s16a_bootleg_fgscrolly_w) @@ -265,7 +269,7 @@ static ADDRESS_MAP_START( passht4b_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0xc41006, 0xc41007) AM_READ(passht4b_io3_r) AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2") AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1") - AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w) + AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_irq_w) AM_RANGE(0xc43000, 0xc43001) AM_READ_PORT("P1") // test mode only AM_RANGE(0xc43002, 0xc43003) AM_READ_PORT("P2") AM_RANGE(0xc43004, 0xc43005) AM_READ_PORT("P3") @@ -313,7 +317,7 @@ static ADDRESS_MAP_START( wb3bbl_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0xc41004, 0xc41005) AM_READ_PORT("P2") AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2") AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1") - AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w) + AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_irq_w) AM_RANGE(0xC44000, 0xC44001) AM_WRITENOP AM_RANGE(0xc46000, 0xc46001) AM_WRITE(s16a_bootleg_bgscrolly_w) AM_RANGE(0xc46002, 0xc46003) AM_WRITE(s16a_bootleg_bgscrollx_w) @@ -422,6 +426,24 @@ static ADDRESS_MAP_START( tturfbl_sound_io_map, AS_IO, 8, segas1x_bootleg_state AM_RANGE(0x80, 0x80) AM_NOP ADDRESS_MAP_END +/*******************************************************************************/ + +static ADDRESS_MAP_START(shinobi_datsu_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state ) + AM_RANGE(0x0000, 0x7fff) AM_ROM + + AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ym1", ym2203_device, read, write) + AM_RANGE(0xe400, 0xe401) AM_DEVREADWRITE("ym2", ym2203_device, read, write) + AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_byte_r) + + AM_RANGE(0xf800, 0xffff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( shinobi_datsu_sound_io, AS_IO, 8, segas1x_bootleg_state ) + ADDRESS_MAP_GLOBAL_MASK(0xff) +ADDRESS_MAP_END + + + /*******************************************************************************/ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segas1x_bootleg_state ) @@ -504,7 +526,7 @@ static ADDRESS_MAP_START( bayroute_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0x901000, 0x901001) AM_READ_PORT("SERVICE") AM_RANGE(0x902002, 0x902003) AM_READ_PORT("DSW1") AM_RANGE(0x902000, 0x902001) AM_READ_PORT("DSW2") - AM_RANGE(0xff0006, 0xff0007) AM_WRITE(sound_command_w) + AM_RANGE(0xff0006, 0xff0007) AM_WRITE(sound_command_irq_w) AM_RANGE(0xff0020, 0xff003f) AM_WRITENOP // config regs ADDRESS_MAP_END #endif @@ -691,7 +713,7 @@ static ADDRESS_MAP_START( bayrouteb2_map, AS_PROGRAM, 16, segas1x_bootleg_state AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") AM_RANGE(0x900000, 0x900001) AM_READ_PORT("DSW1") AM_RANGE(0x900002, 0x900003) AM_READ_PORT("DSW2") - AM_RANGE(0x900006, 0x900007) AM_WRITE(sound_command_w) + AM_RANGE(0x900006, 0x900007) AM_WRITE(sound_command_irq_w) AM_RANGE(0x901000, 0x901001) AM_READ_PORT("SERVICE") AM_WRITE(sys16_coinctrl_w) AM_RANGE(0x901002, 0x901003) AM_READ_PORT("P1") AM_RANGE(0x901006, 0x901007) AM_READ_PORT("P2") @@ -705,7 +727,7 @@ static ADDRESS_MAP_START( dduxbl_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("sprites") AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") AM_RANGE(0xc40000, 0xc40001) AM_WRITE(sys16_coinctrl_w) - AM_RANGE(0xc40006, 0xc40007) AM_WRITE(sound_command_w) + AM_RANGE(0xc40006, 0xc40007) AM_WRITE(sound_command_irq_w) AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1") AM_RANGE(0xc41004, 0xc41005) AM_READ_PORT("P2") AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE") @@ -825,7 +847,7 @@ static ADDRESS_MAP_START( fpointbl_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(sys16_textram_w) AM_SHARE("textram") AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("sprites") - AM_RANGE(0x600006, 0x600007) AM_WRITE(sound_command_w) + AM_RANGE(0x600006, 0x600007) AM_WRITE(sound_command_irq_w) AM_RANGE(0x601000, 0x601001) AM_READ_PORT("SERVICE") AM_RANGE(0x601002, 0x601003) AM_READ_PORT("P1") AM_RANGE(0x601004, 0x601005) AM_READ_PORT("P2") @@ -879,7 +901,7 @@ static ADDRESS_MAP_START( eswatbl_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE") AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1") AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2") - AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w) + AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_irq_w) AM_RANGE(0xc80000, 0xc80001) AM_WRITENOP AM_RANGE(0xffc000, 0xffffff) AM_RAM // work ram ADDRESS_MAP_END @@ -906,7 +928,7 @@ static ADDRESS_MAP_START( tetrisbl_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0xc41006, 0xc41007) AM_READ_PORT("P2") AM_RANGE(0xc42000, 0xc42001) AM_READ_PORT("DSW2") AM_RANGE(0xc42002, 0xc42003) AM_READ_PORT("DSW1") - AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w) + AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_irq_w) AM_RANGE(0xc43034, 0xc43035) AM_WRITENOP AM_RANGE(0xc80000, 0xc80001) AM_NOP AM_RANGE(0xffc000, 0xffffff) AM_RAM // work ram @@ -943,7 +965,7 @@ static ADDRESS_MAP_START( beautyb_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0xc41000, 0xc41001) AM_READ_PORT("SERVICE") AM_RANGE(0xc41002, 0xc41003) AM_READ_PORT("P1") AM_RANGE(0xc41004, 0xc41005) AM_READ_PORT("P2") - AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_w) + AM_RANGE(0xc42006, 0xc42007) AM_WRITE(sound_command_irq_w) AM_RANGE(0xc40000, 0xc40001) AM_WRITENOP AM_RANGE(0xc80000, 0xc80001) AM_WRITENOP // vblank irq ack @@ -963,7 +985,7 @@ static ADDRESS_MAP_START( tturfbl_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0x600000, 0x600001) AM_WRITE(sys16_coinctrl_w) AM_RANGE(0x600000, 0x600001) AM_READ_PORT("DSW2") AM_RANGE(0x600002, 0x600003) AM_READ_PORT("DSW1") - AM_RANGE(0x600006, 0x600007) AM_WRITE(sound_command_w) + AM_RANGE(0x600006, 0x600007) AM_WRITE(sound_command_irq_w) AM_RANGE(0x601000, 0x601001) AM_READ_PORT("SERVICE") AM_RANGE(0x601002, 0x601003) AM_READ_PORT("P1") AM_RANGE(0x601004, 0x601005) AM_READ_PORT("P2") @@ -1083,14 +1105,6 @@ ADDRESS_MAP_END ***************************************************************************/ -WRITE16_MEMBER(segas1x_bootleg_state::sound_command_irq_w) -{ - if (ACCESSING_BITS_0_7) - { - soundlatch_byte_w(space, 0, data & 0xff); - m_soundcpu->set_input_line(0, HOLD_LINE); - } -} static ADDRESS_MAP_START( shdancbl_map, AS_PROGRAM, 16, segas1x_bootleg_state ) AM_RANGE(0x000000, 0x07ffff) AM_ROM @@ -2016,16 +2030,12 @@ GFXDECODE_END *************************************/ /* System 16A/B Bootlegs */ -static MACHINE_CONFIG_START( system16, segas1x_bootleg_state ) +static MACHINE_CONFIG_START( system16_base, segas1x_bootleg_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, 10000000) MCFG_CPU_VBLANK_INT_DRIVER("screen", segas1x_bootleg_state, sys16_interrupt) - MCFG_CPU_ADD("soundcpu", Z80, 4000000) - MCFG_CPU_PROGRAM_MAP(sound_map) - MCFG_CPU_IO_MAP(sound_io_map) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) @@ -2039,6 +2049,13 @@ static MACHINE_CONFIG_START( system16, segas1x_bootleg_state ) MCFG_PALETTE_ADD("palette", 2048*SHADOW_COLORS_MULTIPLIER) MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system16) +MACHINE_CONFIG_END + +static MACHINE_CONFIG_DERIVED( system16, system16_base ) + + MCFG_CPU_ADD("soundcpu", Z80, 4000000) + MCFG_CPU_PROGRAM_MAP(sound_map) + MCFG_CPU_IO_MAP(sound_io_map) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") @@ -2048,7 +2065,6 @@ static MACHINE_CONFIG_START( system16, segas1x_bootleg_state ) MCFG_SOUND_ROUTE(1, "rspeaker", 0.32) MACHINE_CONFIG_END - WRITE_LINE_MEMBER(segas1x_bootleg_state::sound_cause_nmi) { /* upd7759 callback */ @@ -2094,8 +2110,7 @@ static MACHINE_CONFIG_FRAGMENT( system16_datsu_sound ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80) MACHINE_CONFIG_END - -static MACHINE_CONFIG_DERIVED( shinobib, system16 ) +static MACHINE_CONFIG_DERIVED( shinobi_datsu, system16_base ) /* basic machine hardware */ MCFG_CPU_MODIFY("maincpu") @@ -2107,8 +2122,33 @@ static MACHINE_CONFIG_DERIVED( shinobib, system16 ) MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_shinobi ) MCFG_SCREEN_MODIFY("screen") MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg) + + MCFG_CPU_ADD("soundcpu", Z80, 4000000) + MCFG_CPU_PERIODIC_INT_DRIVER(segas1x_bootleg_state, nmi_line_pulse, 3000) // or from the YM2203? + MCFG_CPU_PROGRAM_MAP(shinobi_datsu_sound_map) + MCFG_CPU_IO_MAP(shinobi_datsu_sound_io) + + /* sound hardware */ + MCFG_SPEAKER_STANDARD_MONO("mono") + + // 2x YM2203C, one at U57, one at U56 + MCFG_SOUND_ADD("ym1", YM2203, 4000000) +// MCFG_YM2203_IRQ_HANDLER(WRITELINE(segas1x_bootleg_state, datsu_irq_handler)) + MCFG_SOUND_ROUTE(0, "mono", 0.50) + MCFG_SOUND_ROUTE(1, "mono", 0.50) + MCFG_SOUND_ROUTE(2, "mono", 0.50) + MCFG_SOUND_ROUTE(3, "mono", 0.80) + + MCFG_SOUND_ADD("ym2", YM2203, 4000000) + MCFG_SOUND_ROUTE(0, "mono", 0.50) +// MCFG_YM2203_IRQ_HANDLER(WRITELINE(segas1x_bootleg_state, datsu_irq_handler)) + MCFG_SOUND_ROUTE(1, "mono", 0.50) + MCFG_SOUND_ROUTE(2, "mono", 0.50) + MCFG_SOUND_ROUTE(3, "mono", 0.80) + MACHINE_CONFIG_END + static MACHINE_CONFIG_DERIVED( passshtb, system16_7759 ) /* basic machine hardware */ @@ -2431,6 +2471,32 @@ ROM_START( shinobld ) ROM_LOAD( "16.bin", 0x0000, 0x10000, CRC(52c8364e) SHA1(01d30b82f92498d155d2e31d43d58dff0285cce3) ) ROM_END +ROM_START( shinoblda ) + ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 code */ + ROM_LOAD16_BYTE( "12.bin", 0x000001, 0x10000, CRC(68c91fd5) SHA1(54dc1d26711c73b30cbb5387dde27ba21cc102f4) ) // sldh + ROM_LOAD16_BYTE( "14.bin", 0x000000, 0x10000, CRC(9e887c80) SHA1(798a3dc499ef14b362bc37ff91b247e367f42ab9) ) // sldh + ROM_LOAD16_BYTE( "13.bin", 0x020001, 0x10000, CRC(c4334bcd) SHA1(ea1dd23ca6fbf632d8e10bbb9ced6515a69bd14a) ) + ROM_LOAD16_BYTE( "15.bin", 0x020000, 0x10000, CRC(b70a6ec1) SHA1(79db41c36d6a053bcdc355b46b19ae938a7755a9) ) + + ROM_REGION( 0x30000, "gfx1", ROMREGION_INVERT ) /* tiles */ + ROM_LOAD( "9.bin", 0x00000, 0x10000, CRC(565e11c6) SHA1(e063400b3d0470b932d75da0be9cd4b446189dea) ) + ROM_LOAD( "10.bin", 0x10000, 0x10000, CRC(7cc40b6c) SHA1(ffad7eef7ab2ff9a2e49a8d71b5785a61fa3c675) ) + ROM_LOAD( "11.bin", 0x20000, 0x10000, CRC(0f6c7b1c) SHA1(defc76592c285b3396e89a3cff7a73f3a948117f) ) + + ROM_REGION16_BE( 0x080000, "sprites", ROMREGION_ERASEFF ) /* sprites */ + ROM_LOAD16_BYTE( "5.bin", 0x00001, 0x10000, CRC(611f413a) SHA1(180f83216e2dfbfd77b0fb3be83c3042954d12df) ) + ROM_LOAD16_BYTE( "3.bin", 0x00000, 0x10000, CRC(5eb00fc1) SHA1(97e02eee74f61fabcad2a9e24f1868cafaac1d51) ) + ROM_LOAD16_BYTE( "8.bin", 0x20001, 0x10000, CRC(3c0797c0) SHA1(df18c7987281bd9379026c6cf7f96f6ae49fd7f9) ) + ROM_LOAD16_BYTE( "2.bin", 0x20000, 0x10000, CRC(25307ef8) SHA1(91ffbe436f80d583524ee113a8b7c0cf5d8ab286) ) + ROM_LOAD16_BYTE( "6.bin", 0x40001, 0x10000, CRC(c29ac34e) SHA1(b5e9b8c3233a7d6797f91531a0d9123febcf1660) ) + ROM_LOAD16_BYTE( "4.bin", 0x40000, 0x10000, CRC(04a437f8) SHA1(ea5fed64443236e3404fab243761e60e2e48c84c) ) + ROM_LOAD16_BYTE( "7.bin", 0x60001, 0x10000, CRC(41f41063) SHA1(5cc461e9738dddf9eea06831fce3702d94674163) ) + ROM_LOAD16_BYTE( "1.bin", 0x60000, 0x10000, CRC(b6e1fd72) SHA1(eb86e4bf880bd1a1d9bcab3f2f2e917bcaa06172) ) + + ROM_REGION( 0x10000, "soundcpu", 0 ) /* sound CPU + data */ + ROM_LOAD( "16.bin", 0x0000, 0x10000, CRC(52c8364e) SHA1(01d30b82f92498d155d2e31d43d58dff0285cce3) ) +ROM_END + /* Passing Shot Bootleg is a decrypted version of Passing Shot Japanese (passshtj). It has been heavily modified */ ROM_START( passshtb ) ROM_REGION( 0x020000, "maincpu", 0 ) /* 68000 code */ @@ -3702,7 +3768,11 @@ DRIVER_INIT_MEMBER(segas1x_bootleg_state,astormbl) *************************************/ /* System 16A based bootlegs (less complex tilemap system) */ -GAME( 1987, shinobld, shinobi, shinobib, shinobi, segas1x_bootleg_state, shinobl, ROT0, "bootleg (Datsu)", "Shinobi (Datsu bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND ) +GAME( 1987, shinobld, shinobi, shinobi_datsu, shinobi, segas1x_bootleg_state, shinobl, ROT0, "bootleg (Datsu)", "Shinobi (Datsu bootleg, set 1)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND ) +GAME( 1987, shinoblda, shinobi, shinobi_datsu, shinobi, segas1x_bootleg_state, shinobl, ROT0, "bootleg (Datsu)", "Shinobi (Datsu bootleg, set 2)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND ) + + + GAME( 1988, passshtb, passsht, passshtb, passsht, segas1x_bootleg_state, passsht, ROT270, "bootleg", "Passing Shot (2 Players) (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1988, passht4b, passsht, passsht4b, passht4b, segas1x_bootleg_state, shinobl, ROT270, "bootleg", "Passing Shot (4 Players) (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND ) GAME( 1988, wb3bbl, wb3, wb3bb, wb3b, segas1x_bootleg_state, wb3bbl, ROT0, "bootleg", "Wonder Boy III - Monster Lair (bootleg)", GAME_NOT_WORKING ) diff --git a/src/mame/includes/system16.h b/src/mame/includes/system16.h index 91ad78b88d8..087258bcc84 100644 --- a/src/mame/includes/system16.h +++ b/src/mame/includes/system16.h @@ -125,7 +125,7 @@ public: optional_shared_ptr m_decrypted_opcodes; DECLARE_WRITE16_MEMBER(sound_command_nmi_w); - DECLARE_WRITE16_MEMBER(sound_command_w); + DECLARE_WRITE16_MEMBER(sound_command_irq_w); DECLARE_WRITE16_MEMBER(sys16_coinctrl_w); DECLARE_READ16_MEMBER(passht4b_service_r); DECLARE_READ16_MEMBER(passht4b_io1_r); @@ -159,7 +159,6 @@ public: DECLARE_WRITE16_MEMBER(sys18_tilebank_w); DECLARE_READ8_MEMBER(system18_bank_r); DECLARE_WRITE8_MEMBER(sys18_soundbank_w); - DECLARE_WRITE16_MEMBER(sound_command_irq_w); DECLARE_WRITE8_MEMBER(shdancbl_msm5205_data_w); DECLARE_READ8_MEMBER(shdancbl_soundbank_r); DECLARE_WRITE8_MEMBER(shdancbl_bankctrl_w);