atarist.cpp: Add RESET callback (nw)

This commit is contained in:
AJR 2020-03-26 08:31:13 -04:00
parent e0db8f4efc
commit 3fdf7e13a6
2 changed files with 20 additions and 3 deletions

View File

@ -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);

View File

@ -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<m68000_base_device> m_maincpu;
required_device<cpu_device> m_ikbd;
required_device<wd1772_device> m_fdc;
required_device_array<floppy_connector, 2> m_floppy;
required_device<mc68901_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<palette_device> m_palette;
required_device<screen_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;