mirror of
https://github.com/holub/mame
synced 2025-05-24 06:30:04 +03:00
62 lines
1.5 KiB
C++
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__
|