|
|
| version 1.19, 2003/12/04 16:48:15 | version 1.29, 2004/02/18 06:19:01 |
|---|---|
| Line 20 | Line 20 |
| #include "pc9861k.h" | #include "pc9861k.h" |
| #include "mpu98ii.h" | #include "mpu98ii.h" |
| #include "timing.h" | #include "timing.h" |
| #include "keystat.h" | |
| #include "debugsub.h" | #include "debugsub.h" |
| #include "bios.h" | #include "bios.h" |
| #include "scrndraw.h" | #include "scrndraw.h" |
| Line 28 | Line 29 |
| #include "s98.h" | #include "s98.h" |
| #include "diskdrv.h" | #include "diskdrv.h" |
| #include "fddfile.h" | #include "fddfile.h" |
| #include "statsave.h" | |
| #define USE_RESUME | #define USE_RESUME |
| NP2OSCFG np2oscfg = {100, 100, 0, 2, 0, 0, 0, 0, 0, 0}; | NP2OSCFG np2oscfg = {100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0}; |
| WindowPtr hWndMain; | WindowPtr hWndMain; |
| BOOL np2running; | BOOL np2running; |
| Line 110 static void MenuBarInit(void) { | Line 110 static void MenuBarInit(void) { |
| if (hmenu) { | if (hmenu) { |
| AppendResMenu(hmenu, 'DRVR'); | AppendResMenu(hmenu, 'DRVR'); |
| } | } |
| #if !defined(SUPPORT_SCSI) | |
| hmenu = GetMenuHandle(IDM_HARDDISK); | |
| if (hmenu) { | |
| DeleteMenuItem(hmenu, 7); | |
| DeleteMenuItem(hmenu, 6); | |
| DeleteMenuItem(hmenu, 5); | |
| DeleteMenuItem(hmenu, 4); | |
| DeleteMenuItem(hmenu, 3); | |
| } | |
| #endif | |
| if (!np2oscfg.I286SAVE) { | |
| hmenu = GetMenuHandle(IDM_OTHER); | |
| if (hmenu) { | |
| DeleteMenuItem(hmenu, 9); | |
| } | |
| } | |
| InsertMenu(GetMenu(IDM_SASI1), -1); | InsertMenu(GetMenu(IDM_SASI1), -1); |
| InsertMenu(GetMenu(IDM_SASI2), -1); | InsertMenu(GetMenu(IDM_SASI2), -1); |
| #if defined(SUPPORT_SCSI) | |
| InsertMenu(GetMenu(IDM_SCSI0), -1); | |
| InsertMenu(GetMenu(IDM_SCSI1), -1); | |
| InsertMenu(GetMenu(IDM_SCSI2), -1); | |
| InsertMenu(GetMenu(IDM_SCSI3), -1); | |
| #endif | |
| InsertMenu(GetMenu(IDM_KEYBOARD), -1); | InsertMenu(GetMenu(IDM_KEYBOARD), -1); |
| InsertMenu(GetMenu(IDM_SOUND), -1); | InsertMenu(GetMenu(IDM_SOUND), -1); |
| InsertMenu(GetMenu(IDM_MEMORY), -1); | InsertMenu(GetMenu(IDM_MEMORY), -1); |
| Line 119 static void MenuBarInit(void) { | Line 141 static void MenuBarInit(void) { |
| #if TARGET_API_MAC_CARBON | #if TARGET_API_MAC_CARBON |
| hmenu = GetMenuHandle(IDM_FDD2); | hmenu = GetMenuHandle(IDM_FDD2); |
| SetItemCmd(hmenu, LoWord(IDM_FDD2OPEN), 'D'); | SetItemCmd(hmenu, LoWord(IDM_FDD2OPEN), 'D'); |
| SetMenuItemModifiers(hmenu, LoWord(IDM_FDD2OPEN), kMenuOptionModifier); | SetMenuItemModifiers(hmenu, LoWord(IDM_FDD2OPEN), kMenuShiftModifier); |
| SetItemCmd(hmenu, LoWord(IDM_FDD2EJECT), 'E'); | SetItemCmd(hmenu, LoWord(IDM_FDD2EJECT), 'E'); |
| SetMenuItemModifiers(hmenu, LoWord(IDM_FDD2EJECT), kMenuOptionModifier); | SetMenuItemModifiers(hmenu, LoWord(IDM_FDD2EJECT), kMenuShiftModifier); |
| hmenu = GetMenuHandle(IDM_SASI2); | hmenu = GetMenuHandle(IDM_SASI2); |
| SetItemCmd(hmenu, LoWord(IDM_FDD2OPEN), 'O'); | SetItemCmd(hmenu, LoWord(IDM_SASI2OPEN), 'O'); |
| SetMenuItemModifiers(hmenu, LoWord(IDM_SASI2OPEN), kMenuOptionModifier); | SetMenuItemModifiers(hmenu, LoWord(IDM_SASI2OPEN), kMenuShiftModifier); |
| #else | #else |
| EnableItem(GetMenuHandle(IDM_DEVICE), LoWord(IDM_MOUSE)); | EnableItem(GetMenuHandle(IDM_DEVICE), LoWord(IDM_MOUSE)); |
| EnableItem(GetMenuHandle(IDM_KEYBOARD), LoWord(IDM_F12MOUSE)); | EnableItem(GetMenuHandle(IDM_KEYBOARD), LoWord(IDM_F12MOUSE)); |
| Line 186 static void HandleMenuChoice(long wParam | Line 208 static void HandleMenuChoice(long wParam |
| break; | break; |
| case IDM_SASI1OPEN: | case IDM_SASI1OPEN: |
| dialog_changehdd(0); | dialog_changehdd(0x00); |
| break; | break; |
| case IDM_SASI1REMOVE: | case IDM_SASI1REMOVE: |
| diskdrv_sethdd(0, NULL); | diskdrv_sethdd(0x00, NULL); |
| break; | break; |
| case IDM_SASI2OPEN: | case IDM_SASI2OPEN: |
| dialog_changehdd(1); | dialog_changehdd(0x01); |
| break; | break; |
| case IDM_SASI2REMOVE: | case IDM_SASI2REMOVE: |
| diskdrv_sethdd(1, NULL); | diskdrv_sethdd(0x01, NULL); |
| break; | |
| case IDM_SCSI0OPEN: | |
| dialog_changehdd(0x20); | |
| break; | |
| case IDM_SCSI0REMOVE: | |
| diskdrv_sethdd(0x20, NULL); | |
| break; | |
| case IDM_SCSI1OPEN: | |
| dialog_changehdd(0x21); | |
| break; | |
| case IDM_SCSI1REMOVE: | |
| diskdrv_sethdd(0x21, NULL); | |
| break; | |
| case IDM_SCSI2OPEN: | |
| dialog_changehdd(0x22); | |
| break; | |
| case IDM_SCSI2REMOVE: | |
| diskdrv_sethdd(0x22, NULL); | |
| break; | |
| case IDM_SCSI3OPEN: | |
| dialog_changehdd(0x23); | |
| break; | |
| case IDM_SCSI3REMOVE: | |
| diskdrv_sethdd(0x23, NULL); | |
| break; | break; |
| case IDM_ROLNORMAL: | case IDM_ROLNORMAL: |
| Line 334 static void HandleMenuChoice(long wParam | Line 388 static void HandleMenuChoice(long wParam |
| update |= SYS_UPDATEOSCFG; | update |= SYS_UPDATEOSCFG; |
| break; | break; |
| case IDM_F11USER: | |
| menu_setf11key(4); | |
| mackbd_resetf11(); | |
| update |= SYS_UPDATEOSCFG; | |
| break; | |
| case IDM_F12MOUSE: | case IDM_F12MOUSE: |
| menu_setf12key(0); | menu_setf12key(0); |
| mackbd_resetf12(); | mackbd_resetf12(); |
| Line 352 static void HandleMenuChoice(long wParam | Line 412 static void HandleMenuChoice(long wParam |
| update |= SYS_UPDATEOSCFG; | update |= SYS_UPDATEOSCFG; |
| break; | break; |
| case IDM_F12USER: | |
| menu_setf12key(4); | |
| mackbd_resetf12(); | |
| update |= SYS_UPDATEOSCFG; | |
| break; | |
| case IDM_BEEPOFF: | case IDM_BEEPOFF: |
| menu_setbeepvol(0); | menu_setbeepvol(0); |
| beep_setvol(0); | beep_setvol(0); |
| Line 426 static void HandleMenuChoice(long wParam | Line 492 static void HandleMenuChoice(long wParam |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; |
| break; | break; |
| case IDM_JASTSND: | |
| menu_setjastsnd(np2oscfg.jastsnd ^ 1); | |
| update |= SYS_UPDATEOSCFG; | |
| break; | |
| case IDM_SEEKSND: | case IDM_SEEKSND: |
| menu_setmotorflg(np2cfg.MOTOR ^ 1); | menu_setmotorflg(np2cfg.MOTOR ^ 1); |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; |
| Line 455 static void HandleMenuChoice(long wParam | Line 526 static void HandleMenuChoice(long wParam |
| dialog_writebmp(); | dialog_writebmp(); |
| break; | break; |
| case IDM_CALENDAR: | |
| CalendarDialogProc(); | |
| break; | |
| case IDM_DISPCLOCK: | case IDM_DISPCLOCK: |
| menu_setdispclk(np2oscfg.DISPCLK ^ 1); | menu_setdispclk(np2oscfg.DISPCLK ^ 1); |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; |
| Line 572 static void eventproc(EventRecord *event | Line 647 static void eventproc(EventRecord *event |
| break; | break; |
| } | } |
| #if !TARGET_API_MAC_CARBON | #if !TARGET_API_MAC_CARBON |
| if ((keycode == 0x6f) && (np2oscfg.F12COPY == 0)) { | if ((keycode == 0x6f) && (np2oscfg.F12KEY == 0)) { |
| HandleMenuChoice(IDM_MOUSE); | HandleMenuChoice(IDM_MOUSE); |
| break; | break; |
| } | } |
| #endif | #endif |
| if (event->modifiers & cmdKey) { | if (event->modifiers & cmdKey) { |
| #if !TARGET_API_MAC_CARBON | |
| if (mackbd_keydown(keycode, TRUE)) { | |
| break; | |
| } | |
| #endif | |
| soundmng_stop(); | soundmng_stop(); |
| mousemng_disable(MOUSEPROC_MACUI); | mousemng_disable(MOUSEPROC_MACUI); |
| #if TARGET_API_MAC_CARBON | |
| HandleMenuChoice(MenuEvent(event)); | |
| #else | |
| HandleMenuChoice(MenuKey(event->message & charCodeMask)); | HandleMenuChoice(MenuKey(event->message & charCodeMask)); |
| #endif | |
| mousemng_enable(MOUSEPROC_MACUI); | mousemng_enable(MOUSEPROC_MACUI); |
| soundmng_play(); | soundmng_play(); |
| } | } |
| Line 713 int main(int argc, char *argv[]) { | Line 797 int main(int argc, char *argv[]) { |
| menu_setf12key(np2oscfg.F12KEY); | menu_setf12key(np2oscfg.F12KEY); |
| menu_setbeepvol(np2cfg.BEEP_VOL); | menu_setbeepvol(np2cfg.BEEP_VOL); |
| menu_setsound(np2cfg.SOUND_SW); | menu_setsound(np2cfg.SOUND_SW); |
| menu_setjastsnd(np2oscfg.jastsnd); | |
| menu_setmotorflg(np2cfg.MOTOR); | menu_setmotorflg(np2cfg.MOTOR); |
| menu_setextmem(np2cfg.EXTMEM); | menu_setextmem(np2cfg.EXTMEM); |
| menu_setdispclk(np2oscfg.DISPCLK); | menu_setdispclk(np2oscfg.DISPCLK); |