summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/acorn/system/vib.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/acorn/system/vib.h')
-rw-r--r--src/devices/bus/acorn/system/vib.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/devices/bus/acorn/system/vib.h b/src/devices/bus/acorn/system/vib.h
new file mode 100644
index 00000000000..d4d710a3256
--- /dev/null
+++ b/src/devices/bus/acorn/system/vib.h
@@ -0,0 +1,64 @@
+// license:BSD-3-Clause
+// copyright-holders:Nigel Barnes
+/**********************************************************************
+
+ Acorn Versatile Interface Board
+
+ http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Acorn_UIB.html
+
+**********************************************************************/
+
+
+#ifndef MAME_BUS_ACORN_SYSTEM_VIB_H
+#define MAME_BUS_ACORN_SYSTEM_VIB_H
+
+#pragma once
+
+#include "bus/acorn/bus.h"
+#include "bus/centronics/ctronics.h"
+#include "bus/rs232/rs232.h"
+#include "machine/i8255.h"
+#include "machine/6522via.h"
+#include "machine/6850acia.h"
+#include "machine/clock.h"
+#include "machine/input_merger.h"
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+class acorn_vib_device :
+ public device_t,
+ public device_acorn_bus_interface
+{
+public:
+ // construction/destruction
+ acorn_vib_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
+private:
+ DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
+ DECLARE_WRITE_LINE_MEMBER(irq_w);
+
+ required_device<i8255_device> m_ppi8255;
+ required_device<via6522_device> m_via6522;
+ required_device<acia6850_device> m_acia;
+ required_device<clock_device> m_acia_clock;
+ required_device<centronics_device> m_centronics;
+ required_device<rs232_port_device> m_rs232;
+ required_device<input_merger_device> m_irqs;
+};
+
+
+// device type definition
+DECLARE_DEVICE_TYPE(ACORN_VIB, acorn_vib_device)
+
+
+#endif // MAME_BUS_ACORN_SYSTEM_VIB_H