--- np2/io/iocore.h 2003/10/16 17:57:49 1.1 +++ np2/io/iocore.h 2007/11/03 00:00:20 1.14 @@ -1,10 +1,4 @@ -#if 0 -#define I286_OUT void -typedef BYTE I286_INB; -typedef UINT16 I286_INW; -#endif - #ifndef IOOUTCALL #define IOOUTCALL #endif @@ -12,11 +6,12 @@ typedef UINT16 I286_INW; #define IOINPCALL #endif -typedef void (IOOUTCALL *IOOUT)(UINT port, BYTE val); -typedef BYTE (IOINPCALL *IOINP)(UINT port); - -typedef void (*IOCBFN)(void); +typedef void (*FNIORESET)(const NP2CFG *pConfig); +typedef void (*FNIOBIND)(void); +typedef void (IOOUTCALL *IOOUT)(UINT port, REG8 val); +typedef REG8 (IOINPCALL *IOINP)(UINT port); +#include "lsidef.h" #include "artic.h" #include "cgrom.h" @@ -25,14 +20,14 @@ typedef void (*IOCBFN)(void); #include "dipsw.h" #include "dmac.h" #include "egc.h" -#include "extmem.h" +#include "epsonio.h" +#include "emsio.h" #include "fdc.h" #include "fdd320.h" #include "gdc.h" #include "gdc_cmd.h" -#include "gdc_sub.h" -#include "itf.h" #include "mouseif.h" +#include "necio.h" #include "nmiio.h" #include "np2sysp.h" #include "pic.h" @@ -42,6 +37,10 @@ typedef void (*IOCBFN)(void); #include "sysport.h" #include "upd4990.h" +#if defined(SUPPORT_PC9821) +#include "pcidev.h" +#endif + #ifdef __cplusplus extern "C" { @@ -50,18 +49,18 @@ extern "C" { extern _ARTIC artic; extern _CGROM cgrom; extern _CGWINDOW cgwindow; -extern _CPUIO cpuio; extern _CRTC crtc; extern _DMAC dmac; extern _EGC egc; -extern _EXTMEM extmem; +extern _EPSONIO epsonio; +extern _EMSIO emsio; extern _FDC fdc; extern _GDC gdc; extern _GDCS gdcs; extern _GRCG grcg; -extern _ITF itf; -extern _KEYB keyb; +extern _KEYBRD keybrd; extern _MOUSEIF mouseif; +extern _NECIO necio; extern _NMIIO nmiio; extern _NP2SYSP np2sysp; extern _PIC pic; @@ -70,6 +69,10 @@ extern _RS232C rs232c; extern _SYSPORT sysport; extern _UPD4990 uPD4990; +#if defined(SUPPORT_PC9821) +extern _PCIDEV pcidev; +#endif + // I/O - 8bit decode void iocore_attachcmnout(UINT port, IOOUT func); @@ -88,26 +91,30 @@ void iocore_attachsysinpex(UINT port, UI const IOINP *func, UINT funcs); // サウンドI/O - 12bit decode -BOOL iocore_attachsndout(UINT port, IOOUT func); -BOOL iocore_attachsndinp(UINT port, IOINP func); +BRESULT iocore_attachsndout(UINT port, IOOUT func); +BRESULT iocore_attachsndinp(UINT port, IOINP func); // 拡張I/O - 16bit decode -BOOL iocore_attachout(UINT port, IOOUT func); -BOOL iocore_attachinp(UINT port, IOINP func); +BRESULT iocore_attachout(UINT port, IOOUT func); +BRESULT iocore_attachinp(UINT port, IOINP func); void iocore_create(void); void iocore_destroy(void); -BOOL iocore_build(void); +BRESULT iocore_build(void); -void iocore_cb(const IOCBFN *cbfn, UINT count); -void iocore_reset(void); +void iocore_cbreset(const FNIORESET *pfn, UINT uCount, const NP2CFG *pConfig); +void iocore_cbbind(const FNIOBIND *pfn, UINT uCount); +void iocore_reset(const NP2CFG *pConfig); void iocore_bind(void); -void IOOUTCALL iocore_out8(UINT port, BYTE val); -BYTE IOINPCALL iocore_inp8(UINT port); +void IOOUTCALL iocore_out8(UINT port, REG8 dat); +REG8 IOINPCALL iocore_inp8(UINT port); + +void IOOUTCALL iocore_out16(UINT port, REG16 dat); +REG16 IOINPCALL iocore_inp16(UINT port); -void IOOUTCALL iocore_out16(UINT port, UINT16 dat); -UINT16 IOINPCALL iocore_inp16(UINT port); +void IOOUTCALL iocore_out32(UINT port, UINT32 dat); +UINT32 IOINPCALL iocore_inp32(UINT port); #ifdef __cplusplus }