--- xmil/win9x/xmil.cpp 2004/08/17 12:30:41 1.20 +++ xmil/win9x/xmil.cpp 2004/08/18 11:46:57 1.22 @@ -314,14 +314,6 @@ static void xmilcmd(HWND hWnd, UINT cmd) scrnmng_changescreen(scrnmode | SCRNMODE_FULLSCREEN); break; - case IDM_WIDTH80: - crtc_forcesetwidth(80); - break; - - case IDM_WIDTH40: - crtc_forcesetwidth(40); - break; - case IDM_DISPSYNC: menu_setdispmode(xmilcfg.DISPSYNC ^ 1); update = SYS_UPDATECFG; @@ -329,6 +321,12 @@ static void xmilcmd(HWND hWnd, UINT cmd) case IDM_RASTER: menu_setraster(xmilcfg.RASTER ^ 1); + if (xmilcfg.RASTER) { + scrnmng_changescreen(scrnmode | SCRNMODE_SYSHIGHCOLOR); + } + else { + scrnmng_changescreen(scrnmode & (~SCRNMODE_SYSHIGHCOLOR)); + } update = SYS_UPDATECFG; break; @@ -395,6 +393,18 @@ static void xmilcmd(HWND hWnd, UINT cmd) update = SYS_UPDATECFG; break; + case IDM_WIDTH40: + crtc_forcesetwidth(40); + break; + + case IDM_WIDTH80: + crtc_forcesetwidth(80); + break; + + case IDM_Z80SAVE: + debugsub_status(); + break; + case IDM_BMPSAVE: winuienter(); dialog_writebmp(hWnd); @@ -427,10 +437,6 @@ static void xmilcmd(HWND hWnd, UINT cmd) update = SYS_UPDATECFG; break; - case IDM_Z80SAVE: - debugsub_status(); - break; - case IDM_ABOUT: winuienter(); DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUT), @@ -858,6 +864,9 @@ int WINAPI WinMain(HINSTANCE hInstance, scrndraw_initialize(); scrnmode = 0; + if (xmilcfg.RASTER) { + scrnmode |= SCRNMODE_SYSHIGHCOLOR; + } if (scrnmng_create(scrnmode) != SUCCESS) { scrnmode ^= SCRNMODE_FULLSCREEN; if (scrnmng_create(scrnmode) != SUCCESS) {