#pragma once
#include "udpl_dll_imp.h"

//
// UNKNOWN chip
//
class UdplChipUNKNOWN : public UdplChipImp	// デフォルトクラス
{
public:
	UdplChipUNKNOWN(UdplSocketIf *pif, UDPL_CHIP_INFO *pinfo) : UdplChipImp(pif, pinfo)
	{
		setWaits(pinfo->clock);
		initRegs();
	};
	virtual ~UdplChipUNKNOWN() {};

	bool __stdcall setRegister(uint32_t addr, uint32_t data);
	bool __stdcall writeBus(uint8_t abit, uint8_t data);
	uint32_t __stdcall getRegister(uint32_t addr);
	bool __stdcall setPcmData(void *pdat);

private:
	virtual void setWaits(uint32_t clk) override;		// アドレスウェイト、データウェイトの値の計算
	virtual void initRegs(void) override;				// レジスタの初期化
};
