From 3fdf7e13a6c73e43fb56d2bbedca663c7279d202 Mon Sep 17 00:00:00 2001 From: AJR Date: Thu, 26 Mar 2020 08:31:13 -0400 Subject: [PATCH] atarist.cpp: Add RESET callback (nw) --- src/mame/drivers/atarist.cpp | 11 +++++++++++ src/mame/includes/atarist.h | 12 +++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/atarist.cpp b/src/mame/drivers/atarist.cpp index beb3f41a8ab..08757d963fe 100644 --- a/src/mame/drivers/atarist.cpp +++ b/src/mame/drivers/atarist.cpp @@ -729,6 +729,15 @@ WRITE_LINE_MEMBER( st_state::write_monochrome ) m_mfp->i7_w(m_monochrome); } +WRITE_LINE_MEMBER( st_state::reset_w ) +{ + //glu_reset(); + m_mfp->reset(); + //m_ikbd->pulse_input_line(INPUT_LINE_RESET, attotime::zero); + m_fdc->soft_reset(); + //m_acsi->reset(); +} + //************************************************************************** @@ -1993,6 +2002,7 @@ void st_state::common(machine_config &config) // basic machine hardware M68000(config, m_maincpu, Y2/4); m_maincpu->set_addrmap(m68000_base_device::AS_CPU_SPACE, &st_state::cpu_space_map); + m_maincpu->set_reset_callback(FUNC(st_state::reset_w)); keyboard(config); @@ -2207,6 +2217,7 @@ void stbook_state::stbook(machine_config &config) // basic machine hardware M68000(config, m_maincpu, U517/2); m_maincpu->set_addrmap(AS_PROGRAM, &stbook_state::stbook_map); + m_maincpu->set_reset_callback(FUNC(st_state::reset_w)); //COP888(config, COP888_TAG, Y700); diff --git a/src/mame/includes/atarist.h b/src/mame/includes/atarist.h index 86df45e5c48..6d2b662f50c 100644 --- a/src/mame/includes/atarist.h +++ b/src/mame/includes/atarist.h @@ -86,6 +86,7 @@ public: st_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, M68000_TAG), + m_ikbd(*this, HD6301V1_TAG), m_fdc(*this, WD1772_TAG), m_floppy(*this, WD1772_TAG ":%u", 0U), m_mfp(*this, MC68901_TAG), @@ -127,7 +128,13 @@ public: m_led(*this, "led1") { } + DECLARE_WRITE_LINE_MEMBER( write_monochrome ); + + void st(machine_config &config); + +protected: required_device m_maincpu; + required_device m_ikbd; required_device m_fdc; required_device_array m_floppy; required_device m_mfp; @@ -236,6 +243,8 @@ public: DECLARE_WRITE_LINE_MEMBER( ikbd_tx_w ); + DECLARE_WRITE_LINE_MEMBER( reset_w ); + void toggle_dma_fifo(); void flush_dma_fifo(); void fill_dma_fifo(); @@ -323,14 +332,11 @@ public: int m_monochrome; required_device m_palette; required_device m_screen; - DECLARE_WRITE_LINE_MEMBER( write_monochrome ); void common(machine_config &config); - void st(machine_config &config); void ikbd_map(address_map &map); void cpu_space_map(address_map &map); void st_map(address_map &map); -protected: void keyboard(machine_config &config); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;