| version 1.1.1.1, 2003/10/16 17:59:09 | version 1.10, 2007/11/11 07:11:27 | 
| Line 1 | Line 1 | 
 | #include        "compiler.h" | #include        "compiler.h" | 
 | #include        "resource.h" | #include        "resource.h" | 
 | #include        "np2.h" | #include        "np2.h" | 
 | #include        "i286.h" |  | 
 | #include        "viewer.h" | #include        "viewer.h" | 
 | #include        "viewcmn.h" | #include        "viewcmn.h" | 
 |  | #include        "cpucore.h" | 
 |  |  | 
 | static  char            np2viewclass[] = "NP2-ViewWindow"; |  | 
 | NP2VIEW_T       np2view[NP2VIEW_MAX]; |  | 
 | extern  HINSTANCE       hInst; |  | 
 |  |  | 
 |  | static  const TCHAR             np2viewclass[] = _T("NP2-ViewWindow"); | 
 |  | const TCHAR             np2viewfont[] = _T("£Í£Ó ¥´¥·¥Ã¥¯"); | 
 |  | NP2VIEW_T               np2view[NP2VIEW_MAX]; | 
 |  |  | 
| static void viewer_segmode(HWND hwnd, BYTE type) { |  | 
|  | static void viewer_segmode(HWND hwnd, UINT8 type) { | 
 |  |  | 
 | NP2VIEW_T       *view; | NP2VIEW_T       *view; | 
 |  |  | 
| Line 60  LRESULT CALLBACK ViewProc(HWND hWnd, UIN | Line 61  LRESULT CALLBACK ViewProc(HWND hWnd, UIN | 
 | case WM_COMMAND: | case WM_COMMAND: | 
 | switch(LOWORD(wParam)) { | switch(LOWORD(wParam)) { | 
 | case IDM_VIEWWINNEW: | case IDM_VIEWWINNEW: | 
| viewer_open(); | viewer_open(g_hInstance); | 
 | break; | break; | 
 |  |  | 
 | case IDM_VIEWWINCLOSE: | case IDM_VIEWWINCLOSE: | 
| Line 104  LRESULT CALLBACK ViewProc(HWND hWnd, UIN | Line 105  LRESULT CALLBACK ViewProc(HWND hWnd, UIN | 
 | if (view) { | if (view) { | 
 | RECT    rc; | RECT    rc; | 
 | GetClientRect(hWnd, &rc); | GetClientRect(hWnd, &rc); | 
| view->step = rc.bottom / 16; | view->step = (UINT16)(rc.bottom / 16); | 
 | viewcmn_setvscroll(hWnd, view); | viewcmn_setvscroll(hWnd, view); | 
 | } | } | 
 | break; | break; | 
| Line 112  LRESULT CALLBACK ViewProc(HWND hWnd, UIN | Line 113  LRESULT CALLBACK ViewProc(HWND hWnd, UIN | 
 | case WM_VSCROLL: | case WM_VSCROLL: | 
 | view = viewcmn_find(hWnd); | view = viewcmn_find(hWnd); | 
 | if (view) { | if (view) { | 
| DWORD newpos = view->pos; | UINT32 newpos = view->pos; | 
 | switch(LOWORD(wParam)) { | switch(LOWORD(wParam)) { | 
 | case SB_LINEUP: | case SB_LINEUP: | 
 | if (newpos) { | if (newpos) { | 
| Line 186  LRESULT CALLBACK ViewProc(HWND hWnd, UIN | Line 187  LRESULT CALLBACK ViewProc(HWND hWnd, UIN | 
 |  |  | 
 | // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | 
 |  |  | 
| BOOL viewer_init(HINSTANCE hPreInst) { | BOOL viewer_init(HINSTANCE hInstance) { | 
 |  |  | 
 | WNDCLASS        np2vc; | WNDCLASS        np2vc; | 
 |  |  | 
 | ZeroMemory(np2view, sizeof(np2view)); | ZeroMemory(np2view, sizeof(np2view)); | 
 |  |  | 
| if (!hPreInst) { | np2vc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW; | 
| np2vc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW; | np2vc.lpfnWndProc = ViewProc; | 
| np2vc.lpfnWndProc = ViewProc; | np2vc.cbClsExtra = 0; | 
| np2vc.cbClsExtra = 0; | np2vc.cbWndExtra = 0; | 
| np2vc.cbWndExtra = 0; | np2vc.hInstance = hInstance; | 
| np2vc.hInstance = hInst; | np2vc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2)); | 
| np2vc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); | np2vc.hCursor = LoadCursor(NULL, IDC_ARROW); | 
| np2vc.hCursor = LoadCursor(NULL, IDC_ARROW); | np2vc.hbrBackground = (HBRUSH)0; | 
| np2vc.hbrBackground = (HBRUSH)0; | np2vc.lpszMenuName = MAKEINTRESOURCE(IDR_VIEW); | 
| np2vc.lpszMenuName = MAKEINTRESOURCE(IDM_VIEW); | np2vc.lpszClassName = np2viewclass; | 
| np2vc.lpszClassName = np2viewclass; | if (!RegisterClass(&np2vc)) { | 
| if (!RegisterClass(&np2vc)) { | return(FAILURE); | 
| return(FAILURE); |  | 
| } |  | 
 | } | } | 
 | return(SUCCESS); | return(SUCCESS); | 
 | } | } | 
| Line 216  void viewer_term(void) { | Line 215  void viewer_term(void) { | 
 | } | } | 
 |  |  | 
 |  |  | 
| void viewer_open(void) { | void viewer_open(HINSTANCE hInstance) { | 
 |  |  | 
 | int                     i; | int                     i; | 
 | NP2VIEW_T       *view; | NP2VIEW_T       *view; | 
| Line 224  void viewer_open(void) { | Line 223  void viewer_open(void) { | 
 | view = np2view; | view = np2view; | 
 | for (i=0; i<NP2VIEW_MAX; i++, view++) { | for (i=0; i<NP2VIEW_MAX; i++, view++) { | 
 | if (!view->alive) { | if (!view->alive) { | 
| char buf[256]; | TCHAR buf[256]; | 
 | viewcmn_caption(view, buf); | viewcmn_caption(view, buf); | 
 | ZeroMemory(view, sizeof(NP2VIEW_T)); | ZeroMemory(view, sizeof(NP2VIEW_T)); | 
 | view->alive = TRUE; | view->alive = TRUE; | 
| Line 233  void viewer_open(void) { | Line 232  void viewer_open(void) { | 
 | WS_OVERLAPPEDWINDOW | WS_VSCROLL, | WS_OVERLAPPEDWINDOW | WS_VSCROLL, | 
 | CW_USEDEFAULT, CW_USEDEFAULT, | CW_USEDEFAULT, CW_USEDEFAULT, | 
 | CW_USEDEFAULT, CW_USEDEFAULT, | CW_USEDEFAULT, CW_USEDEFAULT, | 
| NULL, NULL, hInst, NULL); | NULL, NULL, hInstance, NULL); | 
 | viewcmn_setmode(view, NULL, VIEWMODE_REG); | viewcmn_setmode(view, NULL, VIEWMODE_REG); | 
 | ShowWindow(view->hwnd, SW_SHOWNORMAL); | ShowWindow(view->hwnd, SW_SHOWNORMAL); | 
 | UpdateWindow(view->hwnd); | UpdateWindow(view->hwnd); | 
| Line 261  void viewer_allclose(void) { | Line 260  void viewer_allclose(void) { | 
 |  |  | 
 | void viewer_allreload(BOOL force) { | void viewer_allreload(BOOL force) { | 
 |  |  | 
| static  DWORD   last = 0; | static UINT32   last = 0; | 
| DWORD   now; | UINT32          now; | 
 |  |  | 
 | now = GetTickCount(); | now = GetTickCount(); | 
 | if ((force) || ((now - last) >= 200)) { | if ((force) || ((now - last) >= 200)) { | 
| Line 274  static DWORD last = 0; | Line 273  static DWORD last = 0; | 
 | for (i=0; i<NP2VIEW_MAX; i++, view++) { | for (i=0; i<NP2VIEW_MAX; i++, view++) { | 
 | if ((view->alive) && (!view->lock)) { | if ((view->alive) && (!view->lock)) { | 
 | if (view->type == VIEWMODE_ASM) { | if (view->type == VIEWMODE_ASM) { | 
| view->seg = I286_CS; | view->seg = CPU_CS; | 
| view->off = I286_IP; | view->off = CPU_IP; | 
 | view->pos = 0; | view->pos = 0; | 
 | viewcmn_setvscroll(view->hwnd, view); | viewcmn_setvscroll(view->hwnd, view); | 
 | } | } |