diff options
Diffstat (limited to 'docs/release/src/hbmame/drivers/fcrash.cpp')
-rw-r--r-- | docs/release/src/hbmame/drivers/fcrash.cpp | 110 |
1 files changed, 15 insertions, 95 deletions
diff --git a/docs/release/src/hbmame/drivers/fcrash.cpp b/docs/release/src/hbmame/drivers/fcrash.cpp index 5757ee74ea8..a5fd9df5a92 100644 --- a/docs/release/src/hbmame/drivers/fcrash.cpp +++ b/docs/release/src/hbmame/drivers/fcrash.cpp @@ -101,7 +101,7 @@ WRITE16_MEMBER( cps_state::fcrash_soundlatch_w ) { if (ACCESSING_BITS_0_7) { - soundlatch_byte_w(space, 0, data & 0xff); + m_soundlatch->write(space, 0, data & 0xff); m_audiocpu->set_input_line(0, HOLD_LINE); } } @@ -110,7 +110,7 @@ WRITE16_MEMBER(cps_state::cawingbl_soundlatch_w) { if (ACCESSING_BITS_8_15) { - soundlatch_byte_w(space, 0, data >> 8); + m_soundlatch->write(space, 0, data >> 8); m_audiocpu->set_input_line(0, HOLD_LINE); machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50)); /* boost the interleave or some voices get dropped */ } @@ -816,7 +816,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cps_state ) AM_RANGE(0xd800, 0xd801) AM_DEVREADWRITE("ym1", ym2203_device, read, write) AM_RANGE(0xdc00, 0xdc01) AM_DEVREADWRITE("ym2", ym2203_device, read, write) AM_RANGE(0xe000, 0xe000) AM_WRITE(fcrash_snd_bankswitch_w) - AM_RANGE(0xe400, 0xe400) AM_READ(soundlatch_byte_r) + AM_RANGE(0xe400, 0xe400) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_RANGE(0xe800, 0xe800) AM_WRITE(fcrash_msm5205_0_data_w) AM_RANGE(0xec00, 0xec00) AM_WRITE(fcrash_msm5205_1_data_w) ADDRESS_MAP_END @@ -827,7 +827,7 @@ static ADDRESS_MAP_START( kodb_sound_map, AS_PROGRAM, 8, cps_state ) AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("2151", ym2151_device, read, write) AM_RANGE(0xe400, 0xe400) AM_DEVREADWRITE("oki", okim6295_device, read, write) - AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_byte_r) + AM_RANGE(0xe800, 0xe800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) ADDRESS_MAP_END static ADDRESS_MAP_START( sf2mdt_z80map, AS_PROGRAM, 8, cps_state ) @@ -835,7 +835,7 @@ static ADDRESS_MAP_START( sf2mdt_z80map, AS_PROGRAM, 8, cps_state ) AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_RANGE(0xd800, 0xd801) AM_DEVREADWRITE("2151", ym2151_device, read, write) - AM_RANGE(0xdc00, 0xdc00) AM_READ(soundlatch_byte_r) + AM_RANGE(0xdc00, 0xdc00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_RANGE(0xe000, 0xe000) AM_WRITE(sf2mdt_snd_bankswitch_w) AM_RANGE(0xe400, 0xe400) AM_WRITE(fcrash_msm5205_0_data_w) AM_RANGE(0xe800, 0xe800) AM_WRITE(fcrash_msm5205_1_data_w) @@ -847,7 +847,7 @@ static ADDRESS_MAP_START( knightsb_z80map, AS_PROGRAM, 8, cps_state ) AM_RANGE(0xcffe, 0xcfff) AM_WRITENOP // writes lots of data AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_RANGE(0xd800, 0xd801) AM_DEVREADWRITE("2151", ym2151_device, read, write) - AM_RANGE(0xdc00, 0xdc00) AM_READ(soundlatch_byte_r) + AM_RANGE(0xdc00, 0xdc00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_RANGE(0xe000, 0xe000) AM_WRITE(knightsb_snd_bankswitch_w) AM_RANGE(0xe400, 0xe400) AM_WRITE(fcrash_msm5205_0_data_w) AM_RANGE(0xe800, 0xe800) AM_WRITE(fcrash_msm5205_1_data_w) @@ -861,8 +861,8 @@ static ADDRESS_MAP_START( sgyxz_sound_map, AS_PROGRAM, 8, cps_state ) AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_device, read, write) AM_RANGE(0xf004, 0xf004) AM_WRITE(cps1_snd_bankswitch_w) AM_RANGE(0xf006, 0xf006) AM_WRITE(cps1_oki_pin7_w) /* controls pin 7 of OKI chip */ - AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_byte_r) /* Sound command */ - AM_RANGE(0xf00a, 0xf00a) AM_READ(soundlatch2_byte_r) /* Sound timer fade */ + AM_RANGE(0xf008, 0xf008) AM_DEVREAD("soundlatch", generic_latch_8_device, read) + AM_RANGE(0xf00a, 0xf00a) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) ADDRESS_MAP_END @@ -1584,6 +1584,7 @@ static MACHINE_CONFIG_START( fcrash, cps_state ) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_GENERIC_LATCH_8_ADD("soundlatch") MCFG_SOUND_ADD("ym1", YM2203, 24000000/6) /* ? */ MCFG_SOUND_ROUTE(0, "mono", 0.10) @@ -1617,8 +1618,8 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, cps_state ) AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_device, read, write) AM_RANGE(0xf004, 0xf004) AM_WRITE(cps1_snd_bankswitch_w) AM_RANGE(0xf006, 0xf006) AM_WRITE(cps1_oki_pin7_w) /* controls pin 7 of OKI chip */ - AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_byte_r) /* Sound command */ - AM_RANGE(0xf00a, 0xf00a) AM_READ(soundlatch2_byte_r) /* Sound timer fade */ + AM_RANGE(0xf008, 0xf008) AM_DEVREAD("soundlatch", generic_latch_8_device, read) /* Sound command */ + AM_RANGE(0xf00a, 0xf00a) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) /* Sound timer fade */ ADDRESS_MAP_END static MACHINE_CONFIG_START( cawingb, cps_state ) @@ -1647,6 +1648,8 @@ static MACHINE_CONFIG_START( cawingb, cps_state ) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_GENERIC_LATCH_8_ADD("soundlatch") + MCFG_GENERIC_LATCH_8_ADD("soundlatch2") MCFG_YM2151_ADD("2151", XTAL_3_579545MHz) /* verified on pcb */ MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) @@ -1694,6 +1697,7 @@ static MACHINE_CONFIG_START( kodb, cps_state ) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_GENERIC_LATCH_8_ADD("soundlatch") MCFG_YM2151_ADD("2151", XTAL_3_579545MHz) /* verified on pcb */ MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) @@ -3048,90 +3052,6 @@ GAME( 1999, sgyxz, wof, sgyxz, sgyxz, cps_state, cps1, ROT0, GAME( 1990, cawingb, cawing, cawingb, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg)", MACHINE_SUPPORTS_SAVE ) -WRITE16_MEMBER(cps_state::varthb_layer_w) -{ - if (data > 0x9000) - m_cps_a_regs[0x06 / 2] = data; -} - -static ADDRESS_MAP_START( varthb_map, AS_PROGRAM, 16, cps_state ) - AM_RANGE(0x000000, 0x1fffff) AM_ROM - AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN1") /* Player input ports */ - AM_RANGE(0x800006, 0x800007) AM_WRITE(cps1_soundlatch_w) /* Sound command */ - AM_RANGE(0x800018, 0x80001f) AM_READ(cps1_dsw_r) /* System input ports / Dip Switches */ - AM_RANGE(0x800030, 0x800037) AM_WRITE(cps1_coinctrl_w) - AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_SHARE("cps_a_regs") /* CPS-A custom */ - AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs") /* CPS-B custom (mapped by LWIO/IOB1 PAL on B-board) */ - AM_RANGE(0x800188, 0x800189) AM_WRITE(varthb_layer_w) - AM_RANGE(0x980000, 0x98000b) AM_WRITE(dinopic_layer_w) - AM_RANGE(0x900000, 0x92ffff) AM_RAM_WRITE(cps1_gfxram_w) AM_SHARE("gfxram") /* SF2CE executes code from here */ - AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("mainram") -ADDRESS_MAP_END - -static MACHINE_CONFIG_START( varthb, cps_state ) - - /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 12000000) - MCFG_CPU_PROGRAM_MAP(varthb_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - - MCFG_CPU_ADD("audiocpu", Z80, 3579545) - MCFG_CPU_PROGRAM_MAP(sgyxz_sound_map) - - MCFG_MACHINE_START_OVERRIDE(cps_state,cps1) - - /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) - MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1) - MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1) - MCFG_SCREEN_PALETTE("palette") - - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) - MCFG_PALETTE_ADD("palette", 0xc00) - - MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) - - /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") - - MCFG_YM2151_ADD("2151", XTAL_3_579545MHz) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.35) - MCFG_SOUND_ROUTE(1, "mono", 0.35) - - MCFG_OKIM6295_ADD("oki", XTAL_16MHz/4/4, OKIM6295_PIN7_HIGH) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) -MACHINE_CONFIG_END - -ROM_START( varthb ) - ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ - ROM_LOAD16_BYTE( "2", 0x000000, 0x80000, CRC(2f010023) SHA1(bf4b6c0cd82cf1b86e17d6ea2670110c06e6eabe) ) - ROM_LOAD16_BYTE( "1", 0x000001, 0x80000, CRC(0861dff3) SHA1(bf6dfe18ecaeaa1bbea09267014891c4a4a07943) ) - ROM_LOAD16_BYTE( "4", 0x100000, 0x10000, CRC(aa51e43b) SHA1(46b9dab844c55b50a47d048e5bb114911773699c) ) - ROM_LOAD16_BYTE( "3", 0x100001, 0x10000, CRC(f7e4f2f0) SHA1(2ce4eadb2d6a0e0d5745323eff2c899950ad4d3b) ) - - ROM_REGION( 0x200000, "gfx", 0 ) - ROMX_LOAD( "14", 0x000000, 0x40000, CRC(7ca73780) SHA1(26909db32f84157cd05719e5d1e715e76636d292) , ROM_SKIP(7) ) - ROMX_LOAD( "13", 0x000001, 0x40000, CRC(9fb11869) SHA1(a434fb0b588f934aaa68139495e1212a63ccf162) , ROM_SKIP(7) ) - ROMX_LOAD( "12", 0x000002, 0x40000, CRC(afeba416) SHA1(e722c65ea2e2bac3251c32208899484aa5ef6ad2) , ROM_SKIP(7) ) - ROMX_LOAD( "11", 0x000003, 0x40000, CRC(9eef3507) SHA1(ae03064ca5681fbdc43a34c54aaac11c8467428b) , ROM_SKIP(7) ) - ROMX_LOAD( "10", 0x000004, 0x40000, CRC(eeec6183) SHA1(40dc9c86e90d7c1a2ad600c195fe387180d95fd4) , ROM_SKIP(7) ) - ROMX_LOAD( "9", 0x000005, 0x40000, CRC(0e94f718) SHA1(249534f2323abcdb24099d0abc24c229c699ba94) , ROM_SKIP(7) ) - ROMX_LOAD( "8", 0x000006, 0x40000, CRC(c4ddc5b4) SHA1(79c2a42a664e387932b7804e7a80f5753338c3b0) , ROM_SKIP(7) ) - ROMX_LOAD( "7", 0x000007, 0x40000, CRC(8941ca12) SHA1(5ad5d47b8614c2899d05c65dc3b74947d4bac561) , ROM_SKIP(7) ) - - ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */ - ROM_LOAD( "6", 0x00000, 0x08000, CRC(7a99446e) SHA1(ca027f41e3e58be5abc33ad7380746658cb5380a) ) // == va_09.12b - ROM_CONTINUE( 0x10000, 0x08000 ) - - ROM_REGION( 0x40000, "oki", 0 ) /* Samples */ - ROM_LOAD( "5", 0x00000, 0x40000, CRC(1547e595) SHA1(27f47b1afd9700afd9e8167d7e4e2888be34a9e5) ) -ROM_END - static ADDRESS_MAP_START( captcommb2_map, AS_PROGRAM, 16, cps_state ) AM_RANGE(0x000000, 0x1fffff) AM_ROM AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN1") /* Player input ports */ @@ -3187,6 +3107,7 @@ static MACHINE_CONFIG_START( captcommb2, cps_state ) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_GENERIC_LATCH_8_ADD("soundlatch") MCFG_YM2151_ADD("2151", 3579545) MCFG_SOUND_ROUTE(0, "mono", 0.35) @@ -3228,5 +3149,4 @@ ROM_START( captcommb2 ) ROM_END -GAME( 1992, varthb, varth, varthb, varth, cps_state, dinopic, ROT270, "bootleg", "Varth: Operation Thunderstorm (bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1991, captcommb2,captcomm, captcommb2,captcomm, cps_state, cps1, ROT0, "bootleg", "Captain Commando (bootleg with YM2151 + 2xMSM5205)", MACHINE_SUPPORTS_SAVE ) |