play_3.cpp: TPB is now a CDP1802 callback (nw)

This commit is contained in:
AJR 2018-07-19 11:58:59 -04:00
parent 0d5b7f4eb0
commit fb0e547884

View File

@ -477,14 +477,15 @@ WRITE_LINE_MEMBER( play_3_state::q4013a_w )
MACHINE_CONFIG_START(play_3_state::play_3) MACHINE_CONFIG_START(play_3_state::play_3)
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", CDP1802, XTAL(3'579'545)) CDP1802(config, m_maincpu, 3.579545_MHz_XTAL);
MCFG_DEVICE_PROGRAM_MAP(play_3_map) m_maincpu->set_addrmap(AS_PROGRAM, &play_3_state::play_3_map);
MCFG_DEVICE_IO_MAP(play_3_io) m_maincpu->set_addrmap(AS_IO, &play_3_state::play_3_io);
MCFG_COSMAC_WAIT_CALLBACK(CONSTANT(1)) m_maincpu->wait_cb().set_constant(1);
MCFG_COSMAC_CLEAR_CALLBACK(READLINE(*this, play_3_state, clear_r)) m_maincpu->clear_cb().set(FUNC(play_3_state::clear_r));
MCFG_COSMAC_EF1_CALLBACK(READLINE(*this, play_3_state, ef1_r)) m_maincpu->ef1_cb().set(FUNC(play_3_state::ef1_r));
MCFG_COSMAC_EF4_CALLBACK(READLINE(*this, play_3_state, ef4_r)) m_maincpu->ef4_cb().set(FUNC(play_3_state::ef4_r));
MCFG_COSMAC_Q_CALLBACK(WRITELINE("4013a", ttl7474_device, clear_w)) m_maincpu->q_cb().set("4013a", FUNC(ttl7474_device::clear_w));
m_maincpu->tpb_cb().set(FUNC(play_3_state::clock_w));
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")
@ -492,9 +493,6 @@ MACHINE_CONFIG_START(play_3_state::play_3)
config.set_default_layout(layout_play_3); config.set_default_layout(layout_play_3);
// Devices // Devices
MCFG_DEVICE_ADD("tpb_clock", CLOCK, XTAL(3'579'545) / 8) // TPB line from CPU
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, play_3_state, clock_w))
MCFG_DEVICE_ADD("xpoint", CLOCK, 60) // crossing-point detector MCFG_DEVICE_ADD("xpoint", CLOCK, 60) // crossing-point detector
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, play_3_state, clock2_w)) MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, play_3_state, clock2_w))
@ -510,7 +508,7 @@ MACHINE_CONFIG_START(play_3_state::play_3)
/* Sound */ /* Sound */
genpin_audio(config); genpin_audio(config);
MCFG_DEVICE_ADD("audiocpu", CDP1802, XTAL(3'579'545)) MCFG_DEVICE_ADD("audiocpu", CDP1802, 3.579545_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(play_3_audio_map) MCFG_DEVICE_PROGRAM_MAP(play_3_audio_map)
MCFG_DEVICE_IO_MAP(play_3_audio_io) MCFG_DEVICE_IO_MAP(play_3_audio_io)
MCFG_COSMAC_WAIT_CALLBACK(CONSTANT(1)) MCFG_COSMAC_WAIT_CALLBACK(CONSTANT(1))
@ -518,20 +516,17 @@ MACHINE_CONFIG_START(play_3_state::play_3)
SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right(); SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("aysnd1", AY8910, XTAL(3'579'545) / 2) MCFG_DEVICE_ADD("aysnd1", AY8910, 3.579545_MHz_XTAL / 2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75)
MCFG_DEVICE_ADD("aysnd2", AY8910, XTAL(3'579'545) / 2) MCFG_DEVICE_ADD("aysnd2", AY8910, 3.579545_MHz_XTAL / 2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
MACHINE_CONFIG_END MACHINE_CONFIG_END
MACHINE_CONFIG_START(play_3_state::megaaton) MACHINE_CONFIG_START(play_3_state::megaaton)
play_3(config); play_3(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(2'950'000))
MCFG_DEVICE_IO_MAP(megaaton_io)
MCFG_DEVICE_MODIFY("tpb_clock") m_maincpu->set_clock(2.95_MHz_XTAL);
MCFG_DEVICE_CLOCK(XTAL(2'950'000) / 8) // TPB line from CPU m_maincpu->set_addrmap(AS_IO, &play_3_state::megaaton_io);
MACHINE_CONFIG_END MACHINE_CONFIG_END
MACHINE_CONFIG_START(play_3_state::sklflite) MACHINE_CONFIG_START(play_3_state::sklflite)