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)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", CDP1802, XTAL(3'579'545))
MCFG_DEVICE_PROGRAM_MAP(play_3_map)
MCFG_DEVICE_IO_MAP(play_3_io)
MCFG_COSMAC_WAIT_CALLBACK(CONSTANT(1))
MCFG_COSMAC_CLEAR_CALLBACK(READLINE(*this, play_3_state, clear_r))
MCFG_COSMAC_EF1_CALLBACK(READLINE(*this, play_3_state, ef1_r))
MCFG_COSMAC_EF4_CALLBACK(READLINE(*this, play_3_state, ef4_r))
MCFG_COSMAC_Q_CALLBACK(WRITELINE("4013a", ttl7474_device, clear_w))
CDP1802(config, m_maincpu, 3.579545_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &play_3_state::play_3_map);
m_maincpu->set_addrmap(AS_IO, &play_3_state::play_3_io);
m_maincpu->wait_cb().set_constant(1);
m_maincpu->clear_cb().set(FUNC(play_3_state::clear_r));
m_maincpu->ef1_cb().set(FUNC(play_3_state::ef1_r));
m_maincpu->ef4_cb().set(FUNC(play_3_state::ef4_r));
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")
@ -492,9 +493,6 @@ MACHINE_CONFIG_START(play_3_state::play_3)
config.set_default_layout(layout_play_3);
// 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_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, play_3_state, clock2_w))
@ -510,7 +508,7 @@ MACHINE_CONFIG_START(play_3_state::play_3)
/* Sound */
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_IO_MAP(play_3_audio_io)
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, "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_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)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(play_3_state::megaaton)
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")
MCFG_DEVICE_CLOCK(XTAL(2'950'000) / 8) // TPB line from CPU
m_maincpu->set_clock(2.95_MHz_XTAL);
m_maincpu->set_addrmap(AS_IO, &play_3_state::megaaton_io);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(play_3_state::sklflite)