diff options
author | 2014-05-09 04:04:16 +0000 | |
---|---|---|
committer | 2014-05-09 04:04:16 +0000 | |
commit | 2e6d84897003ed81668c7260798d8287321c81cb (patch) | |
tree | 7d8f1735e33f5b8bd527e19ca6db6374b3d527a8 /src/mess/includes/at.h | |
parent | e9d7a93382ca9563e3c9796103feda7ee5c0c678 (diff) |
Created WD7600 chipset device.
megapc: Made into a separate driver class, hooked up WD7600. [Barry Rodewald]
Diffstat (limited to 'src/mess/includes/at.h')
-rw-r--r-- | src/mess/includes/at.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mess/includes/at.h b/src/mess/includes/at.h index 27100daeae6..eccae4c5894 100644 --- a/src/mess/includes/at.h +++ b/src/mess/includes/at.h @@ -22,6 +22,7 @@ #include "bus/pci/i82439tx.h" #include "machine/cs8221.h" #include "machine/pit8253.h" +#include "machine/wd7600.h" #include "machine/idectrl.h" #include "machine/at_keybc.h" @@ -161,4 +162,28 @@ public: UINT32 at_286_a20(bool state); }; +class megapc_state : public driver_device +{ +public: + megapc_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_wd7600(*this, "wd7600"), + m_isabus(*this, "isabus"), + m_speaker(*this, "speaker") + { } + +public: + required_device<cpu_device> m_maincpu; + required_device<wd7600_device> m_wd7600; + required_device<isa16_device> m_isabus; + required_device<speaker_sound_device> m_speaker; + + DECLARE_READ16_MEMBER( wd7600_ior ); + DECLARE_WRITE16_MEMBER( wd7600_iow ); + DECLARE_WRITE_LINE_MEMBER( wd7600_hold ); + DECLARE_WRITE8_MEMBER( wd7600_tc ) { m_isabus->eop_w(offset, data); } + DECLARE_WRITE_LINE_MEMBER( wd7600_spkr ) { m_speaker->level_w(state); } +}; + #endif /* AT_H_ */ |