From: <for...@pr...> - 2004-01-28 17:46:51
|
Update of /cvsroot/vba/VisualBoyAdvance/src/win32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14688 Modified Files: MainWnd.cpp MainWndFile.cpp MainWndTools.cpp VBA.cpp VBA.h Log Message: Use structure for emulation functions Index: MainWnd.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MainWnd.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** MainWnd.cpp 28 Jan 2004 13:51:43 -0000 1.7 --- MainWnd.cpp 28 Jan 2004 17:45:37 -0000 1.8 *************** *** 437,441 **** writeBatteryFile(); cheatSearchCleanup(&cheatSearchData); ! theApp.emuCleanUp(); remoteCleanUp(); emulating = false; --- 437,441 ---- writeBatteryFile(); cheatSearchCleanup(&cheatSearchData); ! theApp.emulator.emuCleanUp(); remoteCleanUp(); emulating = false; *************** *** 475,494 **** if(!gbLoadRom(theApp.szFile)) return false; ! theApp.emuWriteState = gbWriteSaveState; ! theApp.emuWriteMemState = gbWriteMemSaveState; ! theApp.emuReadState = gbReadSaveState; ! theApp.emuReadMemState = gbReadMemSaveState; ! theApp.emuWriteBattery = gbWriteBatteryFile; ! theApp.emuReadBattery = gbReadBatteryFile; ! theApp.emuReset = gbReset; ! theApp.emuCleanUp = gbCleanUp; ! theApp.emuWritePNG = gbWritePNGFile; ! theApp.emuWriteBMP = gbWriteBMPFile; ! theApp.emuMain = gbEmulate; ! #ifdef FINAL_VERSION ! theApp.emuCount = 70000/4; ! #else ! theApp.emuCount = 1000; ! #endif gbBorderOn = theApp.winGbBorderOn; theApp.romSize = gbRomSize; --- 475,479 ---- if(!gbLoadRom(theApp.szFile)) return false; ! theApp.emulator = GBSystem; gbBorderOn = theApp.winGbBorderOn; theApp.romSize = gbRomSize; *************** *** 549,569 **** if(i != (UINT)-1 && (i <= 5)) cpuSaveType = (int)i; ! ! theApp.emuWriteState = CPUWriteState; ! theApp.emuWriteMemState = CPUWriteMemState; ! theApp.emuReadState = CPUReadState; ! theApp.emuReadMemState = CPUReadMemState; ! theApp.emuWriteBattery = CPUWriteBatteryFile; ! theApp.emuReadBattery = CPUReadBatteryFile; ! theApp.emuReset = CPUReset; ! theApp.emuCleanUp = CPUCleanUp; ! theApp.emuWritePNG = CPUWritePNGFile; ! theApp.emuWriteBMP = CPUWriteBMPFile; ! theApp.emuMain = CPULoop; ! #ifdef FINAL_VERSION ! theApp.emuCount = 250000; ! #else ! theApp.emuCount = 5000; ! #endif if(theApp.removeIntros && rom != NULL) { *((u32 *)rom)= 0xea00002e; --- 534,539 ---- if(i != (UINT)-1 && (i <= 5)) cpuSaveType = (int)i; ! ! theApp.emulator = GBASystem; if(theApp.removeIntros && rom != NULL) { *((u32 *)rom)= 0xea00002e; *************** *** 865,870 **** filename.Format("%s\\%s.sav", saveDir, buffer); ! if(theApp.emuWriteBattery) ! theApp.emuWriteBattery(filename); } --- 835,840 ---- filename.Format("%s\\%s.sav", saveDir, buffer); ! if(theApp.emulator.emuWriteBattery) ! theApp.emulator.emuWriteBattery(filename); } *************** *** 894,899 **** bool res = false; ! if(theApp.emuReadBattery) ! res = theApp.emuReadBattery(filename); if(res) --- 864,869 ---- bool res = false; ! if(theApp.emulator.emuReadBattery) ! res = theApp.emulator.emuReadBattery(filename); if(res) *************** *** 911,916 **** bool MainWnd::loadSaveGame(const char *name) { ! if(theApp.emuReadState) ! return theApp.emuReadState(name); return false; } --- 881,886 ---- bool MainWnd::loadSaveGame(const char *name) { ! if(theApp.emulator.emuReadState) ! return theApp.emulator.emuReadState(name); return false; } *************** *** 918,923 **** bool MainWnd::writeSaveGame(const char *name) { ! if(theApp.emuWriteState) ! return theApp.emuWriteState(name); return false; } --- 888,893 ---- bool MainWnd::writeSaveGame(const char *name) { ! if(theApp.emulator.emuWriteState) ! return theApp.emulator.emuWriteState(name); return false; } *************** *** 1072,1078 **** if(theApp.captureFormat == 0) ! theApp.emuWritePNG(buffer); else ! theApp.emuWriteBMP(buffer); CString msg = winResLoadString(IDS_SCREEN_CAPTURE); --- 1042,1048 ---- if(theApp.captureFormat == 0) ! theApp.emulator.emuWritePNG(buffer); else ! theApp.emulator.emuWriteBMP(buffer); CString msg = winResLoadString(IDS_SCREEN_CAPTURE); Index: MainWndFile.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MainWndFile.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MainWndFile.cpp 20 Nov 2003 02:46:45 -0000 1.2 --- MainWndFile.cpp 28 Jan 2004 17:45:37 -0000 1.3 *************** *** 70,74 **** { if(emulating) { ! theApp.emuReset(); systemScreenMessage(winResLoadString(IDS_RESET)); } --- 70,74 ---- { if(emulating) { ! theApp.emulator.emuReset(); systemScreenMessage(winResLoadString(IDS_RESET)); } *************** *** 147,151 **** winSaveCheatListDefault(); writeBatteryFile(); ! theApp.emuCleanUp(); remoteCleanUp(); } --- 147,151 ---- winSaveCheatListDefault(); writeBatteryFile(); ! theApp.emulator.emuCleanUp(); remoteCleanUp(); } *************** *** 369,378 **** bool res = false; ! res = theApp.emuReadBattery(dlg.GetPathName()); if(!res) systemMessage(MSG_CANNOT_OPEN_FILE, "Cannot open file %s", dlg.GetPathName()); else { ! theApp.emuReset(); } } --- 369,378 ---- bool res = false; ! res = theApp.emulator.emuReadBattery(dlg.GetPathName()); if(!res) systemMessage(MSG_CANNOT_OPEN_FILE, "Cannot open file %s", dlg.GetPathName()); else { ! theApp.emulator.emuReset(); } } *************** *** 484,488 **** result = gbWriteBatteryFile(dlg.GetPathName(), false); } else ! result = theApp.emuWriteBattery(dlg.GetPathName()); if(!result) --- 484,488 ---- result = gbWriteBatteryFile(dlg.GetPathName(), false); } else ! result = theApp.emulator.emuWriteBattery(dlg.GetPathName()); if(!result) *************** *** 590,596 **** if(dlg.getFilterIndex() == 2) ! theApp.emuWriteBMP(dlg.GetPathName()); else ! theApp.emuWritePNG(dlg.GetPathName()); systemScreenMessage(winResLoadString(IDS_SCREEN_CAPTURE)); --- 590,596 ---- if(dlg.getFilterIndex() == 2) ! theApp.emulator.emuWriteBMP(dlg.GetPathName()); else ! theApp.emulator.emuWritePNG(dlg.GetPathName()); systemScreenMessage(winResLoadString(IDS_SCREEN_CAPTURE)); Index: MainWndTools.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MainWndTools.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MainWndTools.cpp 4 Nov 2003 14:09:52 -0000 1.1 --- MainWndTools.cpp 28 Jan 2004 17:45:37 -0000 1.2 *************** *** 218,233 **** ioMem = (u8 *)calloc(1, 0x400); ! theApp.emuWriteState = CPUWriteState; ! theApp.emuReadState = CPUReadState; ! theApp.emuWriteBattery = CPUWriteBatteryFile; ! theApp.emuReadBattery = CPUReadBatteryFile; ! theApp.emuReset = CPUReset; ! theApp.emuCleanUp = CPUCleanUp; ! theApp.emuWritePNG = CPUWritePNGFile; ! theApp.emuWriteBMP = CPUWriteBMPFile; ! theApp.emuMain = CPULoop; ! // emuUpdateCPSR = CPUUpdateCPSR; ! // emuHasDebugger = true; ! theApp.emuCount = 50000; CPUInit(theApp.biosFileName, theApp.useBiosFile ? true : false); --- 218,222 ---- ioMem = (u8 *)calloc(1, 0x400); ! theApp.emulator = GBASystem; CPUInit(theApp.biosFileName, theApp.useBiosFile ? true : false); *************** *** 584,590 **** void MainWnd::OnToolsRewind() { ! if(emulating && theApp.emuReadMemState && theApp.rewindMemory && theApp.rewindCount) { theApp.rewindPos = --theApp.rewindPos & 7; ! theApp.emuReadMemState(&theApp.rewindMemory[REWIND_SIZE*theApp.rewindPos], REWIND_SIZE); theApp.rewindCount--; theApp.rewindCounter = 0; --- 573,579 ---- void MainWnd::OnToolsRewind() { ! if(emulating && theApp.emulator.emuReadMemState && theApp.rewindMemory && theApp.rewindCount) { theApp.rewindPos = --theApp.rewindPos & 7; ! theApp.emulator.emuReadMemState(&theApp.rewindMemory[REWIND_SIZE*theApp.rewindPos], REWIND_SIZE); theApp.rewindCount--; theApp.rewindCounter = 0; Index: VBA.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/VBA.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** VBA.cpp 28 Jan 2004 13:51:43 -0000 1.6 --- VBA.cpp 28 Jan 2004 17:45:37 -0000 1.7 *************** *** 268,284 **** updateCount = 0; ! ! emuWriteMemState = NULL; ! emuWriteState = NULL; ! emuReadMemState = NULL; ! emuReadState = NULL; ! emuWriteBattery = NULL; ! emuReadBattery = NULL; ! emuReset = NULL; ! emuCleanUp = NULL; ! emuWritePNG = NULL; ! emuWriteBMP = NULL; ! emuMain = NULL; ! emuCount = 0; hAccel = NULL; --- 268,273 ---- updateCount = 0; ! ! ZeroMemory(&emulator, sizeof(emulator)); hAccel = NULL; *************** *** 339,343 **** ((MainWnd *)m_pMainWnd)->writeBatteryFile(); cheatSearchCleanup(&cheatSearchData); ! emuCleanUp(); } --- 328,332 ---- ((MainWnd *)m_pMainWnd)->writeBatteryFile(); cheatSearchCleanup(&cheatSearchData); ! emulator.emuCleanUp(); } *************** *** 1091,1101 **** } else if(emulating && active && !paused) { for(int i = 0; i < 2; i++) { ! emuMain(emuCount); ! if(rewindSaveNeeded && rewindMemory && emuWriteMemState) { rewindCount++; if(rewindCount > 8) rewindCount = 8; ! if(emuWriteMemState(&rewindMemory[rewindPos*REWIND_SIZE], REWIND_SIZE)) { rewindPos = ++rewindPos & 7; if(rewindCount == 8) --- 1080,1091 ---- } else if(emulating && active && !paused) { for(int i = 0; i < 2; i++) { ! emulator.emuMain(emulator.emuCount); ! if(rewindSaveNeeded && rewindMemory && emulator.emuWriteMemState) { rewindCount++; if(rewindCount > 8) rewindCount = 8; ! if(emulator.emuWriteMemState(&rewindMemory[rewindPos*REWIND_SIZE], ! REWIND_SIZE)) { rewindPos = ++rewindPos & 7; if(rewindCount == 8) Index: VBA.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/VBA.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** VBA.h 28 Jan 2004 13:51:43 -0000 1.3 --- VBA.h 28 Jan 2004 17:45:37 -0000 1.4 *************** *** 191,206 **** RECT dest; ! bool (*emuWriteMemState)(char *, int); ! bool (*emuWriteState)(const char *); ! bool (*emuReadMemState)(char *, int); ! bool (*emuReadState)(const char *); ! bool (*emuWriteBattery)(const char *); ! bool (*emuReadBattery)(const char *); ! void (*emuReset)(); ! void (*emuCleanUp)(); ! bool (*emuWritePNG)(const char *); ! bool (*emuWriteBMP)(const char *); ! void (*emuMain)(int); ! int emuCount; CString szFile; --- 191,195 ---- RECT dest; ! struct EmulatedSystem emulator; CString szFile; |