giz menu works
[picodrive.git] / platform / gizmondo / main.c
CommitLineData
e5f426aa 1// (c) Copyright 2006 notaz, All rights reserved.\r
2// Free for non-commercial use.\r
3\r
4// For commercial use, separate licencing terms must be obtained.\r
5\r
6#include <windows.h>\r
7\r
8#include "giz.h"\r
9#include "menu.h"\r
10#include "../common/menu.h"\r
11#include "emu.h"\r
12#include "version.h"\r
13\r
14\r
15int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)\r
16{\r
17 emu_ReadConfig(0, 0);\r
18 giz_init(hInstance, hPrevInstance);\r
19 emu_Init();\r
20 menu_init();\r
21\r
22 engineState = PGS_Menu;\r
23\r
24 for (;;)\r
25 {\r
26 switch (engineState)\r
27 {\r
28 case PGS_Menu:\r
29 menu_loop();\r
30 break;\r
31\r
32 case PGS_ReloadRom:\r
33 if (emu_ReloadRom())\r
34 engineState = PGS_Running;\r
35 else {\r
36 lprintf("PGS_ReloadRom == 0\n");\r
37 engineState = PGS_Menu;\r
38 }\r
39 break;\r
40\r
41 case PGS_RestartRun:\r
42 engineState = PGS_Running;\r
43\r
44 case PGS_Running:\r
45 emu_Loop();\r
46 break;\r
47\r
48 case PGS_Quit:\r
49 goto endloop;\r
50\r
51 default:\r
52 lprintf("engine got into unknown state (%i), exitting\n", engineState);\r
53 goto endloop;\r
54 }\r
55 }\r
56\r
57 endloop:\r
58\r
59 emu_Deinit();\r
60 giz_deinit();\r
61\r
62 return 0;\r
63}\r