--- np2/win9x/menu.cpp 2003/11/13 15:33:06 1.8 +++ np2/win9x/menu.cpp 2004/02/11 17:39:59 1.11 @@ -171,6 +171,62 @@ void menu_addmenubar(HMENU popup, HMENU // ---- +static const char xmenu_stat[] = "S&tat"; +static const char xmenu_statsave[] = "Save %d"; +static const char xmenu_statload[] = "Load %d"; +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); +} + +void xmenu_initialize(void) { + + HMENU hMenu; + HMENU hSubMenu; + int i; + char buf[16]; + + hMenu = np2class_gethmenu(hWndMain); + +#if defined(SUPPORT_SCSI) + hSubMenu = GetSubMenu(hMenu, 3); + AppendMenu(hSubMenu, MF_SEPARATOR, 0, NULL); + addscsimenu(hSubMenu, 0, IDM_SCSI0OPEN, IDM_SCSI0EJECT); + addscsimenu(hSubMenu, 1, IDM_SCSI1OPEN, IDM_SCSI1EJECT); + addscsimenu(hSubMenu, 2, IDM_SCSI2OPEN, IDM_SCSI2EJECT); + addscsimenu(hSubMenu, 3, IDM_SCSI3OPEN, IDM_SCSI3EJECT); +#endif + + // めにゅー追加 + if (np2oscfg.statsave) { + hSubMenu = CreatePopupMenu(); + for (i=0; i= 5) { + if (value > 6) { value = 0; } np2oscfg.F12COPY = value; @@ -263,6 +319,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 +355,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;