Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RE: Fantastic Pinball Kyuutenkai - Black screen after selecting Memory Card #3

Open
negativeExponent opened this issue Jun 1, 2021 · 1 comment

Comments

@negativeExponent
Copy link

Originally posted here: libretro/pcsx_rearmed#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.

@negativeExponent
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant