From: Sébastien G. <kx...@us...> - 2004-06-11 22:17:12
|
Update of /cvsroot/vba/VisualBoyAdvance/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15766 Modified Files: GBA.cpp Log Message: Fixed the CPU init for 256 Mbits roms. Index: GBA.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/GBA.cpp,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -d -r1.55 -r1.56 *** GBA.cpp 13 May 2004 15:06:43 -0000 1.55 --- GBA.cpp 11 Jun 2004 22:17:03 -0000 1.56 *************** *** 490,493 **** --- 490,494 ---- //int cpuLoopTicks = 0; int cpuSavedTicks = 0; + static int romSize = 0x2000000; #ifdef PROFILING *************** *** 1262,1267 **** int CPULoadRom(const char *szFile) { ! int size = 0x2000000; ! if(rom != NULL) { CPUCleanUp(); --- 1263,1267 ---- int CPULoadRom(const char *szFile) { ! romSize = 0x2000000; if(rom != NULL) { CPUCleanUp(); *************** *** 1298,1303 **** return 0; } ! bool res = elfRead(szFile, size, f); ! if(!res || size == 0) { free(rom); rom = NULL; --- 1298,1303 ---- return 0; } ! bool res = elfRead(szFile, romSize, f); ! if(!res || romSize == 0) { free(rom); rom = NULL; *************** *** 1310,1314 **** utilIsGBAImage, whereToLoad, ! size)) { free(rom); rom = NULL; --- 1310,1314 ---- utilIsGBAImage, whereToLoad, ! romSize)) { free(rom); rom = NULL; *************** *** 1318,1324 **** } ! u16 *temp = (u16 *)(rom+((size+1)&~1)); int i; ! for(i = (size+1)&~1; i < 0x2000000; i+=2) { WRITE16LE(temp, (i >> 1) & 0xFFFF); temp++; --- 1318,1324 ---- } ! u16 *temp = (u16 *)(rom+((romSize+1)&~1)); int i; ! for(i = (romSize+1)&~1; i < 0x2000000; i+=2) { WRITE16LE(temp, (i >> 1) & 0xFFFF); temp++; *************** *** 1377,1381 **** CPUUpdateRenderBuffers(true); ! return size; } --- 1377,1381 ---- CPUUpdateRenderBuffers(true); ! return romSize; } *************** *** 3009,3014 **** ioReadable[i] = false; ! *((u16 *)&rom[0x1fe209c]) = 0xdffa; // SWI 0xFA ! *((u16 *)&rom[0x1fe209e]) = 0x4770; // BX LR } --- 3009,3018 ---- ioReadable[i] = false; ! if(romSize < 0x1fe2000) { ! *((u16 *)&rom[0x1fe209c]) = 0xdffa; // SWI 0xFA ! *((u16 *)&rom[0x1fe209e]) = 0x4770; // BX LR ! } else { ! agbPrintEnable(false); ! } } |