giz port wip
[picodrive.git] / platform / gizmondo / main.c
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 "emu.h"\r
11 #include "../common/menu.h"\r
12 #include "../common/emu.h"\r
13 #include "version.h"\r
14 \r
15 \r
16 int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)\r
17 {\r
18         emu_ReadConfig(0, 0);\r
19         giz_init(hInstance, hPrevInstance);\r
20         emu_Init();\r
21         menu_init();\r
22 \r
23         engineState = PGS_Menu;\r
24 \r
25         for (;;)\r
26         {\r
27                 switch (engineState)\r
28                 {\r
29                         case PGS_Menu:\r
30                                 menu_loop();\r
31                                 break;\r
32 \r
33                         case PGS_ReloadRom:\r
34                                 if (emu_ReloadRom())\r
35                                         engineState = PGS_Running;\r
36                                 else {\r
37                                         lprintf("PGS_ReloadRom == 0\n");\r
38                                         engineState = PGS_Menu;\r
39                                 }\r
40                                 break;\r
41 \r
42                         case PGS_RestartRun:\r
43                                 engineState = PGS_Running;\r
44 \r
45                         case PGS_Running:\r
46                                 emu_Loop();\r
47                                 break;\r
48 \r
49                         case PGS_Quit:\r
50                                 goto endloop;\r
51 \r
52                         default:\r
53                                 lprintf("engine got into unknown state (%i), exitting\n", engineState);\r
54                                 goto endloop;\r
55                 }\r
56         }\r
57 \r
58         endloop:\r
59 \r
60         emu_Deinit();\r
61         giz_deinit();\r
62 \r
63         return 0;\r
64 }\r