mame/src/mess/machine/swim.h
2013-01-11 07:32:46 +00:00

62 lines
1.5 KiB
C++

/*********************************************************************
swim.h
Implementation of the Apple SWIM FDC controller; used on (less)
early Macs
*********************************************************************/
#ifndef __SWIM_H__
#define __SWIM_H__
#include "machine/applefdc.h"
/***************************************************************************
DEVICE
***************************************************************************/
extern const device_type SWIM;
class swim_device : public applefdc_base_device
{
public:
swim_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// read/write
virtual UINT8 read(UINT8 offset);
virtual void write(UINT8 offset, UINT8 data);
protected:
// device-level overrides
virtual void device_start();
virtual void device_reset();
// other overrides
virtual void iwm_modereg_w(UINT8 data);
private:
UINT8 m_swim_mode;
UINT8 m_swim_magic_state;
UINT8 m_parm_offset;
UINT8 m_ism_regs[8];
UINT8 m_parms[16];
};
/***************************************************************************
DEVICE CONFIGURATION MACROS
***************************************************************************/
#define MCFG_SWIM_ADD(_tag, _intrf) \
MCFG_DEVICE_ADD(_tag, SWIM, 0) \
MCFG_DEVICE_CONFIG(_intrf)
#define MCFG_SWIM_MODIFY(_tag, _intrf) \
MCFG_DEVICE_MODIFY(_tag) \
MCFG_DEVICE_CONFIG(_intrf)
#endif // __SWIM_H__