--- np2/win9x/np2.cpp 2004/03/31 14:02:51 1.47 +++ np2/win9x/np2.cpp 2005/02/07 14:46:14 1.56 @@ -56,11 +56,16 @@ static char szClassName[] = "NP2-MainWi HINSTANCE hInst; HINSTANCE hPrev; int mmxflag; - BYTE np2break = 0; // ver0.30 + UINT8 np2break = 0; // ver0.30 BOOL winui_en; NP2OSCFG np2oscfg = { - "Neko Project II", "NP2", +#if !defined(SUPPORT_PC9821) + "Neko Project II", +#else + "Neko Project 21", +#endif + "NP2", CW_USEDEFAULT, CW_USEDEFAULT, 1, 1, 0, 1, 0, 0, 0, 0, KEY_UNKNOWN, 0, 0, 0, 0, {1, 2, 2, 1}, @@ -69,7 +74,7 @@ static char szClassName[] = "NP2-MainWi {0, 0, 0x3e, 19200, "", "", "", ""}, // ver0.34 {0, 0, 0x3e, 19200, "", "", "", ""}, // ver0.34 0xffffff, 0xffbf6a, 0, 0, - 0, 1, 0, 9801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + 0, 1, 0, 9801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; char fddfolder[MAX_PATH]; char hddfolder[MAX_PATH]; @@ -79,11 +84,11 @@ static char szClassName[] = "NP2-MainWi static UINT framecnt = 0; static UINT waitcnt = 0; static UINT framemax = 1; -static BYTE np2stopemulate = 0; +static UINT8 np2stopemulate = 0; static int np2opening = 1; static int np2quitmsg = 0; static HMENU hStat = NULL; -static BYTE scrnmode; +static UINT8 scrnmode; static WINLOCEX smwlex; static const char np2help[] = "np2.chm"; @@ -108,13 +113,14 @@ WINLOCEX np2_winlocexallwin(HWND base) { UINT i; UINT cnt; - HWND list[4]; + HWND list[5]; cnt = 0; list[cnt++] = hWndMain; list[cnt++] = toolwin_gethwnd(); list[cnt++] = kdispwin_gethwnd(); list[cnt++] = skbdwin_gethwnd(); + list[cnt++] = mdbgwin_gethwnd(); for (i=0; i= KEY_TYPEMAX) { // ver0.28 + xrollkey = (np2oscfg.xrollkey == 0); + if (np2oscfg.KEYBOARD >= KEY_TYPEMAX) { int keytype = GetKeyboardType(1); if ((keytype & 0xff00) == 0x0d00) { np2oscfg.KEYBOARD = KEY_PC98; + xrollkey = !xrollkey; } else if (!keytype) { np2oscfg.KEYBOARD = KEY_KEY101; @@ -1393,6 +1442,8 @@ int WINAPI WinMain(HINSTANCE hInstance, np2oscfg.KEYBOARD = KEY_KEY106; } } + winkbd_roll(xrollkey); + winkbd_setf12(np2oscfg.F12COPY); keystat_initialize(); np2class_initialize(hInstance); @@ -1414,13 +1465,16 @@ int WINAPI WinMain(HINSTANCE hInstance, toolwin_initapp(hInstance); kdispwin_initialize(hPreInst); skbdwin_initialize(hPreInst); + mdbgwin_initialize(hPreInst); viewer_init(hPreInst); mousemng_initialize(); - hWnd = CreateWindowEx(0, szClassName, np2oscfg.titles, - WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | - WS_THICKFRAME | WS_MINIMIZEBOX, + style = WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX; + if (np2oscfg.thickframe) { + style |= WS_THICKFRAME; + } + hWnd = CreateWindowEx(0, szClassName, np2oscfg.titles, style, np2oscfg.winx, np2oscfg.winy, 640, 400, NULL, NULL, hInstance, NULL); hWndMain = hWnd; @@ -1460,8 +1514,7 @@ int WINAPI WinMain(HINSTANCE hInstance, xmenu_initialize(); DrawMenuBar(hWnd); - // ver0.30 - if (file_attr_c(np2help) == (short)-1) { + if (file_attr_c(np2help) == (short)-1) { // ver0.30 EnableMenuItem(GetMenu(hWnd), IDM_HELP, MF_GRAYED); } @@ -1470,7 +1523,7 @@ int WINAPI WinMain(HINSTANCE hInstance, sysmenu_setwinsnap(np2oscfg.WINSNAP); sysmenu_setbackground(np2oscfg.background); sysmenu_setbgsound(np2oscfg.background); - sysmenu_setscrnmul(8); // ver0.26 + sysmenu_setscrnmul(8); scrnmode = 0; if (np2arg.fullscreen) { @@ -1549,7 +1602,7 @@ int WINAPI WinMain(HINSTANCE hInstance, } #endif -// リセットしてから… コマンドラインのディスク挿入。 // ver0.29 +// リセットしてから… コマンドラインのディスク挿入。 for (i=0; i<4; i++) { if (np2arg.disk[i]) { milstr_ncpy(diskdrv_fname[i], np2arg.disk[i], MAX_PATH); @@ -1657,6 +1710,7 @@ int WINAPI WinMain(HINSTANCE hInstance, toolwin_destroy(); kdispwin_destroy(); skbdwin_destroy(); + mdbgwin_destroy(); pccore_cfgupdate(); @@ -1687,6 +1741,7 @@ int WINAPI WinMain(HINSTANCE hInstance, toolwin_writeini(); kdispwin_writeini(); skbdwin_writeini(); + mdbgwin_writeini(); } skbdwin_deinitialize(); @@ -1694,7 +1749,7 @@ int WINAPI WinMain(HINSTANCE hInstance, _MEM_USED("report.txt"); dosio_term(); - viewer_term(); // ver0.30 + viewer_term(); // ver0.30 return(msg.wParam); }