summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/spectrum/uspeech.h
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2017-09-21 22:39:07 +0100
committer Nigel Barnes <Pernod70@users.noreply.github.com>2017-09-21 23:08:50 +0100
commitcdde9d681480511d164ae045111decc9f81a71af (patch)
tree2ab5a4864852695e1794fafc3aeca8bed0449db8 /src/devices/bus/spectrum/uspeech.h
parent5db14d55354532e4e1e77685e98dc31fda75662c (diff)
spectrum: Added expansion slot, and devices:
- ZX Interface 1 (not working) - ZX Interface 2 - Fuller Box - Kempston Joystick Interface (moved from driver) - Didaktik Melodik - Mikro-Plus (Shadow of the Unicorn) - Protek Joystick Interface - Currah MicroSlot - Currah MicroSpeech [Thomas Busse] - Currah MicroSource spec128: Added expansion slot, and devices: - ZX Interface 1 (not working) - ZX Interface 2 - Kempston Joystick Interface (moved from driver) - Mikro-Plus (Shadow of the Unicorn) - Protek Joystick Interface - Spectrum +2 Test Software
Diffstat (limited to 'src/devices/bus/spectrum/uspeech.h')
-rw-r--r--src/devices/bus/spectrum/uspeech.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/devices/bus/spectrum/uspeech.h b/src/devices/bus/spectrum/uspeech.h
new file mode 100644
index 00000000000..b3209f80331
--- /dev/null
+++ b/src/devices/bus/spectrum/uspeech.h
@@ -0,0 +1,59 @@
+// license:BSD-3-Clause
+// copyright-holders:Nigel Barnes,Thomas Busse
+/**********************************************************************
+
+ Spectrum Currah MicroSpeech emulation
+
+**********************************************************************/
+
+#ifndef MAME_BUS_SPECTRUM_USPEECH_H
+#define MAME_BUS_SPECTRUM_USPEECH_H
+
+#pragma once
+
+
+#include "exp.h"
+#include "sound/sp0256.h"
+
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> spectrum_uspeech_device
+
+class spectrum_uspeech_device :
+ public device_t,
+ public device_spectrum_expansion_interface
+{
+public:
+ // construction/destruction
+ spectrum_uspeech_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 const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
+ virtual DECLARE_READ_LINE_MEMBER(romcs) override;
+ virtual DECLARE_READ8_MEMBER(mreq_r) override;
+ virtual DECLARE_WRITE8_MEMBER(mreq_w) override;
+
+private:
+ required_device<sp0256_device> m_nsp;
+ required_memory_region m_rom;
+
+ int m_romcs;
+};
+
+
+// device type definition
+DECLARE_DEVICE_TYPE(SPECTRUM_USPEECH, spectrum_uspeech_device)
+
+
+#endif // MAME_BUS_SPECTRUM_USPEECH_H