int GetCdromFile(u8 *mdir, u8 *time, char *filename) {
struct iso_directory_record *dir;
+ int retval = -1;
u8 ddir[4096];
u8 *buf;
int i;
if (dir->length[0] == 0) {
return -1;
}
- i += dir->length[0];
+ i += (u8)dir->length[0];
if (dir->flags[0] & 0x2) { // it's a dir
if (!strnicmp((char *)&dir->name[0], filename, dir->name_len[0])) {
} else {
if (!strnicmp((char *)&dir->name[0], filename, strlen(filename))) {
mmssdd(dir->extent, (char *)time);
+ retval = 0;
break;
}
}
}
- return 0;
+ return retval;
}
static const unsigned int gpu_ctl_def[] = {
// spu
spufP = (SPUFreeze_t *) malloc(16);
- SPU_freeze(2, spufP);
+ SPU_freeze(2, spufP, psxRegs.cycle);
Size = spufP->Size; SaveFuncs.write(f, &Size, 4);
free(spufP);
spufP = (SPUFreeze_t *) malloc(Size);
- SPU_freeze(1, spufP);
+ SPU_freeze(1, spufP, psxRegs.cycle);
SaveFuncs.write(f, spufP, Size);
free(spufP);
SaveFuncs.read(f, &Size, 4);
spufP = (SPUFreeze_t *)malloc(Size);
SaveFuncs.read(f, spufP, Size);
- SPU_freeze(0, spufP);
+ SPU_freeze(0, spufP, psxRegs.cycle);
free(spufP);
sioFreeze(f, 0);