|
|
| version 1.3, 2003/11/04 15:44:59 | version 1.10, 2007/11/11 07:11:27 |
|---|---|
| Line 3 | Line 3 |
| #include "np2.h" | #include "np2.h" |
| #include "viewer.h" | #include "viewer.h" |
| #include "viewcmn.h" | #include "viewcmn.h" |
| #include "i286.h" | #include "cpucore.h" |
| static char np2viewclass[] = "NP2-ViewWindow"; | static const TCHAR np2viewclass[] = _T("NP2-ViewWindow"); |
| NP2VIEW_T np2view[NP2VIEW_MAX]; | const TCHAR np2viewfont[] = _T("£Í£Ó ¥´¥·¥Ã¥¯"); |
| extern HINSTANCE hInst; | 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 61 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 105 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 113 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 187 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(IDR_VIEW); | np2vc.lpszClassName = np2viewclass; |
| np2vc.lpszClassName = np2viewclass; | if (!RegisterClass(&np2vc)) { |
| if (!RegisterClass(&np2vc)) { | return(FAILURE); |
| return(FAILURE); | |
| } | |
| } | } |
| return(SUCCESS); | return(SUCCESS); |
| } | } |
| Line 217 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 225 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 234 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 262 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 275 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); |
| } | } |