|
|
| version 1.12, 2003/11/09 23:42:06 | version 1.26, 2004/01/25 05:41:29 |
|---|---|
| Line 28 | Line 28 |
| #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 = {0, 2, 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 109 static void MenuBarInit(void) { |
| if (hmenu) { | if (hmenu) { |
| AppendResMenu(hmenu, 'DRVR'); | AppendResMenu(hmenu, 'DRVR'); |
| } | } |
| #if 0 // defined(SUPPORT_SCSI) | |
| hmenu = GetMenuHandle(IDM_HARDDISK); | |
| if (hmenu) { | |
| AppendMenu(hmenu, "\pSCSI #0"); | |
| AppendMenu(hmenu, "\pSCSI #1"); | |
| AppendMenu(hmenu, "\pSCSI #2"); | |
| AppendMenu(hmenu, "\pSCSI #3"); | |
| } | |
| #endif | |
| InsertMenu(GetMenu(IDM_SASI1), -1); | InsertMenu(GetMenu(IDM_SASI1), -1); |
| InsertMenu(GetMenu(IDM_SASI2), -1); | InsertMenu(GetMenu(IDM_SASI2), -1); |
| InsertMenu(GetMenu(IDM_KEYBOARD), -1); | InsertMenu(GetMenu(IDM_KEYBOARD), -1); |
| Line 119 static void MenuBarInit(void) { | Line 127 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 262 static void HandleMenuChoice(long wParam | Line 270 static void HandleMenuChoice(long wParam |
| dialog_scropt(); | dialog_scropt(); |
| break; | break; |
| case IDM_MOUSE: | case IDM_MOUSE: |
| mousemng_toggle(MOUSEPROC_SYSTEM); | mousemng_toggle(MOUSEPROC_SYSTEM); |
| menu_setmouse(np2oscfg.MOUSE_SW ^ 1); | menu_setmouse(np2oscfg.MOUSE_SW ^ 1); |
| sysmng_update(SYS_UPDATECFG); | update |= SYS_UPDATECFG; |
| break; | break; |
| case IDM_MIDIPANIC: | case IDM_MIDIPANIC: |
| Line 277 static void HandleMenuChoice(long wParam | Line 285 static void HandleMenuChoice(long wParam |
| case IDM_KEY: | case IDM_KEY: |
| menu_setkey(0); | menu_setkey(0); |
| keystat_resetjoykey(); | keystat_resetjoykey(); |
| update |= SYS_UPDATECFG; | |
| break; | break; |
| case IDM_JOY1: | case IDM_JOY1: |
| menu_setkey(1); | menu_setkey(1); |
| keystat_resetjoykey(); | keystat_resetjoykey(); |
| update |= SYS_UPDATECFG; | |
| break; | break; |
| case IDM_JOY2: | case IDM_JOY2: |
| menu_setkey(2); | menu_setkey(2); |
| keystat_resetjoykey(); | keystat_resetjoykey(); |
| update |= SYS_UPDATECFG; | |
| break; | break; |
| case IDM_MOUSEKEY: | case IDM_MOUSEKEY: |
| menu_setkey(3); | menu_setkey(3); |
| keystat_resetjoykey(); | keystat_resetjoykey(); |
| update |= SYS_UPDATECFG; | |
| break; | break; |
| case IDM_XSHIFT: | case IDM_XSHIFT: |
| menu_setxshift(np2cfg.XSHIFT ^ 1); | menu_setxshift(np2cfg.XSHIFT ^ 1); |
| keystat_forcerelease(0x70); | keystat_forcerelease(0x70); |
| update |= SYS_UPDATECFG; | |
| break; | break; |
| case IDM_XCTRL: | case IDM_XCTRL: |
| menu_setxshift(np2cfg.XSHIFT ^ 2); | menu_setxshift(np2cfg.XSHIFT ^ 2); |
| keystat_forcerelease(0x74); | keystat_forcerelease(0x74); |
| update |= SYS_UPDATECFG; | |
| break; | break; |
| case IDM_XGRPH: | case IDM_XGRPH: |
| menu_setxshift(np2cfg.XSHIFT ^ 4); | menu_setxshift(np2cfg.XSHIFT ^ 4); |
| keystat_forcerelease(0x73); | keystat_forcerelease(0x73); |
| update |= SYS_UPDATECFG; | |
| break; | |
| case IDM_F11KANA: | |
| menu_setf11key(0); | |
| mackbd_resetf11(); | |
| update |= SYS_UPDATEOSCFG; | |
| break; | |
| case IDM_F11STOP: | |
| menu_setf11key(1); | |
| mackbd_resetf11(); | |
| update |= SYS_UPDATEOSCFG; | |
| break; | |
| case IDM_F11NFER: | |
| menu_setf11key(3); | |
| mackbd_resetf11(); | |
| update |= SYS_UPDATEOSCFG; | |
| break; | break; |
| case IDM_F12MOUSE: | case IDM_F12MOUSE: |
| menu_setf12copy(0); | menu_setf12key(0); |
| keystat_resetcopyhelp(); | mackbd_resetf12(); |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATEOSCFG; |
| break; | break; |
| case IDM_F12COPY: | case IDM_F12COPY: |
| menu_setf12copy(1); | menu_setf12key(1); |
| keystat_resetcopyhelp(); | mackbd_resetf12(); |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATEOSCFG; |
| break; | break; |
| case IDM_F12STOP: | case IDM_F12XFER: |
| menu_setf12copy(2); | menu_setf12key(3); |
| keystat_resetcopyhelp(); | mackbd_resetf12(); |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATEOSCFG; |
| break; | break; |
| case IDM_BEEPOFF: | case IDM_BEEPOFF: |
| Line 396 static void HandleMenuChoice(long wParam | Line 429 static void HandleMenuChoice(long wParam |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; |
| break; | break; |
| case IDM_AMD98: | |
| menu_setsound(0x80); | |
| update |= SYS_UPDATECFG; | |
| 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 542 static void eventproc(EventRecord *event | Line 585 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(); |
| } | } |
| else { | else { |
| mackbd_keydown(keycode); | mackbd_keydown(keycode, FALSE); |
| } | } |
| break; | break; |
| Line 567 static void eventproc(EventRecord *event | Line 619 static void eventproc(EventRecord *event |
| mousemng_buttonevent(MOUSEMNG_LEFTUP); | mousemng_buttonevent(MOUSEMNG_LEFTUP); |
| mousemng_buttonevent(MOUSEMNG_RIGHTUP); | mousemng_buttonevent(MOUSEMNG_RIGHTUP); |
| break; | break; |
| case activateEvt: | |
| mackbd_activate((event->modifiers & activeFlag)?TRUE:FALSE); | |
| break; | |
| } | } |
| } | } |
| Line 642 int main(int argc, char *argv[]) { | Line 698 int main(int argc, char *argv[]) { |
| Rect wRect; | Rect wRect; |
| EventRecord event; | EventRecord event; |
| UINT t; | UINT t; |
| GrafPtr saveport; | |
| Point pt; | |
| dosio_init(); | dosio_init(); |
| file_setcd(target); | file_setcd(target); |
| Line 654 int main(int argc, char *argv[]) { | Line 712 int main(int argc, char *argv[]) { |
| TRACEINIT(); | TRACEINIT(); |
| SetRect(&wRect, 100, 100, 100, 100); | SetRect(&wRect, np2oscfg.posx, np2oscfg.posy, 100, 100); |
| hWndMain = NewWindow(0, &wRect, "\pNeko Project II", FALSE, | hWndMain = NewWindow(0, &wRect, "\pNeko Project II", FALSE, |
| noGrowDocProc, (WindowPtr)-1, TRUE, 0); | noGrowDocProc, (WindowPtr)-1, TRUE, 0); |
| if (!hWndMain) { | if (!hWndMain) { |
| Line 673 int main(int argc, char *argv[]) { | Line 731 int main(int argc, char *argv[]) { |
| menu_setframe(np2oscfg.DRAW_SKIP); | menu_setframe(np2oscfg.DRAW_SKIP); |
| menu_setkey(0); | menu_setkey(0); |
| menu_setxshift(0); | menu_setxshift(0); |
| menu_setf12copy(np2oscfg.F12COPY); | menu_setf11key(np2oscfg.F11KEY); |
| 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); |
| Line 786 int main(int argc, char *argv[]) { | Line 846 int main(int argc, char *argv[]) { |
| } | } |
| } | } |
| } | } |
| GetPort(&saveport); | |
| #if TARGET_API_MAC_CARBON | |
| SetPortWindowPort(hWndMain); | |
| #else | |
| SetPort(hWndMain); | |
| #endif | |
| pt.h = 0; | |
| pt.v = 0; | |
| LocalToGlobal(&pt); | |
| SetPort(saveport); | |
| if ((np2oscfg.posx != pt.h) || (np2oscfg.posy != pt.v)) { | |
| np2oscfg.posx = pt.h; | |
| np2oscfg.posy = pt.v; | |
| sysmng_update(SYS_UPDATEOSCFG); | |
| } | |
| np2running = FALSE; | np2running = FALSE; |
| pccore_cfgupdate(); | pccore_cfgupdate(); |