Fix some compiler warnings
This commit is contained in:
parent
cc36f55b8c
commit
2ff065e5ea
|
@ -60,7 +60,9 @@ bool ARCodeFile::Load()
|
||||||
char linebuf[1024];
|
char linebuf[1024];
|
||||||
while (!feof(f))
|
while (!feof(f))
|
||||||
{
|
{
|
||||||
fgets(linebuf, 1024, f);
|
if (fgets(linebuf, 1024, f) == NULL)
|
||||||
|
printf("Error reading string from file!");
|
||||||
|
|
||||||
linebuf[1023] = '\0';
|
linebuf[1023] = '\0';
|
||||||
|
|
||||||
char* start = linebuf;
|
char* start = linebuf;
|
||||||
|
|
|
@ -262,7 +262,7 @@ template <bool Write, int ConsoleType>
|
||||||
void SlowBlockTransfer9(u32 addr, u64* data, u32 num, ARMv5* cpu)
|
void SlowBlockTransfer9(u32 addr, u64* data, u32 num, ARMv5* cpu)
|
||||||
{
|
{
|
||||||
addr &= ~0x3;
|
addr &= ~0x3;
|
||||||
for (int i = 0; i < num; i++)
|
for (u32 i = 0; i < num; i++)
|
||||||
{
|
{
|
||||||
if (Write)
|
if (Write)
|
||||||
SlowWrite9<u32, ConsoleType>(addr, cpu, data[i]);
|
SlowWrite9<u32, ConsoleType>(addr, cpu, data[i]);
|
||||||
|
@ -276,7 +276,7 @@ template <bool Write, int ConsoleType>
|
||||||
void SlowBlockTransfer7(u32 addr, u64* data, u32 num)
|
void SlowBlockTransfer7(u32 addr, u64* data, u32 num)
|
||||||
{
|
{
|
||||||
addr &= ~0x3;
|
addr &= ~0x3;
|
||||||
for (int i = 0; i < num; i++)
|
for (u32 i = 0; i < num; i++)
|
||||||
{
|
{
|
||||||
if (Write)
|
if (Write)
|
||||||
SlowWrite7<u32, ConsoleType>(addr, data[i]);
|
SlowWrite7<u32, ConsoleType>(addr, data[i]);
|
||||||
|
@ -667,7 +667,7 @@ void CompileBlock(ARM* cpu)
|
||||||
if (i == 0 || translatedAddrRounded != addressRanges[numAddressRanges - 1])
|
if (i == 0 || translatedAddrRounded != addressRanges[numAddressRanges - 1])
|
||||||
{
|
{
|
||||||
bool returning = false;
|
bool returning = false;
|
||||||
for (int j = 0; j < numAddressRanges; j++)
|
for (u32 j = 0; j < numAddressRanges; j++)
|
||||||
{
|
{
|
||||||
if (addressRanges[j] == translatedAddrRounded)
|
if (addressRanges[j] == translatedAddrRounded)
|
||||||
{
|
{
|
||||||
|
@ -874,7 +874,7 @@ void CompileBlock(ARM* cpu)
|
||||||
|
|
||||||
if (mayRestore && prevBlock->NumAddresses == numAddressRanges)
|
if (mayRestore && prevBlock->NumAddresses == numAddressRanges)
|
||||||
{
|
{
|
||||||
for (int j = 0; j < numAddressRanges; j++)
|
for (u32 j = 0; j < numAddressRanges; j++)
|
||||||
{
|
{
|
||||||
if (prevBlock->AddressRanges()[j] != addressRanges[j]
|
if (prevBlock->AddressRanges()[j] != addressRanges[j]
|
||||||
|| prevBlock->AddressMasks()[j] != addressMasks[j])
|
|| prevBlock->AddressMasks()[j] != addressMasks[j])
|
||||||
|
@ -901,9 +901,9 @@ void CompileBlock(ARM* cpu)
|
||||||
block = new JitBlock(cpu->Num, i, numAddressRanges, numLiterals);
|
block = new JitBlock(cpu->Num, i, numAddressRanges, numLiterals);
|
||||||
block->LiteralHash = literalHash;
|
block->LiteralHash = literalHash;
|
||||||
block->InstrHash = instrHash;
|
block->InstrHash = instrHash;
|
||||||
for (int j = 0; j < numAddressRanges; j++)
|
for (u32 j = 0; j < numAddressRanges; j++)
|
||||||
block->AddressRanges()[j] = addressRanges[j];
|
block->AddressRanges()[j] = addressRanges[j];
|
||||||
for (int j = 0; j < numAddressRanges; j++)
|
for (u32 j = 0; j < numAddressRanges; j++)
|
||||||
block->AddressMasks()[j] = addressMasks[j];
|
block->AddressMasks()[j] = addressMasks[j];
|
||||||
for (int j = 0; j < numLiterals; j++)
|
for (int j = 0; j < numLiterals; j++)
|
||||||
block->Literals()[j] = literalLoadAddrs[j];
|
block->Literals()[j] = literalLoadAddrs[j];
|
||||||
|
@ -929,7 +929,7 @@ void CompileBlock(ARM* cpu)
|
||||||
}
|
}
|
||||||
|
|
||||||
assert((localAddr & 1) == 0);
|
assert((localAddr & 1) == 0);
|
||||||
for (int j = 0; j < numAddressRanges; j++)
|
for (u32 j = 0; j < numAddressRanges; j++)
|
||||||
{
|
{
|
||||||
assert(addressRanges[j] == block->AddressRanges()[j]);
|
assert(addressRanges[j] == block->AddressRanges()[j]);
|
||||||
assert(addressMasks[j] == block->AddressMasks()[j]);
|
assert(addressMasks[j] == block->AddressMasks()[j]);
|
||||||
|
|
|
@ -839,7 +839,7 @@ void Reset()
|
||||||
Mappings[region].Clear();
|
Mappings[region].Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < sizeof(MappingStatus9); i++)
|
for (size_t i = 0; i < sizeof(MappingStatus9); i++)
|
||||||
{
|
{
|
||||||
assert(MappingStatus9[i] == memstate_Unmapped);
|
assert(MappingStatus9[i] == memstate_Unmapped);
|
||||||
assert(MappingStatus7[i] == memstate_Unmapped);
|
assert(MappingStatus7[i] == memstate_Unmapped);
|
||||||
|
|
|
@ -119,7 +119,9 @@ void Load()
|
||||||
char entryval[1024];
|
char entryval[1024];
|
||||||
while (!feof(f))
|
while (!feof(f))
|
||||||
{
|
{
|
||||||
fgets(linebuf, 1024, f);
|
if (fgets(linebuf, 1024, f) == NULL)
|
||||||
|
printf("Error reading string from file!");
|
||||||
|
|
||||||
int ret = sscanf(linebuf, "%31[A-Za-z_0-9]=%[^\t\r\n]", entryname, entryval);
|
int ret = sscanf(linebuf, "%31[A-Za-z_0-9]=%[^\t\r\n]", entryname, entryval);
|
||||||
entryname[31] = '\0';
|
entryname[31] = '\0';
|
||||||
if (ret < 2) continue;
|
if (ret < 2) continue;
|
||||||
|
|
|
@ -98,7 +98,7 @@ void Write(u8 val, bool last)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurPos == -1)
|
if (CurPos == 0xFFFFFFFF)
|
||||||
{
|
{
|
||||||
CurPos = val;
|
CurPos = val;
|
||||||
//printf("BPTWL: reg=%02X\n", val);
|
//printf("BPTWL: reg=%02X\n", val);
|
||||||
|
|
|
@ -747,7 +747,7 @@ void DSi_NWifi::BMI_Command()
|
||||||
u32 len = MB_Read32(0);
|
u32 len = MB_Read32(0);
|
||||||
printf("BMI mem write %08X %08X\n", addr, len);
|
printf("BMI mem write %08X %08X\n", addr, len);
|
||||||
|
|
||||||
for (int i = 0; i < len; i++)
|
for (u32 i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
u8 val = Mailbox[0].Read();
|
u8 val = Mailbox[0].Read();
|
||||||
|
|
||||||
|
@ -801,7 +801,7 @@ void DSi_NWifi::BMI_Command()
|
||||||
printf("BMI LZ write %08X\n", len);
|
printf("BMI LZ write %08X\n", len);
|
||||||
//FILE* f = fopen("debug/wififirm.bin", "ab");
|
//FILE* f = fopen("debug/wififirm.bin", "ab");
|
||||||
|
|
||||||
for (int i = 0; i < len; i++)
|
for (u32 i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
u8 val = Mailbox[0].Read();
|
u8 val = Mailbox[0].Read();
|
||||||
|
|
||||||
|
@ -1306,7 +1306,7 @@ void DSi_NWifi::SendWMIEvent(u8 ep, u16 id, u8* data, u32 len)
|
||||||
Mailbox[8].Write(0); //
|
Mailbox[8].Write(0); //
|
||||||
MB_Write16(8, id); // event ID
|
MB_Write16(8, id); // event ID
|
||||||
|
|
||||||
for (int i = 0; i < len; i++)
|
for (u32 i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
Mailbox[8].Write(data[i]);
|
Mailbox[8].Write(data[i]);
|
||||||
}
|
}
|
||||||
|
@ -1383,7 +1383,7 @@ void DSi_NWifi::SendWMIBSSInfo(u8 type, u8* data, u32 len)
|
||||||
MB_Write16(8, *(u16*)&WifiAP::APMac[4]);
|
MB_Write16(8, *(u16*)&WifiAP::APMac[4]);
|
||||||
MB_Write32(8, 0); // ieMask
|
MB_Write32(8, 0); // ieMask
|
||||||
|
|
||||||
for (int i = 0; i < len; i++)
|
for (u32 i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
Mailbox[8].Write(data[i]);
|
Mailbox[8].Write(data[i]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -198,11 +198,11 @@ void CartGame::LoadSave(const char* path, u32 type)
|
||||||
case 128*1024:
|
case 128*1024:
|
||||||
SRAMType = S_FLASH1M;
|
SRAMType = S_FLASH1M;
|
||||||
break;
|
break;
|
||||||
default:
|
|
||||||
printf("!! BAD GBA SAVE LENGTH %d\n", SRAMLength);
|
|
||||||
case 0:
|
case 0:
|
||||||
SRAMType = S_NULL;
|
SRAMType = S_NULL;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
printf("!! BAD GBA SAVE LENGTH %d\n", SRAMLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SRAMType == S_FLASH512K)
|
if (SRAMType == S_FLASH512K)
|
||||||
|
@ -309,6 +309,8 @@ u8 CartGame::SRAMRead(u32 addr)
|
||||||
|
|
||||||
case S_SRAM256K:
|
case S_SRAM256K:
|
||||||
return SRAMRead_SRAM(addr);
|
return SRAMRead_SRAM(addr);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0xFF;
|
return 0xFF;
|
||||||
|
@ -330,6 +332,8 @@ void CartGame::SRAMWrite(u32 addr, u8 val)
|
||||||
|
|
||||||
case S_SRAM256K:
|
case S_SRAM256K:
|
||||||
return SRAMWrite_SRAM(addr, val);
|
return SRAMWrite_SRAM(addr, val);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -704,7 +708,7 @@ void LoadROMCommon(const char *sram)
|
||||||
printf("GBA game code: %s\n", gamecode);
|
printf("GBA game code: %s\n", gamecode);
|
||||||
|
|
||||||
bool solarsensor = false;
|
bool solarsensor = false;
|
||||||
for (int i = 0; i < sizeof(SOLAR_SENSOR_GAMECODES)/sizeof(SOLAR_SENSOR_GAMECODES[0]); i++)
|
for (size_t i = 0; i < sizeof(SOLAR_SENSOR_GAMECODES)/sizeof(SOLAR_SENSOR_GAMECODES[0]); i++)
|
||||||
{
|
{
|
||||||
if (strcmp(gamecode, SOLAR_SENSOR_GAMECODES[i]) == 0)
|
if (strcmp(gamecode, SOLAR_SENSOR_GAMECODES[i]) == 0)
|
||||||
solarsensor = true;
|
solarsensor = true;
|
||||||
|
|
|
@ -251,12 +251,12 @@ void Reset()
|
||||||
else
|
else
|
||||||
fbsize = 256 * 192;
|
fbsize = 256 * 192;
|
||||||
|
|
||||||
for (int i = 0; i < fbsize; i++)
|
for (size_t i = 0; i < fbsize; i++)
|
||||||
{
|
{
|
||||||
Framebuffer[0][0][i] = 0xFFFFFFFF;
|
Framebuffer[0][0][i] = 0xFFFFFFFF;
|
||||||
Framebuffer[1][0][i] = 0xFFFFFFFF;
|
Framebuffer[1][0][i] = 0xFFFFFFFF;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < fbsize; i++)
|
for (size_t i = 0; i < fbsize; i++)
|
||||||
{
|
{
|
||||||
Framebuffer[0][1][i] = 0xFFFFFFFF;
|
Framebuffer[0][1][i] = 0xFFFFFFFF;
|
||||||
Framebuffer[1][1][i] = 0xFFFFFFFF;
|
Framebuffer[1][1][i] = 0xFFFFFFFF;
|
||||||
|
@ -1067,7 +1067,7 @@ void StartScanline(u32 line)
|
||||||
{
|
{
|
||||||
if (line == 0)
|
if (line == 0)
|
||||||
VCount = 0;
|
VCount = 0;
|
||||||
else if (NextVCount != -1)
|
else if (NextVCount != 0xFFFFFFFF)
|
||||||
VCount = NextVCount;
|
VCount = NextVCount;
|
||||||
else
|
else
|
||||||
VCount++;
|
VCount++;
|
||||||
|
|
|
@ -93,7 +93,7 @@ struct VRAMTrackingSet
|
||||||
|
|
||||||
void Reset()
|
void Reset()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < Size / MappingGranularity; i++)
|
for (u32 i = 0; i < Size / MappingGranularity; i++)
|
||||||
{
|
{
|
||||||
// this is not a real VRAM bank
|
// this is not a real VRAM bank
|
||||||
// so it will always be a mismatch => the bank will be completely invalidated
|
// so it will always be a mismatch => the bank will be completely invalidated
|
||||||
|
|
|
@ -486,7 +486,7 @@ void DoSavestate(Savestate* file)
|
||||||
{
|
{
|
||||||
u32 id;
|
u32 id;
|
||||||
file->Var32(&id);
|
file->Var32(&id);
|
||||||
if (id == -1) LastStripPolygon = NULL;
|
if (id == 0xFFFFFFFF) LastStripPolygon = NULL;
|
||||||
else LastStripPolygon = &PolygonRAM[id];
|
else LastStripPolygon = &PolygonRAM[id];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -535,7 +535,7 @@ void DoSavestate(Savestate* file)
|
||||||
{
|
{
|
||||||
u32 id = -1;
|
u32 id = -1;
|
||||||
file->Var32(&id);
|
file->Var32(&id);
|
||||||
if (id == -1) poly->Vertices[j] = NULL;
|
if (id == 0xFFFFFFFF) poly->Vertices[j] = NULL;
|
||||||
else poly->Vertices[j] = &VertexRAM[id];
|
else poly->Vertices[j] = &VertexRAM[id];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -574,7 +574,7 @@ void DoSavestate(Savestate* file)
|
||||||
{
|
{
|
||||||
poly->Degenerate = false;
|
poly->Degenerate = false;
|
||||||
|
|
||||||
for (int j = 0; j < poly->NumVertices; j++)
|
for (u32 j = 0; j < poly->NumVertices; j++)
|
||||||
{
|
{
|
||||||
if (poly->Vertices[j]->Position[3] == 0)
|
if (poly->Vertices[j]->Position[3] == 0)
|
||||||
poly->Degenerate = true;
|
poly->Degenerate = true;
|
||||||
|
|
|
@ -508,7 +508,7 @@ void GLRenderer::BuildPolygons(GLRenderer::RendererPolygon* polygons, int npolys
|
||||||
|
|
||||||
u32 lastx, lasty;
|
u32 lastx, lasty;
|
||||||
int nout = 0;
|
int nout = 0;
|
||||||
for (int j = 0; j < poly->NumVertices; j++)
|
for (u32 j = 0; j < poly->NumVertices; j++)
|
||||||
{
|
{
|
||||||
Vertex* vtx = poly->Vertices[j];
|
Vertex* vtx = poly->Vertices[j];
|
||||||
|
|
||||||
|
@ -557,7 +557,7 @@ void GLRenderer::BuildPolygons(GLRenderer::RendererPolygon* polygons, int npolys
|
||||||
{
|
{
|
||||||
// regular triangle-splitting
|
// regular triangle-splitting
|
||||||
|
|
||||||
for (int j = 0; j < poly->NumVertices; j++)
|
for (u32 j = 0; j < poly->NumVertices; j++)
|
||||||
{
|
{
|
||||||
Vertex* vtx = poly->Vertices[j];
|
Vertex* vtx = poly->Vertices[j];
|
||||||
|
|
||||||
|
@ -588,7 +588,7 @@ void GLRenderer::BuildPolygons(GLRenderer::RendererPolygon* polygons, int npolys
|
||||||
float cR = 0, cG = 0, cB = 0;
|
float cR = 0, cG = 0, cB = 0;
|
||||||
float cS = 0, cT = 0;
|
float cS = 0, cT = 0;
|
||||||
|
|
||||||
for (int j = 0; j < poly->NumVertices; j++)
|
for (u32 j = 0; j < poly->NumVertices; j++)
|
||||||
{
|
{
|
||||||
Vertex* vtx = poly->Vertices[j];
|
Vertex* vtx = poly->Vertices[j];
|
||||||
|
|
||||||
|
@ -651,7 +651,7 @@ void GLRenderer::BuildPolygons(GLRenderer::RendererPolygon* polygons, int npolys
|
||||||
vidx++;
|
vidx++;
|
||||||
|
|
||||||
// build the final polygon
|
// build the final polygon
|
||||||
for (int j = 0; j < poly->NumVertices; j++)
|
for (u32 j = 0; j < poly->NumVertices; j++)
|
||||||
{
|
{
|
||||||
Vertex* vtx = poly->Vertices[j];
|
Vertex* vtx = poly->Vertices[j];
|
||||||
|
|
||||||
|
@ -680,7 +680,7 @@ void GLRenderer::BuildPolygons(GLRenderer::RendererPolygon* polygons, int npolys
|
||||||
rp->NumEdgeIndices = 0;
|
rp->NumEdgeIndices = 0;
|
||||||
|
|
||||||
u32 vidx_cur = vidx_first;
|
u32 vidx_cur = vidx_first;
|
||||||
for (int j = 1; j < poly->NumVertices; j++)
|
for (u32 j = 1; j < poly->NumVertices; j++)
|
||||||
{
|
{
|
||||||
IndexBuffer[eidx++] = vidx_cur;
|
IndexBuffer[eidx++] = vidx_cur;
|
||||||
IndexBuffer[eidx++] = vidx_cur + 1;
|
IndexBuffer[eidx++] = vidx_cur + 1;
|
||||||
|
@ -1259,7 +1259,7 @@ void GLRenderer::RenderFrame()
|
||||||
|
|
||||||
int npolys = 0;
|
int npolys = 0;
|
||||||
int firsttrans = -1;
|
int firsttrans = -1;
|
||||||
for (int i = 0; i < RenderNumPolygons; i++)
|
for (u32 i = 0; i < RenderNumPolygons; i++)
|
||||||
{
|
{
|
||||||
if (RenderPolygonRAM[i]->Degenerate) continue;
|
if (RenderPolygonRAM[i]->Degenerate) continue;
|
||||||
|
|
||||||
|
|
24
src/NDS.cpp
24
src/NDS.cpp
|
@ -655,7 +655,7 @@ bool DoSavestate_Scheduler(Savestate* file)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (funcid == -1)
|
if (funcid == 0xFFFFFFFF)
|
||||||
{
|
{
|
||||||
printf("savestate: VERY BAD!!!!! FUNCTION POINTER FOR EVENT %d NOT IN HACKY LIST. CANNOT SAVE. SMACK ARISOTURA.\n", i);
|
printf("savestate: VERY BAD!!!!! FUNCTION POINTER FOR EVENT %d NOT IN HACKY LIST. CANNOT SAVE. SMACK ARISOTURA.\n", i);
|
||||||
return false;
|
return false;
|
||||||
|
@ -676,7 +676,7 @@ bool DoSavestate_Scheduler(Savestate* file)
|
||||||
u32 funcid;
|
u32 funcid;
|
||||||
file->Var32(&funcid);
|
file->Var32(&funcid);
|
||||||
|
|
||||||
if (funcid != -1)
|
if (funcid != 0xFFFFFFFF)
|
||||||
{
|
{
|
||||||
for (int j = 0; ; j++)
|
for (int j = 0; ; j++)
|
||||||
{
|
{
|
||||||
|
@ -1470,11 +1470,11 @@ void NocashPrint(u32 ncpu, u32 addr)
|
||||||
else if (!strcmp(cmd, "pc")) sprintf(subs, "%08X", cpu->R[15]);
|
else if (!strcmp(cmd, "pc")) sprintf(subs, "%08X", cpu->R[15]);
|
||||||
else if (!strcmp(cmd, "frame")) sprintf(subs, "%u", NumFrames);
|
else if (!strcmp(cmd, "frame")) sprintf(subs, "%u", NumFrames);
|
||||||
else if (!strcmp(cmd, "scanline")) sprintf(subs, "%u", GPU::VCount);
|
else if (!strcmp(cmd, "scanline")) sprintf(subs, "%u", GPU::VCount);
|
||||||
else if (!strcmp(cmd, "totalclks")) sprintf(subs, "%lu", GetSysClockCycles(0));
|
else if (!strcmp(cmd, "totalclks")) sprintf(subs, "%" PRIu64, GetSysClockCycles(0));
|
||||||
else if (!strcmp(cmd, "lastclks")) sprintf(subs, "%lu", GetSysClockCycles(1));
|
else if (!strcmp(cmd, "lastclks")) sprintf(subs, "%" PRIu64, GetSysClockCycles(1));
|
||||||
else if (!strcmp(cmd, "zeroclks"))
|
else if (!strcmp(cmd, "zeroclks"))
|
||||||
{
|
{
|
||||||
sprintf(subs, "");
|
sprintf(subs, "%s", "");
|
||||||
GetSysClockCycles(1);
|
GetSysClockCycles(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3575,31 +3575,31 @@ u8 ARM7IORead8(u32 addr)
|
||||||
case 0x040001A8:
|
case 0x040001A8:
|
||||||
if (ExMemCnt[0] & (1<<11))
|
if (ExMemCnt[0] & (1<<11))
|
||||||
return NDSCart::ROMCommand[0];
|
return NDSCart::ROMCommand[0];
|
||||||
return 0;
|
return 0;
|
||||||
case 0x040001A9:
|
case 0x040001A9:
|
||||||
if (ExMemCnt[0] & (1<<11))
|
if (ExMemCnt[0] & (1<<11))
|
||||||
return NDSCart::ROMCommand[1];
|
return NDSCart::ROMCommand[1];
|
||||||
return 0;
|
return 0;
|
||||||
case 0x040001AA:
|
case 0x040001AA:
|
||||||
if (ExMemCnt[0] & (1<<11))
|
if (ExMemCnt[0] & (1<<11))
|
||||||
return NDSCart::ROMCommand[2];
|
return NDSCart::ROMCommand[2];
|
||||||
return 0;
|
return 0;
|
||||||
case 0x040001AB:
|
case 0x040001AB:
|
||||||
if (ExMemCnt[0] & (1<<11))
|
if (ExMemCnt[0] & (1<<11))
|
||||||
return NDSCart::ROMCommand[3];
|
return NDSCart::ROMCommand[3];
|
||||||
return 0;
|
return 0;
|
||||||
case 0x040001AC:
|
case 0x040001AC:
|
||||||
if (ExMemCnt[0] & (1<<11))
|
if (ExMemCnt[0] & (1<<11))
|
||||||
return NDSCart::ROMCommand[4];
|
return NDSCart::ROMCommand[4];
|
||||||
return 0;
|
return 0;
|
||||||
case 0x040001AD:
|
case 0x040001AD:
|
||||||
if (ExMemCnt[0] & (1<<11))
|
if (ExMemCnt[0] & (1<<11))
|
||||||
return NDSCart::ROMCommand[5];
|
return NDSCart::ROMCommand[5];
|
||||||
return 0;
|
return 0;
|
||||||
case 0x040001AE:
|
case 0x040001AE:
|
||||||
if (ExMemCnt[0] & (1<<11))
|
if (ExMemCnt[0] & (1<<11))
|
||||||
return NDSCart::ROMCommand[6];
|
return NDSCart::ROMCommand[6];
|
||||||
return 0;
|
return 0;
|
||||||
case 0x040001AF:
|
case 0x040001AF:
|
||||||
if (ExMemCnt[0] & (1<<11))
|
if (ExMemCnt[0] & (1<<11))
|
||||||
return NDSCart::ROMCommand[7];
|
return NDSCart::ROMCommand[7];
|
||||||
|
|
|
@ -108,7 +108,7 @@ public:
|
||||||
|
|
||||||
void Reset() override;
|
void Reset() override;
|
||||||
|
|
||||||
void DoSavestate(Savestate* file);
|
void DoSavestate(Savestate* file) override;
|
||||||
|
|
||||||
void LoadSave(const char* path, u32 type) override;
|
void LoadSave(const char* path, u32 type) override;
|
||||||
int ImportSRAM(const u8* data, u32 length) override;
|
int ImportSRAM(const u8* data, u32 length) override;
|
||||||
|
|
|
@ -166,7 +166,7 @@ struct NonStupidBitField
|
||||||
void SetRange(u32 startBit, u32 bitsCount)
|
void SetRange(u32 startBit, u32 bitsCount)
|
||||||
{
|
{
|
||||||
u32 startEntry = startBit >> 6;
|
u32 startEntry = startBit >> 6;
|
||||||
u64 entriesCount = ((startBit + bitsCount + 0x3F & ~0x3F) >> 6) - startEntry;
|
u64 entriesCount = (((startBit + bitsCount + 0x3F) & ~0x3F) >> 6) - startEntry;
|
||||||
|
|
||||||
if (entriesCount > 1)
|
if (entriesCount > 1)
|
||||||
{
|
{
|
||||||
|
@ -175,7 +175,7 @@ struct NonStupidBitField
|
||||||
Data[startEntry + entriesCount - 1] |= ~(0xFFFFFFFFFFFFFFFF << ((startBit + bitsCount) & 0x3F));
|
Data[startEntry + entriesCount - 1] |= ~(0xFFFFFFFFFFFFFFFF << ((startBit + bitsCount) & 0x3F));
|
||||||
else
|
else
|
||||||
Data[startEntry + entriesCount - 1] = 0xFFFFFFFFFFFFFFFF;
|
Data[startEntry + entriesCount - 1] = 0xFFFFFFFFFFFFFFFF;
|
||||||
for (int i = startEntry + 1; i < startEntry + entriesCount - 1; i++)
|
for (u64 i = startEntry + 1; i < startEntry + entriesCount - 1; i++)
|
||||||
Data[i] = 0xFFFFFFFFFFFFFFFF;
|
Data[i] = 0xFFFFFFFFFFFFFFFF;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -203,4 +203,4 @@ struct NonStupidBitField
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
13
src/SPU.h
13
src/SPU.h
|
@ -134,8 +134,17 @@ public:
|
||||||
case 1: return Run<1>(); break;
|
case 1: return Run<1>(); break;
|
||||||
case 2: return Run<2>(); break;
|
case 2: return Run<2>(); break;
|
||||||
case 3:
|
case 3:
|
||||||
if (Num >= 14) return Run<4>();
|
if (Num >= 14)
|
||||||
else if (Num >= 8) return Run<3>();
|
{
|
||||||
|
return Run<4>();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (Num >= 8)
|
||||||
|
{
|
||||||
|
return Run<3>();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
[[fallthrough]];
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,7 +134,7 @@ Savestate::~Savestate()
|
||||||
|
|
||||||
if (Saving)
|
if (Saving)
|
||||||
{
|
{
|
||||||
if (CurSection != -1)
|
if (CurSection != 0xFFFFFFFF)
|
||||||
{
|
{
|
||||||
u32 pos = (u32)ftell(file);
|
u32 pos = (u32)ftell(file);
|
||||||
fseek(file, CurSection+4, SEEK_SET);
|
fseek(file, CurSection+4, SEEK_SET);
|
||||||
|
@ -160,7 +160,7 @@ void Savestate::Section(const char* magic)
|
||||||
|
|
||||||
if (Saving)
|
if (Saving)
|
||||||
{
|
{
|
||||||
if (CurSection != -1)
|
if (CurSection != 0xFFFFFFFF)
|
||||||
{
|
{
|
||||||
u32 pos = (u32)ftell(file);
|
u32 pos = (u32)ftell(file);
|
||||||
fseek(file, CurSection+4, SEEK_SET);
|
fseek(file, CurSection+4, SEEK_SET);
|
||||||
|
|
|
@ -1085,7 +1085,7 @@ void USTimer(u32 param)
|
||||||
printf("wifi: RX buffer full\n");
|
printf("wifi: RX buffer full\n");
|
||||||
RXTime = 0;
|
RXTime = 0;
|
||||||
SetStatus(1);
|
SetStatus(1);
|
||||||
if (TXCurSlot == -1)
|
if (TXCurSlot == 0xFFFFFFFF)
|
||||||
{
|
{
|
||||||
ComStatus &= ~0x1;
|
ComStatus &= ~0x1;
|
||||||
RXCounter = 0;
|
RXCounter = 0;
|
||||||
|
|
Loading…
Reference in New Issue