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

Make X24C02 only enter read/write state if I2C address matches; fixes #731 #732

Merged
merged 1 commit into from
Jun 9, 2024

Conversation

awjackson
Copy link
Contributor

I2C devices like the X24C02 EEPROM have a 7-bit device address that allows multiple devices to share an I2C bus. FCEUX's EEPROM emulation was completely ignoring the address, and unconditionally activating itself after any old 7 bits were written. This was causing SD Gundam Gaiden 2 to fail to communicate with the EEPROM properly.

This patch makes the EEPROM validate the upper 4 bits of the I2C address, which is good enough for SD Gundam Gaiden 2. I've verified that the patch doesn't break any of the other games with an X24C02.

Fixes #731

@negativeExponent
Copy link
Contributor

despite lack of ability to read japanese fix seems to work here as far as saving to. doen't seem to affect mapper 157 in any way.

@vadosnaprimer vadosnaprimer requested a review from g0me3 May 8, 2024 10:34
@thor2016 thor2016 merged commit f980ec2 into TASEmulators:master Jun 9, 2024
1 check passed
@awjackson awjackson deleted the fix_731 branch June 12, 2024 04:24
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.

SD Gundam Gaiden 2 EEPROM issues
3 participants