picodrive/platform/gizmondo/main.c
notaz f2cf84723f further unification and refactoring
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@710 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-07-23 20:06:18 +00:00

67 lines
1.2 KiB
C

// (c) Copyright 2007 notaz, All rights reserved.
// Free for non-commercial use.
// For commercial use, separate licencing terms must be obtained.
#include <windows.h>
#include "giz.h"
#include "menu.h"
#include "emu.h"
#include "../common/menu.h"
#include "../common/emu.h"
#include "../common/config.h"
#include "version.h"
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)
{
emu_prepareDefaultConfig();
emu_ReadConfig(0, 0);
config_readlrom(PicoConfigFile);
giz_init(hInstance, hPrevInstance);
emu_Init();
menu_init();
engineState = PGS_Menu;
for (;;)
{
switch (engineState)
{
case PGS_Menu:
menu_loop();
break;
case PGS_ReloadRom:
if (emu_ReloadRom(romFileName))
engineState = PGS_Running;
else {
lprintf("PGS_ReloadRom == 0\n");
engineState = PGS_Menu;
}
break;
case PGS_RestartRun:
engineState = PGS_Running;
case PGS_Running:
pemu_loop();
break;
case PGS_Quit:
goto endloop;
default:
lprintf("engine got into unknown state (%i), exitting\n", engineState);
goto endloop;
}
}
endloop:
emu_Deinit();
giz_deinit();
return 0;
}