From: Theo B. <cyb...@us...> - 2006-10-15 20:45:20
|
Update of /cvsroot/desmume/desmume/src/windows In directory sc8-pr-cvs12.sourceforge.net:/tmp/cvs-serv29262 Modified Files: main.c oamView.c oamView.h Log Message: -Renamed the various *Init/*DeInit functions to *_Init/*_DeInit so it better matches the naming convention of the rest of the functions -Changed the way NDS_LoadROM works. It still needs -some- work(cflash is broken for now), but basically the idea is to cut down on duplicate code and instead have the emulator core do most of the work. -Added a GPU Reset function. Once the reset function for the other chips, etc. are working, we can finally do a proper reset function. -Linux port is probably broken again(sorry!) Index: oamView.h =================================================================== RCS file: /cvsroot/desmume/desmume/src/windows/oamView.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- oamView.h 5 Oct 2006 00:16:43 -0000 1.3 +++ oamView.h 15 Oct 2006 20:45:17 -0000 1.4 @@ -23,7 +23,7 @@ #define OAMVIEW_H #include "CWindow.h" -#include "../arm9/GPU.h" +#include "../GPU.h" typedef struct { Index: oamView.c =================================================================== RCS file: /cvsroot/desmume/desmume/src/windows/oamView.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- oamView.c 5 Oct 2006 00:16:43 -0000 1.1 +++ oamView.c 15 Oct 2006 20:45:16 -0000 1.2 @@ -23,7 +23,7 @@ #include <stdio.h> #include "resource.h" #include "oamView.h" -#include "../arm9/GPU.h" +#include "../GPU.h" #include "../MMU.h" Index: main.c =================================================================== RCS file: /cvsroot/desmume/desmume/src/windows/main.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- main.c 5 Oct 2006 00:16:42 -0000 1.1 +++ main.c 15 Oct 2006 20:45:16 -0000 1.2 @@ -38,7 +38,7 @@ #include "../debug.h" #include "mapview.h" #include "../saves.h" -#include "cflash.h" +#include "../cflash.h" #include "ConfigKeys.h" #ifdef RENDER3D @@ -101,7 +101,7 @@ QueryPerformanceFrequency((LARGE_INTEGER *)&freq); QueryPerformanceCounter((LARGE_INTEGER *)&count); nextcount = count + freq; - + while(!finished) { while(execute) @@ -139,59 +139,13 @@ } BOOL LoadROM(char * filename) -{ - HANDLE File; - u32 FileSize; - u32 nblu = 0; - u32 mask; - u8 *ROM; - - if(!strlen(filename)) return FALSE; - - if((*filename)=='\"') - { - ++filename; - filename[strlen(filename)-1] = '\0'; - } - - if(strncmp(filename + strlen(filename)-3, "nds", 3)) - { - MessageBox(hwnd,"Error, not a nds file","Error",MB_OK); - return FALSE; - } - - File = CreateFile(filename, - GENERIC_READ | FILE_FLAG_OVERLAPPED, - FILE_SHARE_READ, - NULL,OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, - NULL); - - if(File == INVALID_HANDLE_VALUE) - { - MessageBox(hwnd,"Error opening the file","Error",MB_OK); - return FALSE; - } - +{ execute = FALSE; - - mask = FileSize = GetFileSize(File, NULL) - 1; - mask |= (mask >>1); - mask |= (mask >>2); - mask |= (mask >>4); - mask |= (mask >>8); - mask |= (mask >>16); - if ((ROM = (u8 *)malloc((mask+1)*sizeof(u8))) == NULL) - { - CloseHandle(File); - return FALSE; - } + if (NDS_LoadROM(filename) > 0) + return TRUE; - ReadFile(File, ROM, FileSize, &nblu, NULL); - NDS_loadROM(ROM, mask); - CloseHandle(File); - return TRUE; + return FALSE; } int WriteBMP(const char *filename,u16 *bmp){ @@ -283,7 +237,7 @@ LogStart(); #endif - NDSInit(); + NDS_Init(); //ARM7 BIOS IRQ HANDLER MMU_writeWord(1, 0x00, 0xE25EF002); @@ -317,8 +271,18 @@ CreateThread(NULL, 0, run, NULL, 0, &threadID); - if(LoadROM(lpszArgument)) execute = TRUE; - + if(LoadROM(lpszArgument)) + { + EnableMenuItem(menu, IDM_EXEC, MF_GRAYED); + EnableMenuItem(menu, IDM_PAUSE, MF_ENABLED); + execute = TRUE; + } + else + { + EnableMenuItem(menu, IDM_EXEC, MF_ENABLED); + EnableMenuItem(menu, IDM_PAUSE, MF_GRAYED); + } + while (GetMessage (&messages, NULL, 0, 0)) { // Translate virtual-key messages into character messages @@ -356,7 +320,12 @@ char filename[MAX_PATH] = ""; DragQueryFile((HDROP)wParam,0,filename,MAX_PATH); DragFinish((HDROP)wParam); - if(LoadROM(filename)) execute = TRUE; + if(LoadROM(filename)) + { + EnableMenuItem(menu, IDM_EXEC, MF_GRAYED); + EnableMenuItem(menu, IDM_PAUSE, MF_ENABLED); + execute = TRUE; + } } return 0; case WM_KEYDOWN: @@ -534,20 +503,28 @@ } LOG("%s\r\n", filename); - + +/* // This should be moved to NDSSystem.c + // Added for FAT generation // Mic if (ofn.nFileOffset>0) { strncpy(szRomPath,filename,ofn.nFileOffset-1); cflash_close(); cflash_init(); - } + } strcpy(SavName,filename); romnum+=1; +*/ - if(LoadROM(filename)) execute = FALSE; + if(LoadROM(filename)) + { + EnableMenuItem(menu, IDM_EXEC, MF_GRAYED); + EnableMenuItem(menu, IDM_PAUSE, MF_ENABLED); + execute = TRUE; + } } return 0; case IDM_PRINTSCREEN: @@ -803,12 +780,17 @@ } return 0; case IDM_EXEC: + EnableMenuItem(menu, IDM_EXEC, MF_GRAYED); + EnableMenuItem(menu, IDM_PAUSE, MF_ENABLED); execute = TRUE; return 0; case IDM_PAUSE: + EnableMenuItem(menu, IDM_EXEC, MF_ENABLED); + EnableMenuItem(menu, IDM_PAUSE, MF_GRAYED); execute = FALSE; return 0; case IDM_RESET: + NDS_Reset(); return 0; case IDM_CONFIG: { @@ -825,7 +807,7 @@ return DefWindowProc (hwnd, message, wParam, lParam); } - NDSDeInit(); + NDS_DeInit(); return 0; } |