Open negativeExponent opened 3 years ago
Originally posted here: https://github.com/libretro/pcsx_rearmed/issues/229 I have a feeling you would have better undestanding of whats going on here and how to apply the same on pcsx.
This was originally fixed on mednefen psx, and the relevant fix is this:
uint16 abs_lev_max = 0; bool abs_lev_chselect = SubQBuf_Safe[0x8] & 0x01; for(int i = 0; i < 588; i++) abs_lev_max = std::max<uint16>(abs_lev_max, std::min<int>(abs((int16)MDFN_de16lsb(&read_buf[i * 4 + (abs_lev_chselect * 2)])), 32767)); abs_lev_max |= abs_lev_chselect << 15; . . . tr[6] = abs_lev_max >> 0; tr[7] = abs_lev_max >> 8;
this section corresponds to the following section in pcsx: https://github.com/gameblabla/pcsx4all_rs97_rg350/blob/master/src/cdrom.c#L496-L516
if cdr.Result[7] = 0; is changed to any value other than 1, then the game works. But then im only guessing some value, not the correct ones.
btw, im testing on libretro pcsx, but since the code looks the same, i believe the behavior will also be the same for this game on pcsx4all_gameblahblah edition :D
Originally posted here: https://github.com/libretro/pcsx_rearmed/issues/229 I have a feeling you would have better undestanding of whats going on here and how to apply the same on pcsx.
This was originally fixed on mednefen psx, and the relevant fix is this:
this section corresponds to the following section in pcsx: https://github.com/gameblabla/pcsx4all_rs97_rg350/blob/master/src/cdrom.c#L496-L516
if cdr.Result[7] = 0; is changed to any value other than 1, then the game works. But then im only guessing some value, not the correct ones.