--- np2/win9x/menu.cpp 2003/11/13 15:33:06 1.8 +++ np2/win9x/menu.cpp 2004/02/13 20:31:55 1.12 @@ -29,7 +29,6 @@ static const char smenu_1280x800[] = "12 static const char smenu_memdump[] = "&Memory Dump"; static const char smenu_dbguty[] = "&Debug Utility"; -static const char menu_i286save[] = "&i286 save"; static const SMENUITEM smenuitem[] = { {smenu_toolwin, IDM_TOOLWIN}, @@ -171,6 +170,84 @@ void menu_addmenubar(HMENU popup, HMENU // ---- +static const char xmenu_i286save[] = "&i286 save"; + +#if defined(SUPPORT_SCSI) +static const char xmenu_scsi[] = "SCSI #%d"; +static const char xmenu_open[] = "&Open..."; +static const char xmenu_remove[] = "&Remove"; + +static void addscsimenu(HMENU hMenu, UINT drv, UINT16 open, UINT16 eject) { + + HMENU hSubMenu; + char buf[16]; + + hSubMenu = CreatePopupMenu(); + AppendMenu(hSubMenu, MF_STRING, open, xmenu_open); + AppendMenu(hSubMenu, MF_SEPARATOR, 0, NULL); + AppendMenu(hSubMenu, MF_STRING, eject, xmenu_remove); + + SPRINTF(buf, xmenu_scsi, drv); + AppendMenu(hMenu, MF_POPUP, (UINT32)hSubMenu, buf); +} +#endif + +#if defined(SUPPORT_STATSAVE) +static const char xmenu_stat[] = "S&tat"; +static const char xmenu_statsave[] = "Save %u"; +static const char xmenu_statload[] = "Load %u"; + +static void addstatsavemenu(HMENU hMenu) { + + HMENU hSubMenu; + UINT i; + char buf[16]; + + hSubMenu = CreatePopupMenu(); + for (i=0; i= 5) { + if (value > 6) { value = 0; } np2oscfg.F12COPY = value; @@ -263,6 +340,8 @@ void xmenu_setf12copy(BYTE value) { CheckMenuItem(hmenu, IDM_F12STOP, MFCHECK(value == 2)); CheckMenuItem(hmenu, IDM_F12EQU, MFCHECK(value == 3)); CheckMenuItem(hmenu, IDM_F12COMMA, MFCHECK(value == 4)); + CheckMenuItem(hmenu, IDM_USERKEY1, MFCHECK(value == 5)); + CheckMenuItem(hmenu, IDM_USERKEY2, MFCHECK(value == 6)); } void xmenu_setbeepvol(BYTE value) { @@ -297,6 +376,13 @@ void xmenu_setsound(BYTE value) { CheckMenuItem(hmenu, IDM_AMD98, MFCHECK(value == 0x80)); } +void xmenu_setjastsound(BYTE value) { + + value &= 1; + np2oscfg.jastsnd = value; + CheckMenuItem(np2class_gethmenu(hWndMain), IDM_JASTSOUND, MFCHECK(value)); +} + void xmenu_setmotorflg(BYTE value) { value &= 1; @@ -381,11 +467,3 @@ void xmenu_setsstp(BYTE value) { CheckMenuItem(np2class_gethmenu(hWndMain), IDM_SSTP, MFCHECK(value)); } -void xmenu_seti286save(BYTE value) { - - if (value) { - InsertMenu(GetSubMenu(np2class_gethmenu(hWndMain), 6), 10, - MF_BYPOSITION | MF_STRING, IDM_I286SAVE, menu_i286save); - } -} -