*\r
*******************************************************************/\r
\r
-#include "app.h"\r
+#include "App.h"\r
// #include "picodriven.mbg" // bitmap identifiers\r
-#include <PicoDrive.RSG> // resource include\r
+#include "rsc/picodrive.rsg" // resource include\r
#include <eikenv.h>\r
#include <qbtselectdlg.h>\r
//#include <gulutil.h>\r
#include <eikedwin.h>\r
#include <s32strm.h>\r
\r
-#include <QikAppUi.h>\r
-#include <QikEditCategoryObserver.h>\r
-#include <QikSelectFileDlg.h>\r
-#include <QikCommand.h>\r
+#include <qikappui.h>\r
+#include <qikeditcategoryobserver.h>\r
+#include <qikselectfiledlg.h>\r
+#include <qikcommand.h>\r
\r
#include "Dialogs.h"\r
#include "engine/debug.h"\r
-\r
+#include "../common/emu.h"\r
+#include "emu.h"\r
\r
\r
////////////////////////////////////////////////////////////////\r
break;\r
\r
case EEikCmdPicoFrameskipAuto:\r
- iCurrentConfig.iFrameskip = TPicoConfig::PFSkipAuto;\r
- iQikAppUi.Document()->SaveL();\r
+ currentConfig.Frameskip = -1;\r
+ emu_WriteConfig(0);\r
break;\r
\r
case EEikCmdPicoFrameskip0:\r
- iCurrentConfig.iFrameskip = 0;\r
- iQikAppUi.Document()->SaveL();\r
+ currentConfig.Frameskip = 0;\r
+ emu_WriteConfig(0);\r
break;\r
\r
case EEikCmdPicoFrameskip1:\r
- iCurrentConfig.iFrameskip = 1;\r
- iQikAppUi.Document()->SaveL();\r
+ currentConfig.Frameskip = 1;\r
+ emu_WriteConfig(0);\r
break;\r
\r
case EEikCmdPicoFrameskip2:\r
- iCurrentConfig.iFrameskip = 2;\r
- iQikAppUi.Document()->SaveL();\r
+ currentConfig.Frameskip = 2;\r
+ emu_WriteConfig(0);\r
break;\r
\r
case EEikCmdPicoFrameskip4:\r
- iCurrentConfig.iFrameskip = 4;\r
- iQikAppUi.Document()->SaveL();\r
+ currentConfig.Frameskip = 4;\r
+ emu_WriteConfig(0);\r
break;\r
\r
case EEikCmdPicoFrameskip8:\r
- iCurrentConfig.iFrameskip = 8;\r
- iQikAppUi.Document()->SaveL();\r
+ currentConfig.Frameskip = 8;\r
+ emu_WriteConfig(0);\r
break;\r
\r
case EEikCmdExit:\r
- iQikAppUi.Document()->SaveL();\r
+ emu_Deinit();\r
CPicoGameSession::freeResources();\r
//break; // this is intentional\r
\r
CleanupStack::PushL(fileArray);\r
_LIT16(KDlgTitle, "Select a ROM file");\r
\r
+ TPtrC8 text8((TUint8*) loadedRomFName);\r
+ iCurrentConfig.iLastROMFile.Copy(text8);\r
+\r
if( CQikSelectFileDlg::RunDlgLD( *mimeArray, *fileArray, &KDlgTitle, &iCurrentConfig.iLastROMFile) )\r
{\r
CEikonEnv::Static()->BusyMsgL(_L("Loading ROM"));\r
TPtrC16 file = (*fileArray)[0];\r
- iCurrentConfig.iLastROMFile.Copy(file);\r
+ //iCurrentConfig.iLastROMFile.Copy(file);\r
\r
// push the config first\r
CPicoGameSession::Do(PicoMsgSetAppView, this);\r
CEikonEnv::Static()->InfoWinL(_L("Error"), _L("Failed to start soundsystem, disabled sound."));\r
break;\r
}\r
- if(res == 6 || res == 7) iCurrentConfig.iFlags &= ~4;\r
+ if(res == 6 || res == 7) currentConfig.EmuOpt &= ~EOPT_EN_SOUND;\r
\r
if(iROMLoaded) {\r
if(iTitleAdded)\r
\r
void CPicolAppView::DisplayConfigDialogL()\r
{\r
- CPicoConfigDialog* configDialog = new(ELeave)CPicoConfigDialog(iCurrentConfig);\r
+ CPicoConfigDialog* configDialog = new(ELeave)CPicoConfigDialog(currentConfig);\r
+ emu_packConfig();\r
configDialog->ExecuteLD(R_PICO_CONFIG);\r
+ emu_unpackConfig();\r
+ emu_WriteConfig(0);\r
\r
- CPicoGameSession::Do(PicoMsgConfigChange, &iCurrentConfig);\r
- iQikAppUi.Document()->SaveL();\r
+ CPicoGameSession::Do(PicoMsgConfigChange, ¤tConfig);\r
}\r
\r
\r
}\r
\r
#ifdef __DEBUG_PRINT\r
-extern "C" char *debugString();\r
+extern "C" char *PDebugMain();\r
#endif\r
\r
void CPicolAppView::DisplayDebugDialogL()\r
{\r
#ifdef __DEBUG_PRINT\r
- CDebugDialog* dialog = new (ELeave) CDebugDialog(debugString());\r
+ CDebugDialog* dialog = new (ELeave) CDebugDialog(PDebugMain());\r
\r
dialog->PrepareLC(R_PICO_DEBUG);\r
dialog->RunLD();\r
cmd_resume->SetDimmed(dimmed);\r
\r
// frameskip\r
- TInt fs_index = iCurrentConfig.iFrameskip + 1;\r
+ TInt fs_index = currentConfig.Frameskip + 1;\r
if (fs_index >= 0 && fs_index < 10 && cmd_fs[fs_index])\r
{\r
cmd_fs[fs_index]->SetChecked(ETrue);\r
CPicolDocument::CPicolDocument(CQikApplication& aApp)\r
: CQikDocument(aApp)\r
{\r
- iCurrentConfig.SetDefaults();\r
}\r
\r
CQikAppUi* CPicolDocument::CreateAppUiL()\r
*/\r
void CPicolDocument::StoreL(CStreamStore& aStore, CStreamDictionary& aStreamDic) const\r
{\r
+#if 0\r
RStoreWriteStream stream;\r
\r
TStreamId preferenceId = stream.CreateLC(aStore);\r
// Ensures that any buffered data is written to aStore\r
stream.CommitL();\r
CleanupStack::PopAndDestroy(); // stream\r
-\r
+#endif\r
/*\r
// tmp\r
TInt res;\r
*/\r
void CPicolDocument::RestoreL(const CStreamStore& aStore, const CStreamDictionary& aStreamDic)\r
{ \r
+#if 0\r
// Find the stream ID of the model data from the stream dictionary:\r
TStreamId preferenceId(aStreamDic.At(KUidPicolStore));\r
RStoreReadStream stream;\r
}\r
\r
CleanupStack::PopAndDestroy(); // stream\r
-\r
+#endif\r
\r
// tmp\r
/* TInt res;\r
}\r
\r
\r
+extern "C" TInt my_SetExceptionHandler(TInt, TExceptionHandler, TUint32);\r
+\r
GLDEF_C TInt E32Main()\r
{\r
+ // doesn't work :(\r
User::SetExceptionHandler(ExceptionHandler, (TUint32) -1);\r
+// my_SetExceptionHandler(KCurrentThreadHandle, ExceptionHandler, 0xffffffff);\r
+\r
+ emu_Init();\r
\r
return EikStart::RunApplication(NewApplication);\r
}\r