File:  [RetroPC.NET] / xmil / io / iocore.h
Revision 1.9: download - view: text, annotated - select for diffs
Tue Jun 3 05:07:31 2008 JST (17 years, 4 months ago) by yui
Branches: MAIN
CVS tags: HEAD
change to c style comment


#ifndef IOOUTCALL
#define	IOOUTCALL
#endif
#ifndef IOINPCALL
#define	IOINPCALL
#endif

typedef	void (IOOUTCALL *IOOUT)(UINT port, REG8 dat);
typedef	REG8 (IOINPCALL *IOINP)(UINT port);

typedef struct {
	UINT8	mode;
	UINT8	ppib;
#if defined(SUPPORT_BANKMEM)
	UINT8	bankmem;
#else
	UINT8	__bankmem;			/* protect */
#endif
	UINT8	padding;
} IOSTAT;

typedef struct {
	IOINP	inpfn[0x40];
	IOOUT	outfn[0x40];
} IOFNTBL;

typedef struct {
	SINT32	framestartclock;
	SINT32	dispclock;
	SINT32	vsyncstart;
#if !defined(MAINFRAMES_OLD)
	SINT32	vsyncend;
#else
	SINT32	vpulseclock;
#endif
} IOEXT;

typedef struct {
	IOFNTBL	f;
	IOSTAT	s;
	IOEXT	e;
} IOCORE;


#include	"cgrom.h"
#include	"cmt.h"
#include	"crtc.h"
#include	"ctc.h"
#include	"dipsw.h"
#include	"dmac.h"
#include	"fdc.h"
#include	"memio.h"
#include	"pcg.h"
#include	"ppi.h"
#include	"sio.h"
#include	"sndboard.h"
#include	"subcpu.h"
#include	"vramio.h"


#ifdef __cplusplus
extern "C" {
#endif

extern	IOCORE		iocore;
extern	CGROM		cgrom;
extern	CMT			cmt;
extern	CRTC		crtc;
extern	CTC			ctc;
extern	DMAC		dma;
extern	FDC			fdc;
extern	PCG			pcg;
extern	PPI			ppi;
extern	SIO			sio;
extern	SNDBOARD	sndboard;
extern	SUBCPU		subcpu;


void iocore_reset(void);

void IOOUTCALL iocore_out(UINT port, REG8 dat);
REG8 IOINPCALL iocore_inp(UINT port);

#ifdef __cplusplus
}
#endif


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