⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apu_n106.h

📁 著名的任天堂FC游戏机模拟器VirtuaNes 085版的源码!
💻 H
字号:
//////////////////////////////////////////////////////////////////////////
//                                                                      //
//      Namcot N106                                                     //
//                                                           Norix      //
//                                               written     2001/09/18 //
//                                               last modify ----/--/-- //
//////////////////////////////////////////////////////////////////////////
#ifndef	__APU_N106_INCLUDED__
#define	__APU_N106_INCLUDED__

#define	WIN32_LEAN_AND_MEAN
#include "windows.h"

#include "typedef.h"
#include "macro.h"

#include "APU_INTERFACE.h"

class	APU_N106 : public APU_INTERFACE
{
public:
	APU_N106();
	~APU_N106();

	void	Reset( FLOAT fClock, INT nRate );
	void	Setup( FLOAT fClock, INT nRate );
	void	Write( WORD addr, BYTE data );
	BYTE	Read( WORD addr );
	INT	Process( INT channel );

	INT	GetFreq( INT channel );

	INT	GetStateSize();
	void	SaveState( LPBYTE p );
	void	LoadState( LPBYTE p );
protected:
	typedef	struct {
		INT	phaseacc;

		DWORD	freq;
		DWORD	phase;
		DWORD	tonelen;

		INT	output;

		BYTE	toneadr;
		BYTE	volupdate;

		BYTE	vol;
		BYTE	databuf;
	} CHANNEL;

	CHANNEL	op[8];

	FLOAT	cpu_clock;
	DWORD	cycle_rate;

	BYTE	addrinc;
	BYTE	address;
	BYTE	channel_use;

	BYTE	tone[0x100];

	INT	ChannelRender( CHANNEL& ch );
private:
};

#endif	// !__APU_N106_INCLUDED__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -