diff options
Diffstat (limited to 'src/mame/machine/m1io.h')
-rw-r--r-- | src/mame/machine/m1io.h | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/src/mame/machine/m1io.h b/src/mame/machine/m1io.h deleted file mode 100644 index 4700d053b5a..00000000000 --- a/src/mame/machine/m1io.h +++ /dev/null @@ -1,98 +0,0 @@ -// license: BSD-3-Clause -// copyright-holders: Dirk Best -/*************************************************************************** - - Sega Model 1/2 I/O RAM Abstraction - - This device handles the 16 bytes of dual-port RAM that are used to - communicate with the I/O board. It should go away once we properly - emulate the I/O boards. - -***************************************************************************/ - -#ifndef MAME_MACHINE_M1IO_H -#define MAME_MACHINE_M1IO_H - -#pragma once - -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_M1IO_AN0_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_an_callback(DEVCB_##_devcb, 0); - -#define MCFG_M1IO_AN1_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_an_callback(DEVCB_##_devcb, 1); - -#define MCFG_M1IO_AN2_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_an_callback(DEVCB_##_devcb, 2); - -#define MCFG_M1IO_AN3_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_an_callback(DEVCB_##_devcb, 3); - -#define MCFG_M1IO_AN4_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_an_callback(DEVCB_##_devcb, 4); - -#define MCFG_M1IO_AN5_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_an_callback(DEVCB_##_devcb, 5); - -#define MCFG_M1IO_AN6_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_an_callback(DEVCB_##_devcb, 6); - -#define MCFG_M1IO_AN7_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_an_callback(DEVCB_##_devcb, 7); - -#define MCFG_M1IO_DI0_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_di_callback(DEVCB_##_devcb, 0); - -#define MCFG_M1IO_DI1_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_di_callback(DEVCB_##_devcb, 1); - -#define MCFG_M1IO_DI2_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_di_callback(DEVCB_##_devcb, 2); - -#define MCFG_M1IO_DO_CB(_devcb) \ - devcb = &downcast<m1io_device &>(*device).set_do_callback(DEVCB_##_devcb); - - -//************************************************************************** -// TYPE DEFINITIONS -//************************************************************************** - -class m1io_device : public device_t -{ -public: - // construction/destruction - m1io_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - // configuration - template <class Object> devcb_base &set_an_callback(Object &&cb, int index) - { return m_an_cb[index].set_callback(std::forward<Object>(cb)); } - - template <class Object> devcb_base &set_di_callback(Object &&cb, int index) - { return m_di_cb[index].set_callback(std::forward<Object>(cb)); } - - template <class Object> devcb_base &set_do_callback(Object &&cb) - { return m_do_cb.set_callback(std::forward<Object>(cb)); } - - DECLARE_READ8_MEMBER(read); - DECLARE_WRITE8_MEMBER(write); - -protected: - // device-level overrides - virtual void device_start() override; - -private: - // callbacks - devcb_read8 m_an_cb[8]; - devcb_read8 m_di_cb[3]; - devcb_write8 m_do_cb; - - uint8_t m_out; -}; - -// device type definition -DECLARE_DEVICE_TYPE(SEGA_M1IO, m1io_device) - -#endif // MAME_MACHINE_M1IO_H |