--- np2/win9x/debuguty/viewasm.cpp 2005/02/09 20:11:36 1.7 +++ np2/win9x/debuguty/viewasm.cpp 2005/03/20 08:58:19 1.9 @@ -18,20 +18,22 @@ static void set_viewseg(HWND hwnd, NP2VI } } - static void viewasm_paint(NP2VIEW_T *view, RECT *rc, HDC hdc) { - LONG y; - DWORD seg4; - UINT16 off; - DWORD pos; - BYTE *p; - BYTE buf[16]; - OEMCHAR str[16]; - HFONT hfont; - BOOL opsize; - _UNASM una; - int step; + LONG y; + UINT32 seg4; + UINT16 off; + UINT32 pos; + UINT8 *p; + UINT8 buf[16]; + TCHAR str[16]; + HFONT hfont; + BOOL opsize; + _UNASM una; + int step; +#if defined(UNICODE) + TCHAR cnv[64]; +#endif hfont = CreateFont(16, 0, 0, 0, 0, 0, 0, 0, SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, @@ -80,7 +82,7 @@ static void viewasm_paint(NP2VIEW_T *vie p = (BYTE *)view->buf1.ptr; p += off; if (off > 0xfff0) { - DWORD pos = 0x10000 - off; + UINT32 pos = 0x10000 - off; CopyMemory(buf, p, pos); CopyMemory(buf + pos, view->buf1.ptr, 16 - pos); p = buf; @@ -106,14 +108,14 @@ static void viewasm_paint(NP2VIEW_T *vie } for (y=0; ybottom; y+=16) { - OEMSPRINTF(str, OEMTEXT("%04x:%04x"), view->seg, off); + wsprintf(str, _T("%04x:%04x"), view->seg, off); TextOut(hdc, 0, y, str, 9); off &= 0xffff; if (view->lock) { p = (BYTE *)view->buf1.ptr; p += off; if (off > 0xfff0) { - DWORD pos = 0x10000 - off; + UINT32 pos = 0x10000 - off; CopyMemory(buf, p, pos); CopyMemory(buf + pos, view->buf1.ptr, 16 - pos); p = buf; @@ -127,9 +129,20 @@ static void viewasm_paint(NP2VIEW_T *vie if (!step) { break; } - TextOut(hdc, 11 * 8, y, una.mnemonic, OEMSTRLEN(una.mnemonic)); +#if defined(UNICODE) + TextOut(hdc, 11 * 8, y, cnv, MultiByteToWideChar(CP_ACP, + MB_PRECOMPOSED, una.mnemonic, -1, cnv, NELEMENTS(cnv))); +#else + TextOut(hdc, 11 * 8, y, una.mnemonic, lstrlen(una.mnemonic)); +#endif if (una.operand[0]) { - TextOut(hdc, (11 + 7) * 8, y, una.operand, OEMSTRLEN(una.operand)); +#if defined(UNICODE) + TextOut(hdc, (11 + 7) * 8, y, cnv, MultiByteToWideChar(CP_ACP, + MB_PRECOMPOSED, una.operand, -1, cnv, NELEMENTS(cnv))); +#else + TextOut(hdc, (11 + 7) * 8, y, + una.operand, lstrlen(una.operand)); +#endif } off += (UINT16)step; }