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);
! }
}
|