Skip to content

Conversation

@loganmc10
Copy link
Member

@loganmc10 loganmc10 commented Feb 17, 2020

Fixes #609

@jago85 did some investigation on how cart ROM writes are handled a while ago (#511 (comment))

The basic gist I got from that is that our current "rom_written" code should only happen if the game tries to read back the value when PI_STATUS_IO_BUSY is set, otherwise it should just read the regular value.

It does seem to work that way, this change fixes WCW Backstage Assault, and other games that depend on this code (A Bug's Life, Toy Story 2) still work.

A big thanks to @jago85, there is no way we would have figured this out without those actual hardware tests.

@loganmc10
Copy link
Member Author

I'm not sure why AppVeyor isn't happy, but it doesn't seem related to this change. I've tested all the games that I know of that attempt to write to the cartridge ROM, I haven't found any regressions

@Jj0YzL5nvJ
Copy link
Contributor

Yeah, AppVeyor has been having very weird issues lately.
All configurations are being compiled properly on my machine.

@Jj0YzL5nvJ Jj0YzL5nvJ mentioned this pull request Feb 26, 2020
@loganmc10
Copy link
Member Author

Hi all, any thoughts on this?

@Jj0YzL5nvJ
Copy link
Contributor

See #729

@loganmc10
Copy link
Member Author

Sorry I meant specifically related to this PR, I trust the AppVeyor issues will get sorted out

@bsmiles32 bsmiles32 merged commit 75c14e6 into mupen64plus:master Mar 23, 2020
@bsmiles32
Copy link
Member

Also tested said games and found no obvious regression.
I still think with some refactoring, we could move this IO_BUSY logic inside the PI instead of spreading it in cart/cart_rom. It would also probably best reflect how the hardware works. But for now it is better than what we have and fixes real issues. So merging this work.

Thanks to all involved especially to @jago85 for the hardware investigation.

@loganmc10 loganmc10 deleted the cart_write branch June 20, 2021 20:45
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

Successfully merging this pull request may close these issues.

WCW Backstage Assault locks up

3 participants