summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/includes/at.h
diff options
context:
space:
mode:
author mahlemiut <mahlemiut@users.noreply.github.com>2014-05-09 04:04:16 +0000
committer mahlemiut <mahlemiut@users.noreply.github.com>2014-05-09 04:04:16 +0000
commit2e6d84897003ed81668c7260798d8287321c81cb (patch)
tree7d8f1735e33f5b8bd527e19ca6db6374b3d527a8 /src/mess/includes/at.h
parente9d7a93382ca9563e3c9796103feda7ee5c0c678 (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.h25
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_ */