00001
00008 #ifndef EMU6502_H
00009 #define EMU6502_H
00010
00011 #include "resource.h"
00012
00013 #include "mem.h"
00014
00015
00016 #include "dlluser.h"
00017 #include "usrmsgs.h"
00018
00022 typedef struct _PtrList PtrList;
00023 struct _PtrList {
00024 void* ptr;
00025 PtrList* next;
00026 };
00027
00034 typedef struct _DllMsgList DllMsgList;
00035 struct _DllMsgList {
00036 UINT MesgID;
00037 PtrList* Functions;
00038 DllMsgList* next;
00039 };
00040
00042 int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
00043 LPSTR lpCmdLine, int nCmdShow);
00045 ATOM MyRegisterClass(HINSTANCE hInstance);
00046
00056 BOOL InitInstance(HINSTANCE, int);
00057
00066 HWND CreateToolBar(HWND hParentWnd);
00067
00076 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
00077
00079 LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
00080
00086 BOOL LoadMemFile(HWND hWnd);
00087
00099 void error(HWND hWnd, UINT uID, TCHAR* name);
00100
00110 void LoadPlugins(DllMsgList** list, PtrList** InstList);
00111
00123 BOOL LoadPlugin(TCHAR* name, DllMsgList** list, PtrList** InstList);
00124
00125
00126
00127
00128
00129 void UnloadPlugins(PtrList* list);
00139 BOOL ForwardDllMessage(UINT message, WPARAM wParam, LPARAM lParam, DllMsgList* list);
00140
00151 void AddDllMsg(DllMsgList** list, UINT message, pForwardDllMsgProc FDMProc);
00152
00156 void AddToPtrList(void* node, PtrList** list);
00157
00167 TCHAR* GetNextStrToken(TCHAR** buf);
00168
00169 #endif // #ifndef EMU6502_H