+++ /dev/null
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "stdafx.h"\r
-\r
-HWND FrameWnd=NULL;\r
-struct GXDisplayProperties GXDisp;\r
-struct GXKeyList GXKey;\r
-\r
-// Window procedure for frame window\r
-static LRESULT CALLBACK FrameProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)\r
-{\r
- switch (Msg)\r
- {\r
- case WM_COMMAND:\r
- switch (LOWORD(wParam))\r
- {\r
- case IDOK: case IDCANCEL: SendMessage(hWnd,WM_CLOSE,0,0); break;\r
-\r
- case ID_LOADROM: FileLoadRom(); break;\r
- case ID_OPTIONS_GRAB: DebugScreenGrab(); break;\r
- case ID_OPTIONS_SAVE: FileState(0); break;\r
- case ID_OPTIONS_LOAD: FileState(1); break;\r
- }\r
- return 0;\r
-\r
- case WM_KILLFOCUS: GXSuspend(); return 0;\r
- case WM_SETFOCUS: GXResume(); return 0;\r
-\r
- case WM_CLOSE: PostQuitMessage(0); return 0;\r
-\r
- case WM_DESTROY:\r
- GXCloseInput();\r
- GXCloseDisplay();\r
- FrameWnd=NULL; // Blank window handle\r
- return 0;\r
- }\r
-\r
- return DefWindowProc(hWnd,Msg,wParam,lParam);\r
-}\r
-\r
-static int GxInit()\r
-{\r
- GXOpenDisplay(FrameWnd,GX_FULLSCREEN);\r
- GXOpenInput();\r
- GXDisp=GXGetDisplayProperties();\r
- GXKey=GXGetDefaultKeys(GX_NORMALKEYS);\r
-\r
- // The real layout of the 3800:\r
- if (Main3800) { GXDisp.cbxPitch=-640; GXDisp.cbyPitch=2; }\r
-\r
- return 0;\r
-}\r
-\r
-int FrameInit()\r
-{\r
- WNDCLASS wc;\r
- SHMENUBARINFO mbi;\r
- TCHAR title[128]={0};\r
- RECT rect={0,0,0,0};\r
-\r
- memset(&wc,0,sizeof(wc));\r
- memset(&mbi,0,sizeof(mbi));\r
-\r
- // Register the Frame window class\r
- wc.lpfnWndProc=FrameProc;\r
- wc.hInstance=GetModuleHandle(NULL);\r
- wc.lpszClassName=APP_TITLE;\r
- wc.hbrBackground=(HBRUSH)CreateSolidBrush(0x404040);\r
- RegisterClass(&wc);\r
-\r
- FrameWnd=CreateWindowEx(WS_EX_CAPTIONOKBTN,APP_TITLE,APP_TITLE,WS_VISIBLE,\r
- CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,\r
- NULL,NULL,wc.hInstance,NULL);\r
- \r
- wsprintf(title,APP_TITLE L" v%x.%.3x",PicoVer>>12,PicoVer&0xfff);\r
- SetWindowText(FrameWnd,title);\r
-\r
- // Show SIP\r
- mbi.cbSize=sizeof(mbi);\r
- mbi.hwndParent=FrameWnd;\r
- mbi.nToolBarId=IDR_MENUBAR1;\r
- mbi.hInstRes=wc.hInstance;\r
- SHCreateMenuBar(&mbi);\r
-\r
- // Resize Frame to avoid the SIP\r
- GetWindowRect(FrameWnd,&rect);\r
- MoveWindow(FrameWnd, rect.left,rect.top, rect.right-rect.left,rect.bottom-rect.top-26, 1);\r
-\r
- GxInit();\r
-\r
- FileLoadRom();\r
- return 0;\r
-}\r