File:  [RetroPC.NET] / xmil / adv / advpsg.h
Revision 1.1: download - view: text, annotated - select for diffs
Fri Feb 4 15:42:07 2005 JST (20 years, 8 months ago) by yui
Branches: MAIN
CVS tags: HEAD
RetroPC CVS restarting 2005/02/04 (T.Yui)


typedef struct {
	UINT8	tune[3][2];		// 0
	UINT8	noise;			// 6
	UINT8	mixer;			// 7
	UINT8	vol[3];			// 8
	UINT8	envtime[2];		// b
	UINT8	env;			// d
	UINT8	io1;
	UINT8	io2;
} PSGREG;

typedef struct {
	PSGREG		reg;
	UINT8		addr;
	UINT8		envbmp;
	UINT8		ch3bank;
	UINT8		padding;
	UINT8		vol[4];
	UINT16		freq[4];
	UINT32		lastclock;
	UINT32		envcnt;
	UINT32		envmax;
	UINT8		__mixer;		// unused
	UINT8		envmode;
	UINT8		envvol;
	SINT8		envvolcnt;
} _ADVPSG, *ADVPSG;


#ifdef __cplusplus
extern "C" {
#endif

extern	_ADVPSG	advpsg;

void advpsg_reset(ADVPSG psg);
void advpsg_sync(ADVPSG psg);

void advpsg_setreg(ADVPSG psg, REG8 reg, REG8 dat);
REG8 advpsg_getreg(ADVPSG psg, REG8 reg);

#ifdef __cplusplus
}
#endif


RetroPC.NET-CVS <cvs@retropc.net>