--- np2/win9x/np2.cpp 2004/02/21 17:52:04 1.42 +++ np2/win9x/np2.cpp 2004/06/02 11:02:54 1.54 @@ -43,8 +43,7 @@ #include "timing.h" #include "keystat.h" #include "debugsub.h" -#include "keydisp.h" -#include "kdispwin.h" +#include "subwind.h" #include "viewer.h" @@ -61,7 +60,12 @@ static char szClassName[] = "NP2-MainWi 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}, @@ -70,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]; @@ -107,13 +111,17 @@ static void winuileave(void) { WINLOCEX np2_winlocexallwin(HWND base) { - HWND list[3]; UINT i; + UINT cnt; + HWND list[5]; - list[0] = hWndMain; - list[1] = toolwin_gethwnd(); - list[2] = kdispwin_gethwnd(); - for (i=0; i<3; i++) { + 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 + if (np2oscfg.KEYBOARD >= KEY_TYPEMAX) { int keytype = GetKeyboardType(1); if ((keytype & 0xff00) == 0x0d00) { np2oscfg.KEYBOARD = KEY_PC98; @@ -1349,6 +1439,8 @@ int WINAPI WinMain(HINSTANCE hInstance, np2oscfg.KEYBOARD = KEY_KEY106; } } + winkbd_roll(np2oscfg.KEYBOARD != KEY_PC98); + winkbd_setf12(np2oscfg.F12COPY); keystat_initialize(); np2class_initialize(hInstance); @@ -1369,13 +1461,17 @@ 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; @@ -1415,8 +1511,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); } @@ -1425,7 +1520,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) { @@ -1504,7 +1599,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); @@ -1611,6 +1706,8 @@ int WINAPI WinMain(HINSTANCE hInstance, } toolwin_destroy(); kdispwin_destroy(); + skbdwin_destroy(); + mdbgwin_destroy(); pccore_cfgupdate(); @@ -1640,13 +1737,16 @@ int WINAPI WinMain(HINSTANCE hInstance, initsave(); toolwin_writeini(); kdispwin_writeini(); + skbdwin_writeini(); + mdbgwin_writeini(); } + skbdwin_deinitialize(); TRACETERM(); _MEM_USED("report.txt"); dosio_term(); - viewer_term(); // ver0.30 + viewer_term(); // ver0.30 return(msg.wParam); }