summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/saitek_osa/maestroa.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/saitek_osa/maestroa.h')
-rw-r--r--src/devices/bus/saitek_osa/maestroa.h27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/devices/bus/saitek_osa/maestroa.h b/src/devices/bus/saitek_osa/maestroa.h
index 2048bde7b60..3ef210e153a 100644
--- a/src/devices/bus/saitek_osa/maestroa.h
+++ b/src/devices/bus/saitek_osa/maestroa.h
@@ -2,7 +2,7 @@
// copyright-holders:hap
/***************************************************************************
- Saitek OSA Maestro A
+ Saitek OSA Module: Maestro A
***************************************************************************/
@@ -14,12 +14,6 @@
#include "expansion.h"
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> saitekosa_maestroa_device
-
class saitekosa_maestroa_device : public device_t, public device_saitekosa_expansion_interface
{
public:
@@ -27,14 +21,31 @@ public:
saitekosa_maestroa_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
// from host
+ virtual u8 data_r() override;
virtual void nmi_w(int state) override;
protected:
+ virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override;
+ virtual void device_reset() override;
+
+private:
+ required_device<cpu_device> m_maincpu;
+
+ void main_map(address_map &map);
+
+ u8 p2200_r();
+ u8 p2400_r();
+ void p2400_w(u8 data);
+ u8 p2600_r();
+ void p2600_w(u8 data);
+
+ u8 m_latch = 0xff;
+ bool m_latch_enable = false;
};
-// device type definition
+
DECLARE_DEVICE_TYPE(OSA_MAESTROA, saitekosa_maestroa_device)
#endif // MAME_BUS_SAITEKOSA_MAESTROA_H