From 2b642fe458d22e4d31dd7b57d80b3f957050c4e6 Mon Sep 17 00:00:00 2001 From: Patrick Mackinlay Date: Wed, 19 May 2021 10:27:18 +0700 Subject: [PATCH] tekigw: don't crash when hard disk is missing --- src/mame/drivers/tekigw.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mame/drivers/tekigw.cpp b/src/mame/drivers/tekigw.cpp index d2b7d462cc0..ab292c97871 100644 --- a/src/mame/drivers/tekigw.cpp +++ b/src/mame/drivers/tekigw.cpp @@ -69,6 +69,7 @@ public: , m_fdd(*this, "fdc:%u:525dd", 0U) //, m_dma(*this, "dma") , m_hdc(*this, "hdc") + , m_hdd(*this, "hdc:0") , m_lan(*this, "lan") , m_led(*this, "led") { @@ -123,6 +124,7 @@ protected: optional_device_array m_fdd; //required_device m_dma; required_device m_hdc; + required_device m_hdd; required_device m_lan; output_finder<> m_led; @@ -395,7 +397,7 @@ enum hcr_mask : u8 void tek6100_state::hcr_w(u8 data) { - m_hdc->drdy_w(bool(data & HCR_DRSEL)); + m_hdc->drdy_w(m_hdd->exists() && bool(data & HCR_DRSEL)); m_hdc->brdy_w(bool(data & HCR_BFRDY)); if (!(data & HCR_BCCLR)) @@ -530,7 +532,7 @@ void tek6100_state::tek6130(machine_config &config) m_hdc->out_data_callback().set(FUNC(tek6100_state::buf_w)); m_hdc->out_bcr_callback().set([this](int state) { if (state) m_hdc_ptr = 0; }); - HARDDISK(config, "hdc:0", 0); + HARDDISK(config, m_hdd, 0); I82586(config, m_lan, 16_MHz_XTAL / 2); m_lan->set_addrmap(0, &tek6100_state::lan_map);