00001 00007 #ifndef DLLKIT_H 00008 #define DLLKIT_H 00009 00010 #include <windows.h> 00011 00012 00013 #define DLLEXPORT __declspec(dllexport) 00014 00016 #define IOLO 0xD000 00017 00018 #define IOHI 0xD7FF 00019 00021 #define NMIID 0x020A 00022 #define IRQID 0x020B 00023 #define RESETID 0x020C 00024 #define ISVBI 0x020D 00025 00033 typedef UINT* MSGLIST; 00034 00036 #define ENDOFMSGLIST 0xBFFF 00037 00039 typedef struct { 00040 MSGLIST msglist; 00041 UINT iolo; 00042 UINT iohi; 00043 } INITDLLINFO; 00044 00051 typedef struct { 00053 char* memory; 00055 HWND hWnd; 00057 HWND hTb; 00059 HINSTANCE hInst; 00061 CRITICAL_SECTION CSMemory; 00064 unsigned char (*memgetb) (UINT adr); 00067 void (*memsetb) (UINT adr, unsigned char byte); 00069 RECT rcPaint; 00071 void* optional; 00072 } INITDLLSTRUCT; 00073 00079 typedef struct { 00080 UINT message; 00081 WPARAM wParam; 00082 LPARAM lParam; 00083 } MESSAGEDLLSTRUCT; 00084 00085 00095 BOOL CreateMsgList(MSGLIST* MsgList, int MessageCount); 00096 00102 void FreeMsgList(MSGLIST MsgList); 00103 00111 void AddMessage(MSGLIST MsgList, UINT Message); 00112 00113 00115 typedef enum { IOREAD, IOWRITE } iomode; 00116 00126 DLLEXPORT void __cdecl IOFunc(UINT adr, unsigned char* data, iomode mode); 00127 00128 00145 DLLEXPORT void __cdecl InitDll(INITDLLSTRUCT* ids, INITDLLINFO* idf); 00146 00158 DLLEXPORT void __cdecl OnMessage(MESSAGEDLLSTRUCT* mds); 00159 00160 #endif //#define DLLKIT_H